.tc-event-gallery,.tc-gallery-lightbox{--gallery-accent:var(--events-accent,var(--primary));--gallery-rim:color-mix(in srgb, var(--foreground) 17%, transparent);--gallery-glass:color-mix(in srgb, var(--card) 88%, transparent);min-width:0;color:var(--foreground);font-family:var(--font-body)}.tc-gallery-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin-bottom:22px;display:flex}.tc-gallery-heading h2{font-family:var(--font-editorial);margin:0;font-size:clamp(25px,2.2vw,32px);font-weight:400;line-height:1.2}.tc-gallery-heading h2>span{color:var(--muted-foreground);font-family:var(--font-body);margin-left:12px;font-size:13px;line-height:1.5;display:inline-block}.tc-gallery-main{min-width:0;position:relative}.tc-gallery-open-image{width:100%;color:var(--foreground);font:inherit;text-align:left;cursor:zoom-in;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:16px;padding:0;display:block;position:relative}.tc-gallery-stage{isolation:isolate;aspect-ratio:1200/690;border:1px solid var(--gallery-rim);background:color-mix(in srgb, var(--card) 76%, var(--background));border-radius:16px;width:100%;position:relative;overflow:hidden}.tc-event-gallery.tc-event-gallery .tc-gallery-image,.tc-gallery-lightbox .tc-gallery-image{background:color-mix(in srgb, var(--card) 76%, var(--background));object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;border:0;border-radius:0;width:100%;max-width:none;height:100%;margin:0;display:block;position:absolute;inset:0}.tc-gallery-lightbox .tc-gallery-image{object-fit:contain}.tc-gallery-image.tc-gallery-incoming{z-index:1}.tc-gallery-nav,.tc-gallery-close,.tc-gallery-expand{border:1px solid var(--gallery-rim);background:linear-gradient(145deg, color-mix(in srgb, var(--foreground) 6%, transparent), transparent 65%), var(--gallery-glass);width:42px;height:42px;color:var(--foreground);font-family:var(--font-body);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--foreground) 8%, transparent), 0 3px 16px #0000001f;-webkit-backdrop-filter:blur(20px)saturate(.85);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:500;line-height:1;transition:background-color .28s,border-color .28s,color .28s,box-shadow .28s;display:inline-flex}.tc-gallery-nav,.tc-gallery-close{cursor:pointer;-webkit-tap-highlight-color:transparent}.tc-gallery-nav{z-index:4;color:#f5f8fa;-webkit-backdrop-filter:blur(24px)saturate(.75);background:linear-gradient(145deg,#e4eef929,#d8e7f509 65%),#10141675;border-color:#ebf4fb4d;position:absolute;top:50%;transform:translateY(-50%);box-shadow:inset 0 1px 1px #f4f9ff52,inset 0 -1px 1px #e6f1f91a,0 4px 18px #0000002e}.tc-gallery-nav.is-previous{left:16px}.tc-gallery-nav.is-next{right:16px}.tc-gallery-expand{z-index:4;pointer-events:none;border-radius:999px;width:auto;min-width:38px;height:38px;padding-inline:12px;position:absolute;bottom:16px;right:16px}.tc-gallery-nav svg,.tc-gallery-close svg{width:19px;height:19px}.tc-gallery-expand svg{width:16px;height:16px}.tc-gallery-nav:hover,.tc-gallery-close:hover,.tc-gallery-open-image:hover .tc-gallery-expand{border-color:color-mix(in srgb, var(--gallery-accent) 65%, transparent);color:var(--gallery-accent);background-color:color-mix(in srgb, var(--gallery-accent) 10%, var(--card))}.tc-gallery-nav:hover{color:#f5f8fa;background-color:#101416a3;box-shadow:inset 0 1px 1px #f4f9ff61,inset 0 -1px 1px #e6f1f91f,0 4px 20px #00000038}.tc-gallery-open-image:focus-visible,.tc-gallery-nav:focus-visible,.tc-gallery-close:focus-visible,.tc-gallery-thumb:focus-visible{outline:1px solid var(--gallery-accent);outline-offset:3px}.tc-gallery-nav:disabled,.tc-gallery-close:disabled{opacity:.45;cursor:default}.tc-gallery-footer{justify-content:space-between;align-items:center;gap:16px 24px;min-width:0;margin-top:16px;display:flex}.tc-gallery-position{color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex:none;margin:0;font-size:12px;font-weight:500;line-height:1.5}.tc-event-gallery .tc-gallery-position,.tc-gallery-lightbox .tc-gallery-position{margin:0;margin-inline-start:auto}.tc-gallery-thumbnails{overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:10px;min-width:0;max-width:100%;padding:4px;display:flex;overflow-x:auto}.tc-gallery-thumbnails::-webkit-scrollbar{display:none}.tc-gallery-thumb{border:1px solid var(--gallery-rim);background:var(--card);width:80px;height:56px;color:var(--foreground);font:inherit;cursor:pointer;opacity:.62;-webkit-tap-highlight-color:transparent;border-radius:8px;flex:0 0 80px;padding:0;transition:opacity .28s,border-color .28s,box-shadow .28s;display:block;position:relative;overflow:hidden}.tc-event-gallery.tc-event-gallery .tc-gallery-thumb img,.tc-gallery-lightbox .tc-gallery-thumb img{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;margin:0;display:block}.tc-gallery-thumb:hover{opacity:.9;border-color:color-mix(in srgb, var(--foreground) 42%, transparent)}.tc-gallery-thumb[data-active=true]{opacity:1;border-color:var(--gallery-accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--gallery-accent) 28%, transparent), 0 2px 10px color-mix(in srgb, var(--gallery-accent) 10%, transparent)}.tc-gallery-error{color:var(--muted-foreground);margin:12px 0 0;font-size:13px;line-height:1.5}.tc-gallery-overlay{z-index:100;background:color-mix(in srgb, var(--background) 88%, transparent);-webkit-backdrop-filter:blur(24px)saturate(.7);position:fixed;inset:0}.tc-gallery-lightbox{z-index:101;background:0 0;border:0;outline:none;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;width:min(1200px,100vw - 48px);max-height:calc(100dvh - 48px);padding:0;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.tc-gallery-toolbar{justify-content:space-between;align-items:center;gap:24px;min-width:0;display:flex}.tc-gallery-title{font-family:var(--font-body);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:500;line-height:1.5;overflow:hidden}.tc-gallery-lightbox .tc-gallery-main{min-height:0}.tc-gallery-lightbox .tc-gallery-stage{aspect-ratio:auto;height:min(68dvh,780px);max-height:100%}.tc-gallery-lightbox .tc-gallery-footer{margin-top:0}@media (width<=600px){.tc-gallery-heading{margin-bottom:16px}.tc-gallery-stage,.tc-gallery-open-image{border-radius:12px}.tc-gallery-nav{width:36px;height:36px}.tc-gallery-nav.is-previous{left:10px}.tc-gallery-nav.is-next{right:10px}.tc-gallery-expand{min-width:32px;height:32px;padding-inline:9px;font-size:11px;bottom:10px;right:10px}.tc-gallery-footer{gap:10px}.tc-gallery-thumbnails{gap:8px}.tc-gallery-thumb{border-radius:6px;flex-basis:64px;width:64px;height:46px}.tc-gallery-position{font-size:11px}.tc-gallery-lightbox{gap:12px;width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}.tc-gallery-title{font-size:13px}.tc-gallery-lightbox .tc-gallery-stage{height:min(68dvh,100dvh - 164px)}}@media (height<=560px) and (width>=601px){.tc-gallery-lightbox{gap:8px;max-height:calc(100dvh - 24px)}.tc-gallery-lightbox .tc-gallery-stage{height:calc(100dvh - 136px)}.tc-gallery-lightbox .tc-gallery-close{width:34px;height:34px}.tc-gallery-lightbox .tc-gallery-thumb{flex-basis:64px;width:64px;height:44px}}@media (prefers-reduced-motion:reduce){.tc-gallery-nav,.tc-gallery-close,.tc-gallery-expand,.tc-gallery-thumb{transition:none}}.tc-gallery-stage .tc-gallery-incoming{animation:.45s ease-in-out both tc-gallery-image-fade}.tc-gallery-overlay[data-state=open]{animation:.3s both tc-gallery-overlay-in}.tc-gallery-overlay[data-state=closed]{animation:.22s reverse both tc-gallery-overlay-in}.tc-gallery-lightbox[data-state=open]{animation:.5s cubic-bezier(.22,1,.36,1) both tc-gallery-viewer-in}.tc-gallery-lightbox[data-state=closed]{animation:.22s both tc-gallery-viewer-out}@keyframes tc-gallery-image-fade{0%{opacity:0}to{opacity:1}}@keyframes tc-gallery-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes tc-gallery-viewer-in{0%{opacity:0;translate:0 12px;scale:.985}to{opacity:1;translate:0;scale:1}}@keyframes tc-gallery-viewer-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.tc-gallery-stage .tc-gallery-incoming,.tc-gallery-overlay[data-state],.tc-gallery-lightbox[data-state]{animation:none}}
