/* Hallmark · macrostructure: Workbench · tone: sporting narrative · anchor hue: yellow
 * theme: custom · axes: dark / roman Chinese serif / yellow · nav: N7 · footer: Ft5
 * enrichment: genuine gameplay panels · honest: pass · chrome: pass · tokens: pass
 * user-requested system Chinese fonts and fixed dialogue strip override catalog restrictions */
/* 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:calc(var(--nav-height) + var(--space-md))}body{margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.8;padding-bottom:100px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit;cursor:pointer;color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-style:normal;overflow-wrap:anywhere;min-width:0}h1{font-family:var(--font-display);font-size:var(--text-display);line-height:1.3;font-weight:800}h2{font-family:var(--font-display);font-size:clamp(1.65rem,2.7vw,2.4rem);line-height:1.4}h3{font-size:1.18rem;line-height:1.5}p+p{margin-top:var(--space-sm)}p{overflow-wrap:anywhere}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}a:active,button:active{transform:translateY(2px)}button:disabled,[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}[data-state=loading]{opacity:.75;cursor:progress}[data-state=error]{border-color:var(--color-alert)}[data-state=success]{border-color:var(--color-success)}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 32px));margin-inline:auto}.skip{position:fixed;top:-100px;left:16px;background:var(--color-accent);color:var(--color-paper);padding:var(--space-sm);z-index:100}.skip:focus{top:8px}.topbar{position:sticky;top:0;z-index:30;background:var(--color-paper);border-bottom:2px solid var(--color-rule)}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-block:var(--space-xs)}.brand{display:flex;align-items:center;gap:var(--space-xs);font-weight:700;white-space:nowrap}.brand img{width:36px;height:36px;border:1px solid var(--color-rule)}.site-note,.muted{color:var(--color-muted);font-size:var(--text-small)}.nav{display:flex;align-items:center;gap:var(--space-md);padding-block:var(--space-2xs);flex-wrap:wrap;font-size:.875rem}.nav a{display:inline-flex;min-height:44px;align-items:center;white-space:nowrap}.nav a[aria-current=page]{color:var(--color-accent);box-shadow:inset 0 -2px var(--color-accent)}.nav .nav-cta{margin-left:auto;color:var(--color-paper);background:var(--color-accent);padding-inline:var(--space-sm);font-weight:700}.intro-head{padding-top:var(--space-lg);padding-bottom:var(--space-md)}.intro-meta{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center;margin-bottom:var(--space-sm);color:var(--color-ink-2);font-size:var(--text-small)}.label{border:1px solid var(--color-rule);padding:0 var(--space-2xs);color:var(--color-ink-2)}.intro-head .subname{font-size:.9rem;color:var(--color-ink-2);display:block;margin-top:var(--space-2xs);font-family:var(--font-body);font-weight:400}.lede{max-width:68ch;color:var(--color-ink-2);margin-top:var(--space-sm)}.hero-workbench{display:grid;gap:var(--space-md);padding-bottom:var(--space-xl)}.main-view{border:1px solid var(--color-rule);background:var(--color-paper-2)}.main-view a{display:block}.shot-cap{padding:var(--space-xs) var(--space-sm);display:flex;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-small);color:var(--color-ink-2)}.shot-cap a{white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2xs);margin-top:var(--space-2xs)}.thumb{border:1px solid var(--color-rule);background:var(--color-paper-2);min-width:0}.thumb span{display:block;font-size:var(--text-small);text-align:center;padding:var(--space-3xs)}.thumb img{aspect-ratio:16/9;object-fit:contain}.dossier{padding:var(--space-md);background:var(--color-paper-2);border:1px solid var(--color-rule);display:flex;flex-direction:column}.dossier h2{font-size:1.4rem}.data-grid{margin:var(--space-sm) 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}dt{font-size:var(--text-small);color:var(--color-muted)}dd{margin:0;font-weight:600;font-size:.95rem}.dossier .mini{font-size:var(--text-small);color:var(--color-ink-2)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-xs);min-height:48px;padding:var(--space-xs) var(--space-md);font-weight:700;border:1px solid var(--color-rule);white-space:nowrap;box-shadow:0 4px var(--color-rule);background:var(--color-paper-2);line-height:1.3;transition:transform var(--dur-fast) var(--ease-out)}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.btn:active{transform:translateY(2px);box-shadow:0 2px var(--color-rule)}.dossier .btn{margin-top:var(--space-sm);width:100%;padding-inline:var(--space-xs)}.dossier .secondary{font-size:var(--text-small);margin-top:var(--space-sm);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.dossier .fine{font-size:.75rem;margin-top:var(--space-sm);color:var(--color-muted)}.bookmark-list{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-top:var(--space-md)}.bookmark-list a{font-size:var(--text-small);white-space:nowrap;min-height:44px;display:flex;align-items:center;border-bottom:1px solid var(--color-rule)}.section{padding-block:var(--space-2xl)}.section-head{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.section-head p{max-width:65ch;color:var(--color-ink-2)}.paper{background:var(--color-washi);color:var(--color-washi-ink)}.paper .section-head p,.paper p{color:var(--color-washi-muted)}.paper a:focus-visible,.paper summary:focus-visible{outline-color:var(--color-stamp)}.story-layout{display:grid;gap:var(--space-lg)}.prose{max-width:68ch}.prose p{margin-top:var(--space-sm)}.seal{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:2px solid var(--color-stamp);color:var(--color-stamp);font-family:var(--font-display);font-size:1.2rem;margin-bottom:var(--space-sm)}.story-photo{border:1px solid var(--color-washi-rule);align-self:start}.story-photo figcaption{padding:var(--space-xs);font-size:var(--text-small)}.mechanics{display:grid;gap:var(--space-md)}.mechanic{border:1px solid var(--color-rule);min-width:0;display:grid;background:var(--color-paper-2)}.mechanic .copy{padding:var(--space-md)}.mechanic p{font-size:.9375rem;margin-top:var(--space-xs);color:var(--color-ink-2)}.mechanic .text-link{margin-top:var(--space-sm)}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;white-space:nowrap;text-decoration:underline;text-underline-offset:5px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.gallery-item{min-width:0;border:1px solid var(--color-rule);background:var(--color-paper-2)}.gallery-item figcaption{padding:var(--space-sm);font-size:var(--text-small)}.gallery-item figcaption b{display:block;font-size:.95rem}.filterbar{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-bottom:var(--space-md)}.filterbar button{border:1px solid var(--color-rule);background:var(--color-paper-2);padding:var(--space-2xs) var(--space-sm);min-height:44px;font-size:.875rem;white-space:nowrap}.filterbar button[aria-pressed=true]{background:var(--color-accent);color:var(--color-paper);border-color:var(--color-accent)}.filter-status{font-size:var(--text-small);color:var(--color-muted);margin-bottom:var(--space-sm)}.faq{max-width:900px}.faq details{border-bottom:1px solid var(--color-rule);padding-block:var(--space-sm)}summary{cursor:pointer;min-height:44px;display:list-item;font-weight:600;padding-right:var(--space-sm)}details p,details ul{color:var(--color-ink-2);margin-top:var(--space-xs)}.updates{display:grid;gap:var(--space-md)}.update{display:grid;gap:var(--space-sm);border-top:1px solid var(--color-rule);padding-top:var(--space-md)}.update time{font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-muted)}.update h3{margin-top:var(--space-2xs)}.update ul{margin:0;padding-left:var(--space-md);color:var(--color-ink-2)}.update-source{font-size:var(--text-small);color:var(--color-muted);display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;white-space:nowrap}.route-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-block:var(--space-md)}.route-strip a{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-rule);font-weight:600;white-space:nowrap}.route-strip a span{font-family:var(--font-mono);color:var(--color-accent)}.crumbs{display:flex;flex-wrap:wrap;gap:var(--space-2xs);font-size:var(--text-small);color:var(--color-muted);margin-bottom:var(--space-sm)}.crumbs a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.crumbs span{display:inline-flex;align-items:center}.page-title{padding-block:var(--space-lg)}.page-title h1{font-size:clamp(1.7rem,3.2vw,2.8rem)}.page-title h1 span{display:block}.content-layout{display:grid;gap:var(--space-lg)}.toc{border-top:2px solid var(--color-accent);padding:var(--space-sm);background:var(--color-paper-2);align-self:start}.toc h2{font-family:var(--font-body);font-size:1rem}.toc a{display:flex;min-height:44px;align-items:center;white-space:nowrap;font-size:.875rem}.article-block{padding-bottom:var(--space-xl);margin-bottom:var(--space-lg);border-bottom:1px solid var(--color-rule);scroll-margin-top:calc(var(--nav-height) + var(--space-md))}.article-block h2{margin-bottom:var(--space-sm)}.article-block p,.article-block li{color:var(--color-ink-2)}.article-block p{max-width:68ch}.article-block ol,.article-block ul{padding-left:var(--space-md);max-width:68ch}.article-block li+li{margin-top:var(--space-xs)}.article-block figure{margin-block:var(--space-md);border:1px solid var(--color-rule)}.article-block figcaption{padding:var(--space-xs);color:var(--color-muted);font-size:var(--text-small)}.callout{background:var(--color-paper-2);padding:var(--space-md);margin-block:var(--space-md);border:1px solid var(--color-rule)}.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin:var(--space-md) 0}.specs div{border-bottom:1px solid var(--color-rule);padding-bottom:var(--space-sm)}.download-panel{border:1px solid var(--color-rule);padding:var(--space-md);background:var(--color-paper-2);margin-bottom:var(--space-lg)}.download-panel .actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-md)}.notice{font-size:var(--text-small);margin-top:var(--space-md);color:var(--color-ink-2)}.footer{padding-block:var(--space-xl);border-top:1px solid var(--color-rule)}.footer .closing{font-size:clamp(1.5rem,3vw,2.5rem);font-family:var(--font-display);margin-bottom:var(--space-md);line-height:1.5}.footer-nav,.related{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-md);font-size:var(--text-small)}.footer a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.footer .rights{font-size:.75rem;color:var(--color-muted);margin-top:var(--space-md)}.related-title{margin-top:var(--space-md);font-size:var(--text-small);color:var(--color-muted)}.dialogue-strip{position:fixed;bottom:0;left:0;right:0;z-index:35;background:var(--color-shade);border-top:1px solid var(--color-rule);padding:var(--space-xs) 0;padding-bottom:calc(var(--space-xs) + env(safe-area-inset-bottom))}.dialogue-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.dialogue-name{display:block;font-size:.75rem;color:var(--color-accent);line-height:1.3}.dialogue-text{font-size:.875rem}.dialogue-inner .btn{min-height:44px;box-shadow:none;padding:var(--space-xs) var(--space-sm);font-size:.875rem}.quicklinks{display:none}.backtop{display:none}.lightbox{width:min(1440px,96vw);max-width:96vw;max-height:94dvh;border:1px solid var(--color-rule);padding:var(--space-sm);background:var(--color-paper);color:var(--color-ink)}.lightbox::backdrop{background:var(--color-shade)}.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.lightbox button{min-width:44px;min-height:44px;background:var(--color-paper-2);border:1px solid var(--color-rule);padding:var(--space-2xs) var(--space-sm);white-space:nowrap}.lightbox img{width:100%;max-height:68dvh;object-fit:contain;background:var(--color-paper-2)}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-sm);font-size:var(--text-small)}.lightbox-bottom p{line-height:1.5}.lightbox-status{font-size:var(--text-small);min-height:24px}.lightbox [data-state=error]{color:var(--color-alert)}.lightbox[open]{animation:appear var(--dur-fast) var(--ease-out)}@keyframes appear{from{opacity:0}to{opacity:1}}@media(hover:hover){.btn:hover{opacity:.9}.nav a:not(.nav-cta):hover,.text-link:hover,.footer a:hover{color:var(--color-accent)}.thumb:hover,.gallery-item:hover{border-color:var(--color-accent)}.filterbar button:hover{border-color:var(--color-accent)}}
@media(min-width:640px){.wrap{width:min(1280px,calc(100% - 64px))}.brand-row{padding-block:var(--space-sm)}.intro-head{padding-top:var(--space-xl)}.story-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mechanics{grid-template-columns:repeat(2,minmax(0,1fr))}.update{grid-template-columns:220px minmax(0,1fr)}.quicklinks{display:flex;gap:var(--space-md);margin-left:auto}.quicklinks a{white-space:nowrap;font-size:var(--text-small);min-height:44px;display:flex;align-items:center}.backtop{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--color-rule)}.dialogue-text{font-size:1rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid .gallery-item:first-child{grid-column:span 2;grid-row:span 2}.gallery-grid .gallery-item:first-child img{width:100%}.gallery-grid .gallery-item:first-child a{display:block}.site-note{font-size:var(--text-small)}}
@media(min-width:1000px){:root{--nav-height:76px}.topbar>.wrap{display:flex;align-items:center;gap:var(--space-lg)}.brand-row{min-width:260px}.site-note{display:none}.nav{flex:1;justify-content:flex-end;gap:var(--space-md)}.nav .nav-cta{margin-left:var(--space-sm)}.hero-workbench{grid-template-columns:minmax(0,1fr) 340px;align-items:stretch}.dossier{padding:var(--space-md)}.content-layout{grid-template-columns:220px minmax(0,1fr)}.toc{position:sticky;top:calc(var(--nav-height) + var(--space-md))}.content-layout .main-article{max-width:900px}.mechanic{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.mechanic img{height:100%;object-fit:cover}.mechanic a{height:100%}.dialogue-inner .btn{padding-inline:var(--space-md)}}
@media(max-width:374px){.site-note{display:none}.nav{gap:var(--space-sm)}.nav .nav-cta{padding-inline:var(--space-xs)}.intro-head .subname{font-size:.8rem}.gallery-grid{grid-template-columns:minmax(0,1fr)}.route-strip{grid-template-columns:minmax(0,1fr)}.dialogue-text{font-size:.75rem}.dialogue-inner .btn{font-size:.8125rem;padding-inline:var(--space-xs)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.btn:active,a:active,button:active{transform:none}}

/* Compact functional header: preserve the scene, not a marketing poster. */
@media(min-width:640px){.intro-head{padding-top:var(--space-lg)}.intro-head h1{font-size:clamp(2rem,3.1vw,2.8rem)}}
@media(max-width:999px){:root{--nav-height:124px}.nav{gap:var(--space-xs);flex-wrap:nowrap;font-size:.8125rem}.nav .nav-cta{padding-inline:var(--space-xs)}.nav a{min-height:44px}.brand-row{padding-block:var(--space-xs)}}

@media(max-width:639px){.title-part{display:block}}
