body.fanart-gallery-open .site-header{color:var(--text);background:var(--card);border-color:var(--muted-border)}body.fanart-gallery-open .site-header .cult-link{color:#0000!important}.fanart-gallery .site-header{z-index:2;box-sizing:border-box;width:100%;position:fixed;inset:0 0 auto}.fanart-gallery{--gallery-nav-height:45px;width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);background:var(--bg);border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.fanart-gallery[open]{place-items:center;display:grid}:root[data-announcement-visible=true] .fanart-gallery{height:calc(100dvh - 25px);inset:25px 0 0}:root[data-announcement-visible=true] .fanart-gallery::backdrop{background:0 0}.fanart-gallery::backdrop{background:var(--bg)}.fanart-gallery[data-single] .gallery-step{visibility:hidden}.fanart-gallery[data-single] .gallery-thumbnails,.fanart-gallery[data-single] .gallery-counter{display:none}.gallery-shell{box-sizing:border-box;width:min(100%,1280px);height:min(100dvh,1000px);padding:clamp(14px,3vw,32px);padding-top:calc(var(--gallery-nav-height) + 14px);grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;animation:.34s cubic-bezier(.2,.9,.2,1) both gallery-enter;display:grid}.fanart-gallery.is-closing .gallery-shell{animation:.22s both gallery-exit}.gallery-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.gallery-kicker{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 3px;font-size:.68rem;font-weight:700}.gallery-toolbar h2{color:var(--text);letter-spacing:0;margin:0;font-size:1.2rem;line-height:1.2}.gallery-toolbar-actions{align-items:center;gap:16px;display:flex}.gallery-counter{min-width:58px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.82rem}.gallery-close,.gallery-step{border:1px solid var(--muted-border);color:var(--text);background:linear-gradient(180deg, var(--accent-10), var(--surface-hover));box-shadow:inset 0 1px 0 var(--accent-10), 0 3px 12px var(--shadow-soft);cursor:pointer;border-radius:2px;place-items:center;padding:0;transition:color .18s,background .18s,border-color .18s,box-shadow .18s,transform .18s;display:grid}.gallery-close{width:42px;height:42px;font-size:1.55rem;line-height:1}.gallery-step{border-radius:0;width:42px;height:42px}:global(.gallery-step svg){stroke-width:1.8px;width:18px;height:18px;display:block}.gallery-close:hover,.gallery-step:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-12);box-shadow:inset 0 1px 0 var(--accent-12), 0 6px 18px var(--accent-12);transform:translateY(-2px)}.gallery-close:active,.gallery-step:active{background:var(--accent-12);box-shadow:inset 0 1px 4px var(--shadow-strong);transform:translateY(0)scale(.96)}.gallery-close:focus-visible,.gallery-step:focus-visible,.gallery-thumbnail:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.gallery-stage{grid-template-columns:42px minmax(0,1fr) 42px;place-items:center;gap:clamp(8px,2vw,24px);min-height:0;display:grid}.gallery-feature{grid-template-rows:minmax(0,1fr) auto;gap:10px;width:100%;min-width:0;height:100%;min-height:0;margin:0;display:grid}.gallery-image-frame{box-sizing:border-box;place-self:center;place-items:center;width:min(100%,960px);min-width:0;height:min(68vh,720px);min-height:0;max-height:100%;display:grid;position:relative;overflow:hidden}.gallery-image-frame img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;animation:.28s cubic-bezier(.2,.9,.3,1) both gallery-image-in;display:block;position:absolute;inset:0}.gallery-attribution{text-align:center;gap:1px;min-height:1.25em;display:grid}.gallery-caption{color:var(--text);font-size:.86rem;line-height:1.25}.gallery-caption[hidden]{display:none}.gallery-artist{color:var(--muted);font-size:.68rem;line-height:1.2}.gallery-thumbnails{scrollbar-width:thin;scrollbar-color:var(--accent-dark) transparent;gap:8px;min-width:0;padding:4px calc(50% - 38px) 10px;display:flex;overflow-x:auto}.gallery-thumbnail{border:1px solid var(--muted-border);background:var(--bg);cursor:pointer;opacity:.56;flex:0 0 76px;width:76px;height:62px;padding:0;transition:opacity .18s,border-color .18s,box-shadow .18s,transform .18s;overflow:hidden}.gallery-thumbnail:hover{border-color:var(--accent);opacity:.96;transform:translateY(-2px)}.gallery-thumbnail[aria-current=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-12);opacity:1}.gallery-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}@keyframes gallery-enter{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes gallery-exit{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)scale(.99)}}@keyframes gallery-image-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes gallery-image-change{0%{opacity:0;filter:blur(4px);transform:translateY(8px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.gallery-image-frame img.is-changing{animation:.32s cubic-bezier(.2,.9,.3,1) both gallery-image-change}@media (width<=600px){.fanart-gallery{--gallery-nav-height:53px}.gallery-shell{padding:12px;padding-top:calc(var(--gallery-nav-height) + 12px);gap:.7rem}.gallery-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}.gallery-step{width:34px;height:34px}.gallery-image-frame{height:min(56vh,480px)}.gallery-thumbnail{flex-basis:62px;width:62px;height:54px}}@media (prefers-reduced-motion:reduce){.gallery-shell,.fanart-gallery.is-closing .gallery-shell,.gallery-image-frame img,.gallery-image-frame img.is-changing{animation:none}.gallery-thumbnail,.gallery-close,.gallery-step{transition:none}}
