/* Hallmark · macrostructure: Feature Stack / exploration folio · genre: editorial
 * theme: custom user-locked midnight · paper: ivory · accent: warm gold
 * nav: N6 double-rule masthead · footer: Ft1 mast-headed · enrichment: authentic game screenshots
 * audience: Chinese pixel-action explorers · use: external resource page · tone: tactile luxury
 * Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4
 */
@import url('tokens.css');
*{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:108px}body{overflow-x:clip;margin:0;background:var(--color-wine);color:var(--color-ink);font:400 var(--text-base)/1.8 var(--font-body)}
a{color:inherit;text-underline-offset:.25em}button{font:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.35;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display);margin:0 0 var(--space-lg);font-weight:800}h2{font-size:var(--text-2xl);margin:0 0 var(--space-lg)}h3{font-size:var(--text-lg);margin:0 0 var(--space-sm)}p{margin:0 0 var(--space-md)}p:last-child{margin-bottom:0}ul,ol{padding-left:var(--space-lg)}li+li{margin-top:var(--space-xs)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}
.skip{position:fixed;left:var(--space-md);top:var(--space-md);z-index:var(--z-modal);background:var(--color-paper);padding:var(--space-sm);transform:translateY(-200%)}.skip:focus{transform:none}
.masthead{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-night);color:var(--color-paper);border-bottom:4px double var(--color-light-rule)}.mast-inner{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-sm) var(--space-lg)}.brand{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;font:800 var(--text-lg)/1.3 var(--font-display);white-space:nowrap}.brand img{width:36px;height:36px}.brand small{display:block;font:400 var(--text-xs)/1.2 var(--font-body);color:var(--color-night-muted);margin-top:var(--space-2xs)}.desktop-nav{display:flex;align-items:center;gap:var(--space-md)}.desktop-nav a,.mobile-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;white-space:nowrap}.desktop-nav a[aria-current=page]{color:var(--color-accent);border-bottom:var(--rule-bold) solid var(--color-accent)}.mobile-menu{display:none}.mobile-menu summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--color-light-rule);white-space:nowrap}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:after{content:'＋';margin-left:var(--space-xs)}.mobile-menu[open] summary:after{content:'−'}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--color-night);border-bottom:var(--rule-bold) solid var(--color-accent);padding:var(--space-sm) var(--space-lg);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-sm);min-height:48px;padding:var(--space-sm) var(--space-lg);background:var(--color-accent);color:var(--color-accent-ink);border:var(--rule-bold) solid var(--color-night);text-decoration:none;font-weight:700;line-height:1.3;white-space:nowrap;box-shadow:4px 4px 0 var(--color-night);transition:transform var(--dur-micro) var(--ease-out)}.button.secondary{background:var(--color-transparent);color:inherit;border-color:currentColor;box-shadow:none}.button:active{transform:translate(2px,2px);box-shadow:none}.button:disabled,[aria-disabled=true]{opacity:.5;cursor:not-allowed}.button[data-state=loading]{cursor:progress}.button[data-state=error]{border-color:var(--color-error)}.button[data-state=success]{border-color:var(--color-success)}.actions{display:flex;flex-wrap:wrap;gap:var(--space-lg);align-items:center;margin-top:var(--space-lg)}
.hero{position:relative;background:var(--color-night);color:var(--color-paper);min-height:740px;display:flex;align-items:flex-end;isolation:isolate}.hero-scene{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 33%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,var(--color-overlay-clear),var(--color-overlay));pointer-events:none}.hero-inner{max-width:1160px;width:100%;margin:auto;padding:var(--space-3xl) var(--space-xl) var(--space-2xl);display:grid;grid-template-columns:minmax(0,1fr) 244px;gap:var(--space-xl);align-items:end}.hero-name{display:flex;gap:var(--space-lg);align-items:center;margin-bottom:var(--space-lg)}.game-logo{width:148px;height:auto;flex-shrink:0;max-width:42vw;object-fit:contain}.hero h1{margin:0;max-width:600px}.original-name{display:block;font:400 var(--text-sm)/1.5 var(--font-body);color:var(--color-night-muted);margin-top:var(--space-sm)}.hero .lede{font-size:var(--text-lg);max-width:42ch;color:var(--color-paper)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-lg);font-size:var(--text-sm)}.tags span{border-bottom:var(--rule-hair) solid var(--color-light-rule);padding:var(--space-2xs) var(--space-xs)}.hero .button.secondary{border-color:var(--color-paper)}.release-slip{background:var(--color-paper);color:var(--color-ink);padding:var(--space-lg);border-top:4px solid var(--color-accent);transform:rotate(1deg);box-shadow:8px 8px 0 var(--color-shadow);font-size:var(--text-sm)}.release-slip b{display:block;font-size:var(--text-xl);line-height:1.25;margin-bottom:var(--space-xs)}.release-slip a{display:inline-block;margin-top:var(--space-sm);min-height:44px}
.folio{max-width:1040px;margin:0 auto;background:var(--color-paper);padding:var(--space-2xl) var(--space-xl);box-shadow:12px 0 0 var(--color-shadow)}.folio section+section{margin-top:var(--space-3xl)}.section-head{margin-bottom:var(--space-xl)}.section-head p{max-width:52ch;color:var(--color-muted)}.info-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg) var(--space-xl);margin:0;padding-bottom:var(--space-xl);border-bottom:var(--rule-bold) solid var(--color-ink)}dt{font-size:var(--text-sm);color:var(--color-muted)}dd{margin:var(--space-2xs) 0 0;font-weight:650}.story{max-width:64ch}.story h2{max-width:22ch}.story .lead{font-size:var(--text-lg)}.stack{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:var(--space-xl);align-items:start}.stack-rail{position:sticky;top:120px}.stack-rail p{color:var(--color-muted)}.stack-rail ul{padding:0;list-style:none;margin-top:var(--space-xl)}.stack-rail li{border-bottom:var(--rule-hair) solid var(--color-rule);padding:var(--space-sm) 0}.stack-rail a{display:block;min-height:44px}.stack-frames{display:grid;gap:var(--space-xl)}figure{margin:0;min-width:0}figcaption{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--color-muted)}figcaption b{display:block;font-size:var(--text-base);color:var(--color-ink);margin-bottom:var(--space-2xs)}.media-link{display:block;position:relative;background:var(--color-night);outline-offset:5px}.media-link img{width:100%;aspect-ratio:16/9;object-fit:contain}.media-link:after{content:'查看大图';position:absolute;bottom:var(--space-xs);right:var(--space-xs);background:var(--color-night);color:var(--color-paper);font-size:var(--text-xs);padding:var(--space-2xs) var(--space-xs)}.main-shot{margin-bottom:var(--space-md)}.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-sm)}.thumbs figcaption{font-size:var(--text-xs)}.thumbs .media-link:after{content:'放大'}
.fan-note{font-size:var(--text-sm);color:var(--color-muted)}.download-band{background:var(--color-night);color:var(--color-paper);padding:var(--space-xl)}.download-band p{color:var(--color-night-muted)}.download-band .button{box-shadow:4px 4px 0 var(--color-light-rule)}.download-band a:not(.button){min-height:44px;display:inline-block}.update{border-bottom:var(--rule-hair) solid var(--color-rule);padding:var(--space-lg) 0}.update summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);cursor:pointer;min-height:44px;list-style:none;font-weight:700}.update summary:after{content:'＋';font-size:var(--text-lg)}.update[open] summary:after{content:'−'}.update summary time{font:400 var(--text-sm)/1.5 var(--font-body);color:var(--color-muted);margin-left:auto}.update-body{padding-top:var(--space-md)}.faq details{border-bottom:var(--rule-hair) solid var(--color-rule);padding:var(--space-sm) 0}.faq summary{font-weight:650;cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);list-style:none}.faq summary:after{content:'＋';font-size:var(--text-lg)}.faq details[open] summary:after{content:'−'}.faq details>div{padding:var(--space-md) 0 var(--space-lg);max-width:65ch}.fit-list{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-xl)}.fit-list article{border-top:var(--rule-bold) solid var(--color-ink);padding-top:var(--space-lg)}.final-cta{border-top:4px double var(--color-rule);padding-top:var(--space-xl)}
.subhero{max-width:1040px;margin:auto;background:var(--color-night);color:var(--color-paper);padding:var(--space-xl) var(--space-xl) var(--space-2xl);border-bottom:4px solid var(--color-accent)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);color:var(--color-night-muted);font-size:var(--text-sm);margin-bottom:var(--space-lg)}.breadcrumb a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.subhero h1{font-size:clamp(1.75rem,3.4vw,2.75rem);max-width:24ch}.subhero p{max-width:58ch}.toc{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xl)}.toc a{padding:var(--space-xs) var(--space-md);min-height:44px;border:var(--rule-hair) solid var(--color-rule);text-decoration:none;white-space:nowrap}.guide-chapter{max-width:70ch;scroll-margin-top:112px}.guide-chapter h3{margin-top:var(--space-lg)}.guide-chapter .notice{border-left:4px solid var(--color-accent);padding:var(--space-md);background:var(--color-paper-2)}.steps{list-style:none;padding:0;counter-reset:steps}.steps li{counter-increment:steps;position:relative;padding:var(--space-md) 0 var(--space-md) var(--space-xl);border-bottom:var(--rule-hair) solid var(--color-rule)}.steps li:before{content:counter(steps);position:absolute;left:0;font:800 var(--text-xl)/1.6 var(--font-display)}.chapter-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}.chapter-links a{display:block;padding:var(--space-lg);background:var(--color-paper-2);border-left:var(--rule-bold) solid var(--color-ink);text-decoration:none}.chapter-links strong{display:block;font-size:var(--text-lg);margin-bottom:var(--space-xs)}.chapter-links span{font-size:var(--text-sm);color:var(--color-muted)}.requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl);margin-top:var(--space-lg)}.requirements>div{border-top:var(--rule-bold) solid var(--color-ink);padding-top:var(--space-lg)}.requirements dl{margin:0}.requirements dl>div{padding:var(--space-sm) 0;border-bottom:var(--rule-hair) solid var(--color-rule)}.requirements dd{font-weight:500}.platform-card{max-width:720px;border-top:var(--rule-bold) solid var(--color-ink);padding-top:var(--space-lg)}.platform-card .platforms{font:800 var(--text-2xl)/1.4 var(--font-display);margin-bottom:var(--space-lg)}.gallery-toolbar{display:none;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-lg)}.js .gallery-toolbar{display:flex}.filter{background:var(--color-transparent);border:var(--rule-hair) solid var(--color-ink);color:var(--color-ink);min-height:44px;padding:var(--space-xs) var(--space-lg);cursor:pointer;white-space:nowrap}.filter[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper)}.gallery-count{width:100%;font-size:var(--text-sm);margin-top:var(--space-sm)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl) var(--space-lg)}.gallery-grid [hidden]{display:none}.boss-diagram{max-width:620px;margin:var(--space-xl) 0}.boss-diagram img{width:100%;height:auto}.boss-diagram .media-link img{aspect-ratio:auto}.sequence{font-size:var(--text-xl);font-weight:800;letter-spacing:.03em;background:var(--color-paper-2);padding:var(--space-md);overflow-wrap:anywhere}.sequence small{font-size:var(--text-sm);font-weight:400;display:block;letter-spacing:0}
footer{max-width:1040px;margin:auto;background:var(--color-night);color:var(--color-paper);padding:var(--space-xl)}.footer-top{display:flex;gap:var(--space-xl);justify-content:space-between;flex-wrap:wrap;border-bottom:var(--rule-hair) solid var(--color-light-rule);padding-bottom:var(--space-lg)}.footer-name{display:flex;align-items:center;gap:var(--space-sm);font:800 var(--text-xl)/1.4 var(--font-display);margin-bottom:var(--space-sm)}.footer-name img{width:48px;height:48px}.footer-top p{font-size:var(--text-sm);color:var(--color-night-muted)}.footer-links{display:flex;gap:var(--space-md);flex-wrap:wrap}.footer-links a,.related a{display:inline-flex;min-height:44px;align-items:center;white-space:nowrap}.related{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);font-size:var(--text-sm);margin:var(--space-lg) 0}.rights{font-size:var(--text-xs);color:var(--color-night-muted);overflow-wrap:anywhere}.rights p{margin-bottom:var(--space-xs)}.sticky-cta{display:none}.back-top{display:inline-flex;min-height:44px;align-items:center;margin-top:var(--space-lg);font-size:var(--text-sm)}dialog{border:var(--rule-hair) solid var(--color-light-rule);background:var(--color-night);color:var(--color-paper);padding:var(--space-md);width:min(1200px,94vw);max-height:94dvh;max-width:94vw;margin:auto;overflow:auto}dialog::backdrop{background:var(--color-overlay)}.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.dialog-bar button,.dialog-bottom button{min-height:44px;min-width:44px;background:var(--color-paper);color:var(--color-night);border:var(--rule-hair) solid var(--color-paper);padding:var(--space-xs) var(--space-md);cursor:pointer;white-space:nowrap}.dialog-image{width:100%;height:70dvh;object-fit:contain}.dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm)}.dialog-status{font-size:var(--text-sm);padding:var(--space-xs);color:var(--color-night-muted)}dialog[data-state=loading] .dialog-image{opacity:.45}dialog[data-state=error] .dialog-status{background:var(--color-error);color:var(--color-paper)}dialog[data-state=success] .dialog-image{opacity:1}.dialog-close{flex-shrink:0}.dialog-caption{overflow-wrap:anywhere}.empty{display:none}
@media(hover:hover){.button:hover{transform:translateY(-2px)}a:not(.button):hover{text-decoration:underline}.media-link:hover{outline:var(--rule-bold) solid var(--color-ink)}.filter:hover{outline:var(--rule-bold) solid var(--color-ink)}}
@media(min-width:1600px){.hero{min-height:820px}.hero-scene{object-fit:cover;object-position:center}}
@media(max-width:1000px){.hero-inner{grid-template-columns:minmax(0,1fr);padding-top:320px}.release-slip{display:none}.hero{min-height:700px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-nav{gap:var(--space-sm)}.desktop-nav a{font-size:var(--text-sm)}}
@media(max-width:767px){html{scroll-padding-top:88px}.mast-inner{padding:var(--space-xs) var(--space-md);gap:var(--space-sm)}.brand{font-size:var(--text-base)}.brand img{width:32px;height:32px}.desktop-nav{display:none}.mobile-menu{display:block}.hero{min-height:0}.hero-inner{padding:280px var(--space-lg) var(--space-xl);gap:var(--space-md)}.hero-scene{height:350px;object-position:center}.hero:after{background:linear-gradient(to bottom,var(--color-overlay-clear),var(--color-night));height:355px}.hero-name{display:block}.game-logo{width:100px;margin:0 0 var(--space-md)}.hero h1{font-size:clamp(1.7rem,6vw,2.4rem)}.hero .lede{font-size:var(--text-base);max-width:100%}.original-name{font-size:var(--text-xs);max-width:32ch}.tags{margin-bottom:var(--space-md)}.actions{gap:var(--space-md)}.hero .actions{align-items:stretch}.hero .actions .button{font-size:var(--text-sm);padding:var(--space-sm) var(--space-md)}.folio{padding:var(--space-xl) var(--space-lg);box-shadow:none}.folio section+section{margin-top:var(--space-2xl)}.info-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}.stack{grid-template-columns:minmax(0,1fr)}.stack-rail{position:static}.stack-rail ul{display:none}.stack-frames{gap:var(--space-xl)}.thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.fit-list,.requirements,.chapter-links{grid-template-columns:minmax(0,1fr)}.download-band{padding:var(--space-lg)}.subhero{padding:var(--space-lg) var(--space-lg) var(--space-xl)}.subhero h1{font-size:var(--text-2xl)}.section-head{margin-bottom:var(--space-lg)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg) var(--space-sm)}.gallery-grid .media-link:after{content:'放大'}.gallery-grid figcaption{font-size:var(--text-xs)}footer{padding:var(--space-xl) var(--space-lg) 120px}.footer-name{font-size:var(--text-lg)}.footer-top{gap:var(--space-md)}.related{gap:var(--space-xs) var(--space-md)}.sticky-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);background:var(--color-night);color:var(--color-paper);border-top:var(--rule-hair) solid var(--color-light-rule);padding:var(--space-sm) var(--space-md) calc(var(--space-sm) + env(safe-area-inset-bottom));gap:var(--space-md);justify-content:space-between;align-items:center}.sticky-cta span{font-size:var(--text-xs);line-height:1.5}.sticky-cta .button{font-size:var(--text-sm);min-height:44px;box-shadow:none;padding:var(--space-sm) var(--space-md);flex-shrink:0}.dialog-image{height:56dvh}.dialog-bottom button,.dialog-bar button{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}.dialog-bar{align-items:flex-start}.dialog-caption{font-size:var(--text-sm)}.sequence{font-size:var(--text-lg)}}
@media(max-width:374px){.gallery-grid{grid-template-columns:minmax(0,1fr)}.hero .actions{flex-direction:column}.hero .actions .button{width:100%}.info-list{grid-template-columns:minmax(0,1fr)}.brand small{font-size:var(--text-xs)}.hero-inner{padding-top:230px}.hero-scene{height:300px}.hero:after{height:305px}.sticky-cta{gap:var(--space-sm)}.sticky-cta span{font-size:var(--text-xs)}.sticky-cta .button{padding:var(--space-sm);font-size:var(--text-xs)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover,.button:active{transform:none}}

/* Refined masthead and mobile fold after rendered QA. */
@media(min-width:768px){.mast-inner{display:grid;justify-content:stretch;gap:var(--space-2xs);padding-block:var(--space-xs)}.brand{justify-content:center;font-size:var(--text-lg)}.brand img{width:28px;height:28px}.brand small{display:inline;font-size:var(--text-xs);margin-left:var(--space-sm)}.desktop-nav{justify-content:center;gap:var(--space-lg)}.desktop-nav .button{min-height:40px;padding:var(--space-xs) var(--space-md);box-shadow:none}.hero{min-height:680px}.hero-inner{padding-block:var(--space-xl) var(--space-2xl)}.stack-rail{top:136px}}
@media(max-width:767px){.hero-name{display:grid;grid-template-columns:90px minmax(0,1fr);gap:var(--space-sm);align-items:start}.game-logo{width:90px;margin:0}.hero h1{font-size:clamp(1.55rem,4.6vw,2rem)}.hero-inner{padding-top:210px}.hero-scene{height:280px}.hero:after{height:285px}.hero .tags{font-size:var(--text-xs);gap:var(--space-xs);margin-bottom:var(--space-md)}.hero .tags span{padding-inline:var(--space-2xs)}.hero .lede{font-size:var(--text-sm)}.hero .actions{flex-direction:column;align-items:stretch}.hero .actions .button{width:100%}.hero p:not(.lede){font-size:var(--text-sm)}.original-name{font-size:var(--text-xs)}}
a:active:not(.button),summary:active{opacity:.75}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}.filter[data-state=loading]{cursor:progress}.filter[data-state=error]{outline:var(--rule-bold) solid var(--color-error)}.filter[data-state=success]{outline:var(--rule-bold) solid var(--color-success)}
@media(max-width:767px) and (max-height:760px){.hero-inner{padding-top:150px}.hero-scene{height:220px}.hero:after{height:225px}}

/* Two-tone focus boundary: inner ink clears gold, outer blue clears both paper and night. */
.button:focus-visible{box-shadow:0 0 0 2px var(--color-night),0 0 0 4px var(--color-paper);outline:3px solid var(--color-focus);outline-offset:4px}
