/* Hallmark · macrostructure: Catalogue / nightmare scene shelf · theme: custom industrial gothic · tone: atmospheric · anchor hue: yellow
 * nav: N12 announcement + retract · footer: Ft5 statement · enrichment: genuine local gameplay screenshots
 * axes: dark / heavy Chinese sans / warm yellow · fonts: local Chinese sans + Songti reading accent
 * User-specified exact palette and offline system Chinese fonts override catalog pairing. No invented metrics.
 * Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V5 */
@import url('../../tokens.css');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px;overflow-x:clip}body{margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.75;padding-bottom:98px}h1,h2,h3,p,figure,dl{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;font-weight:800;line-height:1.2;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display);letter-spacing:-.035em}h2{font-size:var(--text-heading);letter-spacing:-.025em}h3{font-size:var(--text-sub)}p+p{margin-top:var(--space-md)}a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}button,a,summary{touch-action:manipulation}button,a.btn,nav a,.quick a,.related a,.breadcrumbs a{white-space:nowrap}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.dark a:focus-visible,.topbar a:focus-visible,.dock a:focus-visible,dialog button:focus-visible{outline-color:var(--color-accent)}[hidden]{display:none!important}.wrap{width:min(1400px,100%);margin-inline:auto;padding-inline:var(--page-gutter)}.skip{position:fixed;top:0;left:var(--space-md);z-index:var(--z-modal);background:var(--color-accent);padding:var(--space-sm);transform:translateY(-150%)}.skip:focus{transform:none}.topbar{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-coal);color:var(--color-light);margin-top:0;padding-top:0}.announcement{height:var(--banner-h);display:flex;gap:var(--space-sm);align-items:center;justify-content:center;background:var(--color-accent);color:var(--color-ink);font-size:var(--text-small);padding-inline:var(--space-md)}.announcement a{font-weight:700}.announcement button{border:0;background:var(--color-clear);width:36px;height:36px;margin-inline-start:var(--space-md)}.navrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);min-height:var(--nav-h)}.brand{display:flex;gap:var(--space-sm);align-items:center;text-decoration:none;flex-shrink:0}.brand img{width:36px;height:36px}.brand strong{display:block;line-height:1.3;font-size:var(--text-sub)}.brand small{display:block;color:var(--color-muted-dark);font-size:var(--text-small);line-height:1.3;letter-spacing:.08em}.navrow nav{display:flex;gap:var(--space-xs);align-items:center}.navrow nav a{text-decoration:none;padding:var(--space-xs) var(--space-sm);min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid var(--color-clear)}.navrow nav a[aria-current=page]{border-color:var(--color-accent);color:var(--color-accent)}.navrow nav a:hover{background:var(--color-panel)}.navrow nav a.get{background:var(--color-accent);color:var(--color-ink);font-weight:800;padding-inline:var(--space-lg)}.menu-toggle{display:none}.announcement.is-dismissed{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:48px;padding:var(--space-sm) var(--space-lg);border:var(--rule-heavy) solid var(--color-ink);background:var(--color-accent);color:var(--color-ink);text-decoration:none;font-weight:800;box-shadow:0 4px 0 var(--color-ink);transition:transform var(--dur-micro) var(--ease-out)}.btn:hover{background:var(--color-accent-hover)}.btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--color-ink)}.btn.secondary{background:var(--color-clear);color:inherit;border-color:currentColor;box-shadow:none;font-weight:600}.btn.secondary:hover{background:var(--color-whitewash);color:var(--color-ink)}button:disabled,[aria-disabled=true]{opacity:.5;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-block:var(--space-lg)}.dark{background:var(--color-coal);color:var(--color-light)}.hero{position:relative;isolation:isolate;min-height:620px;background:var(--color-coal);color:var(--color-light)}.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:-2}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--color-scrim) 0%,var(--color-glass) 27%,var(--color-clear) 80%),linear-gradient(0deg,var(--color-scrim),var(--color-clear) 60%)}.hero-inner{padding-block:var(--space-2xl) 150px;position:relative;min-height:620px}.hero-copy{max-width:660px}.tagline{color:var(--color-accent);font-weight:800;letter-spacing:.14em;font-size:var(--text-small);margin-bottom:var(--space-md)}.hero h1 span{display:block;font-size:var(--text-sub);letter-spacing:.07em;color:var(--color-muted-dark);font-weight:500;margin-top:var(--space-sm)}.hero-lead{font-family:var(--font-outlier);font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.65;max-width:30ch;margin-top:var(--space-lg)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-lg)}.chips span{border:var(--rule-hair) solid var(--color-rule-dark);padding:2px 12px;font-size:var(--text-small);background:var(--color-glass)}.fine{font-size:var(--text-small);color:var(--color-muted)}.dark .fine,.hero .fine{color:var(--color-muted-dark)}.quick{position:absolute;right:var(--page-gutter);top:var(--space-2xl);display:grid;gap:var(--space-xs);width:155px}.quick a{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:var(--space-sm);text-decoration:none;background:var(--color-glass);border:var(--rule-hair) solid var(--color-rule-dark);font-size:var(--text-small)}.quick a:hover{background:var(--color-accent);color:var(--color-ink)}.quick span{color:var(--color-muted-dark)}.scene-caption{position:absolute;right:var(--page-gutter);bottom:150px;font-size:var(--text-small);letter-spacing:.08em;background:var(--color-glass);padding:4px 12px}.dialogue{position:absolute;inset:auto var(--page-gutter) var(--space-lg);display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:var(--space-lg);align-items:center;min-height:100px;padding:var(--space-lg);background:var(--color-glass);border:var(--rule-hair) solid var(--color-rule-dark);max-width:calc(1400px - 2*var(--page-gutter));margin:auto}.dialogue .name{color:var(--color-accent);font-size:var(--text-sub);font-weight:800}.dialogue .name small{display:block;font-size:var(--text-small);color:var(--color-muted-dark);font-weight:400}.dialogue p{font-family:var(--font-outlier);font-size:var(--text-sub)}.dialogue a{font-size:var(--text-small);white-space:nowrap}.summary-band{border-bottom:var(--rule-hair) solid var(--color-rule);padding-block:var(--space-lg);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-lg)}.summary-band small{color:var(--color-muted);display:block;font-size:var(--text-small)}.summary-band strong{font-weight:800}.section{padding-block:var(--space-3xl)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:var(--space-xl);margin-bottom:var(--space-xl)}.section-heading p{max-width:44ch;color:var(--color-muted);font-size:var(--text-small)}.archive{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:var(--space-2xl);align-items:start}.cover img{width:100%;aspect-ratio:460/215;object-fit:contain;border:var(--rule-hair) solid var(--color-rule)}.cover figcaption{font-size:var(--text-small);color:var(--color-muted);margin-top:var(--space-xs)}.archive-copy>p{max-width:70ch;margin-block:var(--space-lg)}.specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md) var(--space-lg);margin-top:var(--space-lg)}.specs div{padding-bottom:var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule)}dt{font-size:var(--text-small);color:var(--color-muted)}dd{margin:0;font-weight:700;overflow-wrap:anywhere}.seal{display:inline-block;color:var(--color-seal);border:var(--rule-heavy) solid var(--color-seal);font-family:var(--font-outlier);padding:2px 8px;font-size:var(--text-small);margin-bottom:var(--space-md)}.chapter-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.chapter{background:var(--color-panel);border:var(--rule-hair) solid var(--color-rule-dark)}.chapter img{width:100%;aspect-ratio:16/9;object-fit:contain}.chapter-body{padding:var(--space-lg);display:grid;gap:var(--space-sm)}.chapter-body small{color:var(--color-accent);font-size:var(--text-small)}.chapter-body p{color:var(--color-muted-dark)}.chapter-text{min-height:300px;display:flex;flex-direction:column;justify-content:space-between;background:var(--color-purple);padding:var(--space-xl)}.chapter-text .chapter-mark{font-family:var(--font-outlier);font-size:4rem;line-height:1.2;color:var(--color-lavender)}.chapter-text .chapter-body{padding:0}.feature-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl);margin-top:var(--space-xl)}.feature-strip article{display:grid;gap:var(--space-sm);padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-dark)}.feature-strip p{color:var(--color-muted-dark);max-width:60ch}.gallery-main{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:var(--space-xl)}.gallery-display{position:relative;background:var(--color-coal)}.gallery-display img{width:100%;aspect-ratio:16/9;object-fit:contain}.gallery-display>a{display:block}.gallery-note{position:absolute;bottom:var(--space-sm);left:var(--space-sm);background:var(--color-glass);color:var(--color-light);font-size:var(--text-small);padding:4px 12px;pointer-events:none}.gallery-text{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-lg)}.gallery-text p{color:var(--color-muted)}.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-sm);margin-top:var(--space-sm)}.thumbs a{border:2px solid var(--color-clear);padding:2px;background:var(--color-panel)}.thumbs a[aria-current=true]{border-color:var(--color-seal)}.thumbs img{width:100%;aspect-ratio:16/9;object-fit:contain}.thumbs a:hover{border-color:var(--color-gun)}.gallery-controls{display:flex;gap:var(--space-xs);align-items:center;justify-content:space-between}.gallery-controls button,.filters button{min-height:44px;padding:var(--space-xs) var(--space-md);background:var(--color-paper);border:var(--rule-hair) solid var(--color-rule);color:var(--color-ink)}.gallery-controls button:hover,.filters button:hover{background:var(--color-pink)}.gallery-controls button:active,.filters button:active{transform:translateY(2px)}.gallery-controls span{font-size:var(--text-small);font-variant-numeric:tabular-nums}.filters{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-block:var(--space-xl)}.filters button[aria-pressed=true]{background:var(--color-ink);color:var(--color-light);border-color:var(--color-ink)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)}.gallery-grid figure{background:var(--color-panel);color:var(--color-light)}.gallery-grid img{width:100%;aspect-ratio:16/9;object-fit:contain}.gallery-grid figcaption{padding:var(--space-lg);font-size:var(--text-small)}.gallery-grid figcaption strong{display:block;font-size:var(--text-sub);margin-bottom:var(--space-xs)}.reading-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl)}.updates{margin-top:var(--space-xl)}.updates article{display:grid;grid-template-columns:100px minmax(0,1fr);gap:var(--space-lg);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule)}.updates time{font-size:var(--text-small);font-variant-numeric:tabular-nums;color:var(--color-muted)}.updates h3{font-size:var(--text-base)}.updates p{font-size:var(--text-small);color:var(--color-muted);margin-top:var(--space-xs)}.faq{margin-top:var(--space-lg)}details{border-bottom:var(--rule-hair) solid var(--color-rule);padding-block:var(--space-md)}summary{font-weight:700;cursor:pointer;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';flex-shrink:0;font-size:var(--text-sub);font-weight:400}details[open] summary:after{content:'−'}details p{padding-block:var(--space-sm);max-width:65ch;color:var(--color-muted)}.final{padding-block:var(--space-2xl);border-top:var(--rule-heavy) solid var(--color-ink);display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl)}.final p{margin-top:var(--space-md);max-width:65ch}.footer{padding-block:var(--space-2xl) var(--space-xl);background:var(--color-coal);color:var(--color-light)}.footer-statement{font-family:var(--font-outlier);font-size:clamp(1.8rem,4vw,3.4rem);max-width:32ch;line-height:1.3}.footer-meta{display:flex;justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule-dark);margin-top:var(--space-lg)}.footer-meta nav{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.footer-meta a{font-size:var(--text-small);white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.related{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);margin-block:var(--space-lg)}.related a{font-size:var(--text-small);color:var(--color-muted-dark);min-height:44px;display:inline-flex;align-items:center}.footer .fine{color:var(--color-muted-dark);max-width:100ch}.dock{position:fixed;inset:auto 0 0;background:var(--color-glass);color:var(--color-light);border-top:var(--rule-hair) solid var(--color-rule-dark);z-index:var(--z-sticky);backdrop-filter:blur(8px);padding-bottom:env(safe-area-inset-bottom)}.dock-inner{display:flex;align-items:center;gap:var(--space-lg);justify-content:space-between;padding-block:var(--space-sm);min-height:82px}.dock-label strong{display:block;line-height:1.3}.dock-label small{color:var(--color-muted-dark);font-size:var(--text-small)}.dock-actions{display:flex;gap:var(--space-md);align-items:center}.dock-actions>a:not(.btn){font-size:var(--text-small);white-space:nowrap}.dock .btn{min-height:46px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding-block:var(--space-lg);font-size:var(--text-small);color:var(--color-muted)}.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center}.breadcrumbs span{display:inline-flex;align-items:center}.page-head{padding-block:var(--space-xl);border-bottom:var(--rule-hair) solid var(--color-rule)}.page-head h1{font-size:clamp(2rem,4vw,3.5rem);max-width:25ch}.page-head p{margin-top:var(--space-lg);max-width:70ch;color:var(--color-muted)}.page-head .seal{margin:0 0 var(--space-md)}.content-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-2xl);padding-block:var(--space-2xl)}.toc{align-self:start;position:sticky;top:108px;display:grid;gap:var(--space-xs)}.toc strong{margin-bottom:var(--space-md);font-family:var(--font-outlier);font-size:var(--text-sub)}.toc a{padding:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);text-decoration:none;min-height:44px}.toc a:hover{background:var(--color-pink)}.article-section{max-width:900px;margin-bottom:var(--space-2xl)}.article-section>p{margin-top:var(--space-lg);max-width:75ch}.article-section h3{margin-top:var(--space-xl)}.article-section ul,.article-section ol{padding-left:var(--space-lg);margin-block:var(--space-lg)}.article-section li{margin-bottom:var(--space-sm)}.source{font-size:var(--text-small);color:var(--color-muted);margin-top:var(--space-md)}.source a{white-space:normal}.notice{background:var(--color-lavender);padding:var(--space-lg);margin-block:var(--space-lg)}.get-panel{padding:var(--space-xl);background:var(--color-ink);color:var(--color-light);margin-bottom:var(--space-2xl)}.get-panel h2{font-size:var(--text-heading)}.get-panel .platform{color:var(--color-accent);font-size:var(--text-small);margin-bottom:var(--space-sm)}.get-panel p{margin-top:var(--space-lg);max-width:65ch}.get-panel .specs{grid-template-columns:repeat(2,minmax(0,1fr))}.get-panel dt{color:var(--color-muted-dark)}.get-panel .specs div{border-color:var(--color-rule-dark)}.requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md) var(--space-xl);margin-top:var(--space-lg)}.requirements div{border-bottom:var(--rule-hair) solid var(--color-rule);padding-bottom:var(--space-sm)}dialog{padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule-dark);width:min(1280px,96%);max-height:94dvh;background:var(--color-coal);color:var(--color-light);overflow:auto}dialog::backdrop{background:var(--color-backdrop)}.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.lightbox-top p{font-size:var(--text-small)}dialog button{min-height:44px;min-width:44px;border:var(--rule-hair) solid var(--color-rule-dark);background:var(--color-panel);color:var(--color-light);padding:var(--space-xs) var(--space-sm)}dialog button:hover{background:var(--color-gun)}.lightbox-image{width:100%;height:auto;max-height:72dvh;object-fit:contain;aspect-ratio:16/9}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-sm)}.lightbox-bottom p{font-size:var(--text-small);color:var(--color-muted-dark)}[data-state=loading]{opacity:.65}[data-state=error]{border-color:var(--color-error)}[data-state=success]{border-color:var(--color-success)}.media-status{font-size:var(--text-small);min-height:1.75em}.js-only{display:none}body.enhanced .js-only{display:flex}body:not(.enhanced) .thumbs a:after{content:'打开原图';display:block;color:var(--color-light);font-size:var(--text-small);text-align:center}body:not(.enhanced) .toc{position:static}
@media (min-width:90rem){.hero-copy{max-width:720px}.hero{min-height:670px}.hero-inner{min-height:670px}.hero-scene{object-position:50% 55%}}
@media (max-width:70rem){.quick{display:none}.hero-copy{max-width:600px}.archive{grid-template-columns:280px minmax(0,1fr);gap:var(--space-xl)}.navrow{gap:var(--space-md)}.navrow nav{gap:0}.navrow nav a{padding-inline:var(--space-sm)}}
@media (max-width:60rem){.reading-grid,.archive,.content-layout{grid-template-columns:minmax(0,1fr)}.archive{gap:var(--space-xl)}.cover{max-width:360px}.gallery-main{grid-template-columns:minmax(0,1fr)}.gallery-text{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.gallery-text>div:first-child{max-width:60ch}.gallery-controls{gap:var(--space-sm)}.toc{position:static;display:flex;flex-wrap:wrap;gap:var(--space-xs)}.toc strong{flex-basis:100%;margin-bottom:0}.toc a{font-size:var(--text-small);padding:var(--space-xs) var(--space-sm)}.section{padding-block:var(--space-2xl)}.navrow .brand small{display:none}.navrow nav a.get{padding-inline:var(--space-sm)}}
@media (max-width:45rem){.topbar{--nav-h:64px}.brand strong{font-size:var(--text-base)}.brand img{width:30px;height:30px}.navrow{flex-wrap:wrap;gap:0}.navrow nav{flex-basis:100%;justify-content:space-between;padding-bottom:var(--space-xs);font-size:var(--text-small)}.navrow .brand{min-height:64px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:var(--rule-hair) solid var(--color-rule-dark);background:var(--color-panel);color:var(--color-light)}body.enhanced .navrow nav{display:none}body.enhanced .navrow nav.is-open{display:flex;flex-wrap:wrap}body:not(.enhanced) .menu-toggle{display:none}.announcement{font-size:.75rem;gap:var(--space-xs);justify-content:space-between}.announcement button{margin:0;flex-shrink:0}.hero,.hero-inner{min-height:690px}.hero-inner{padding-block:var(--space-xl) 180px}.hero-copy{max-width:100%}.hero h1{font-size:clamp(2.6rem,9vw,3.5rem)}.hero h1 span{font-size:var(--text-base)}.hero-lead{font-size:var(--text-sub);max-width:none}.hero:before{background:linear-gradient(180deg,var(--color-scrim) 0%,var(--color-glass) 35%,var(--color-clear) 65%,var(--color-scrim) 100%)}.hero-scene{object-position:45% 90%}.hero .actions{margin-block:var(--space-lg) var(--space-sm);gap:var(--space-sm)}.hero .btn{padding-inline:var(--space-md);font-size:var(--text-small)}.hero .fine{max-width:none}.dialogue{grid-template-columns:minmax(0,1fr);gap:var(--space-xs);padding:var(--space-md);inset:auto var(--page-gutter) var(--space-md)}.dialogue .name{font-size:var(--text-base)}.dialogue .name small{display:inline;margin-left:var(--space-xs);font-size:.75rem}.dialogue p{font-size:var(--text-base);line-height:1.6}.dialogue>a{display:none}.scene-caption{bottom:172px;right:var(--page-gutter);font-size:.75rem}.summary-band{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);font-size:var(--text-small)}.summary-band small{font-size:.75rem}.section-heading{display:block}.section-heading p{margin-top:var(--space-md)}.specs{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-shelf,.feature-strip,.gallery-grid,.reading-grid{grid-template-columns:minmax(0,1fr)}.chapter-text{min-height:220px}.gallery-text{grid-template-columns:minmax(0,1fr)}.gallery-controls{justify-content:flex-start}.thumbs{gap:var(--space-xs)}.thumbs a{padding:0}.updates article{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}.final{display:block}.final .btn{margin-top:var(--space-lg)}.footer-meta{display:block}.footer-meta nav{gap:var(--space-md);margin-top:var(--space-md)}.dock-inner{gap:var(--space-xs);min-height:78px;padding-block:var(--space-xs)}.dock-label{font-size:var(--text-small)}.dock-label small{font-size:.75rem}.dock-actions>a:not(.btn){display:none}.dock .btn{font-size:var(--text-small);padding-inline:var(--space-sm);min-height:44px}.get-panel{padding:var(--space-lg)}.get-panel .specs{grid-template-columns:minmax(0,1fr)}.requirements{grid-template-columns:minmax(0,1fr)}.page-head{padding-block:var(--space-lg)}.content-layout{gap:var(--space-xl)}.lightbox-bottom{flex-wrap:wrap}.lightbox-bottom p{flex-basis:100%;order:3}.lightbox-top p{max-width:70%}.lightbox-image{max-height:60dvh}.filters{margin-block:var(--space-lg)}.filters button{font-size:var(--text-small)}.gallery-grid{gap:var(--space-lg)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

a:not(.btn):active{text-decoration-thickness:2px}button:not(.btn):active{transform:translateY(2px)}
