/* Hallmark · macrostructure: Bento Grid · tone: imperial production command board · anchor hue: warning yellow
 * theme: custom inherited user palette · nav: N7 · footer: Ft1 · display: Chinese heavy sans · body: Chinese sans + reading serif
 * pre-emit critique: P4 H5 E4 S5 R5 V4 · honest: pass · chrome: pass · tokens: pass · user-directed Chinese system typography exception
 */
@import url("../../tokens.css");
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + var(--space-lg))}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.75;padding-bottom:100px}a{color:inherit;text-decoration:none}a:not(.btn):hover{color:var(--color-accent)}button,summary{font:inherit;color:inherit;cursor:pointer}button{border:var(--rule-width) solid var(--color-rule);background:var(--color-panel);padding:var(--space-sm) var(--space-md)}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--font-display);font-style:normal;overflow-wrap:anywhere;min-width:0;line-height:1.25}h1{font-size:var(--text-display);font-weight:900;margin:var(--space-md) 0 var(--space-lg);letter-spacing:-.03em}h2{font-size:clamp(1.7rem,2.8vw,2.6rem);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)}figure{margin:0}button,a,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]{cursor:progress;opacity:.75}[data-state=error]{border-color:var(--color-red)}[data-state=success]{border-color:var(--color-success)}[hidden]{display:none!important}.wrap{max-width:1328px;margin:auto;padding-inline:var(--space-xl)}.muted{color:var(--color-muted)}.read{max-width:65ch}.small{font-size:var(--text-sm)}.skip{position:fixed;top:-80px;left:var(--space-md);z-index:1000;background:var(--color-accent);color:var(--color-paper);padding:var(--space-md)}.skip:focus{top:var(--space-sm)}.nav{position:sticky;top:0;z-index:50;background:var(--color-paper);border-bottom:2px solid var(--color-rule)}.nav-inner{min-height:76px;display:flex;align-items:center;gap:var(--space-lg)}.brand{font-weight:900;letter-spacing:.08em;font-size:var(--text-lg);display:flex;gap:var(--space-sm);align-items:center}.brand img{width:32px;height:32px}.brand span{color:var(--color-accent)}.nav nav{display:flex;align-items:center;gap:var(--space-lg);margin-left:auto}.nav a,.mobile-menu summary{white-space:nowrap}.nav nav a{min-height:44px;display:inline-flex;align-items:center;font-size:var(--text-sm)}.nav [aria-current=page]{border-bottom:2px solid var(--color-accent)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-md);min-height:48px;padding:var(--space-sm) var(--space-lg);font-weight:750;font-size:var(--text-sm);white-space:nowrap;border:1px solid var(--color-rule);background:var(--color-panel);box-shadow:0 4px 0 var(--color-neutral);transition:transform var(--dur-short) var(--ease-out)}.btn.primary{color:var(--color-paper);background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 4px 0 var(--color-neutral)}.btn:hover{border-color:var(--color-ink)}.btn:active{box-shadow:0 2px 0 var(--color-neutral)}.btn.secondary{background:var(--color-transparent)}.mobile-menu{display:none}.breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding-block:var(--space-lg);font-size:var(--text-sm);color:var(--color-muted)}.breadcrumb a{white-space:nowrap;min-height:44px;display:flex;align-items:center}.breadcrumb span{display:flex;align-items:center}.hero{padding-block:var(--space-lg) var(--space-2xl);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-xl);align-items:start}.hero-copy{padding-top:var(--space-sm)}.game-logo{width:122px;height:78px;margin-bottom:var(--space-md)}.original{color:var(--color-muted);font-size:var(--text-sm);letter-spacing:.03em}.lede{max-width:42ch;color:var(--color-muted);margin:var(--space-lg) 0;font-size:var(--text-lg)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);font-size:var(--text-xs)}.tag{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-rule);color:var(--color-muted)}.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-md);margin:var(--space-lg) 0}.audience{color:var(--color-muted);font-size:var(--text-xs);max-width:48ch}.hero-media{min-width:0}.media-frame{border:1px solid var(--color-rule);background:var(--color-panel)}.media-frame>a{display:block}.media-frame img{aspect-ratio:16/9;object-fit:contain;width:100%}.media-frame figcaption{padding:var(--space-md);display:flex;justify-content:space-between;gap:var(--space-md);font-size:var(--text-sm)}.media-frame figcaption span{color:var(--color-muted);font-size:var(--text-xs)}.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);margin-top:var(--space-sm)}.thumbs a{display:block;min-width:0;border:2px solid var(--color-transparent);background:var(--color-panel);font-size:var(--text-xs)}.thumbs a[aria-current=true]{border-color:var(--color-accent)}.thumbs img{aspect-ratio:16/9;width:100%}.thumbs span{display:block;padding:var(--space-xs) var(--space-sm)}.archive{border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:var(--space-lg);gap:var(--space-lg)}.archive dt{font-size:var(--text-xs);color:var(--color-muted)}.archive dd{margin:var(--space-xs) 0 0;font-size:var(--text-sm)}.chapter-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);padding-block:var(--space-xl)}.chapter-links a{padding:var(--space-md);border:1px solid var(--color-rule);font-size:var(--text-sm);display:flex;align-items:center;justify-content:space-between;min-height:60px;white-space:nowrap}.chapter-links a:after{content:'↗';color:var(--color-muted)}.paper{background:var(--color-washi);color:var(--color-washi-ink);padding:var(--space-2xl);position:relative}.paper a:hover{color:var(--color-washi-ink);text-decoration:underline}.paper .muted{color:var(--color-washi-muted)}.paper:before{content:'';position:absolute;top:0;right:0;width:48px;height:48px;background:var(--color-paper);clip-path:polygon(100% 0,100% 100%,0 0)}.story-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-2xl);align-items:start}.story-grid .read{font-family:var(--font-reading);font-size:var(--text-lg);line-height:1.9}.stamp{display:inline-block;border:2px solid var(--color-red);color:var(--color-red);padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);letter-spacing:.12em;margin-bottom:var(--space-lg)}.loop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);margin-top:var(--space-xl)}.loop div{padding:var(--space-md);border-top:2px solid var(--color-washi-rule)}.loop strong{display:block;margin-bottom:var(--space-sm)}.loop p{font-size:var(--text-sm);margin:0;color:var(--color-washi-muted)}.section{padding-block:var(--space-3xl)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl)}.section-head h2{margin:0}.section-head p{color:var(--color-muted);margin:0;max-width:44ch}.mechanics{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-lg)}.mechanics figure{grid-row:span 2}.mechanics img{width:100%;aspect-ratio:16/9;object-fit:contain}.mechanics figcaption{font-size:var(--text-sm);color:var(--color-muted);padding-top:var(--space-sm)}.mechanic{padding:var(--space-lg);border:1px solid var(--color-rule);background:var(--color-panel)}.mechanic p{color:var(--color-muted);font-size:var(--text-sm)}.mechanic a{font-size:var(--text-sm);text-decoration:underline;text-underline-offset:4px}.cast{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-xl)}.portrait{background:var(--color-panel)}.portrait img{width:100%;max-height:480px;object-fit:contain}.portrait figcaption{padding:var(--space-md);font-size:var(--text-sm)}.cast-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.character{border:1px solid var(--color-rule);padding:var(--space-lg)}.character:nth-child(2){background:var(--color-panel)}.character h3{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:baseline}.character h3 span{font-size:var(--text-xs);font-weight:400;color:var(--color-muted)}.character .role{font-size:var(--text-xs);color:var(--color-accent)}.character p{color:var(--color-muted);font-size:var(--text-sm)}.faq{max-width:960px}.faq details{border-bottom:1px solid var(--color-rule)}summary{padding:var(--space-lg) 0;min-height:44px;list-style:none;display:flex;justify-content:space-between;gap:var(--space-lg);font-weight:700}summary:after{content:'+';font-weight:400}details[open]>summary:after{content:'−'}.faq details>div{max-width:65ch;padding-bottom:var(--space-lg);color:var(--color-muted)}.get-panel{border:1px solid var(--color-rule);padding:var(--space-xl);display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-xl);align-items:center;background:var(--color-panel)}.get-panel p{color:var(--color-muted)}.foot{border-top:2px solid var(--color-rule);padding-block:var(--space-2xl)}.foot-mast{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);flex-wrap:wrap}.foot-mark{font-weight:900;font-size:var(--text-2xl);letter-spacing:.04em}.foot-links,.related{display:flex;gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;font-size:var(--text-xs);color:var(--color-muted)}.foot a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.foot-small{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-lg);max-width:85ch}.dock{position:fixed;bottom:0;left:0;right:0;z-index:45;background:var(--color-dialogue);border-top:1px solid var(--color-rule)}.dock-inner{padding-block:var(--space-md);display:flex;gap:var(--space-lg);align-items:center}.dock-copy{display:flex;align-items:center;gap:var(--space-md);flex:1;min-width:0;font-size:var(--text-sm)}.speaker{border:1px solid var(--color-rule);padding:var(--space-xs) var(--space-sm);white-space:nowrap;color:var(--color-accent)}.dock-copy p{margin:0;color:var(--color-muted)}.dock .btn{min-height:44px}.backtop{font-size:var(--text-xs);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;white-space:nowrap}.page-head{padding-block:var(--space-lg) var(--space-xl);max-width:70ch}.page-head h1{font-size:clamp(2rem,3.5vw,3.3rem)}.page-head p{color:var(--color-muted);font-size:var(--text-lg)}.sub-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:var(--space-2xl)}.toc{position:sticky;top:calc(var(--nav-height) + var(--space-lg));height:max-content;border-top:2px solid var(--color-accent);padding-top:var(--space-lg)}.toc a{display:block;min-height:44px;padding:var(--space-sm) 0;font-size:var(--text-sm);white-space:nowrap}.article-section{padding-bottom:var(--space-2xl);margin-bottom:var(--space-xl);border-bottom:1px solid var(--color-rule);scroll-margin-top:calc(var(--nav-height) + var(--space-lg))}.article-section p,.article-section li{max-width:65ch;color:var(--color-muted)}.article-section h2{font-size:var(--text-2xl)}.article-section ol,.article-section ul{padding-left:var(--space-lg)}.article-section li{margin-bottom:var(--space-md)}.inline-image{margin-block:var(--space-lg)}.inline-image figcaption{font-size:var(--text-xs);color:var(--color-muted);padding-top:var(--space-sm)}.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}.specs>div{border:1px solid var(--color-rule);padding:var(--space-lg)}.specs dl{margin:0}.specs dt{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-sm)}.specs dd{margin:0;font-size:var(--text-sm)}.notice{border:1px solid var(--color-rule);padding:var(--space-lg);background:var(--color-panel);font-size:var(--text-sm)}.filters{display:none;flex-wrap:wrap;gap:var(--space-sm);margin-block:var(--space-xl)}.js .filters{display:flex}.filters button{min-height:44px;white-space:nowrap}.filters [aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);padding-bottom:var(--space-3xl)}.gallery-card{border:1px solid var(--color-rule);background:var(--color-panel)}.gallery-card img{width:100%;aspect-ratio:16/9}.gallery-card figcaption{padding:var(--space-md);font-size:var(--text-sm)}.gallery-card figcaption span{display:block;color:var(--color-muted);font-size:var(--text-xs)}.gallery-link{display:block}dialog{color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-rule);padding:var(--space-md);max-width:1200px;width:calc(100% - 32px);max-height:92dvh;overflow:auto}dialog::backdrop{background:var(--color-overlay)}.light-head,.light-controls{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-block:var(--space-sm)}.light-head button,.light-controls button{min-height:44px;white-space:nowrap}.light-image{width:100%;max-height:70dvh;object-fit:contain;aspect-ratio:16/9}.light-status{color:var(--color-muted);font-size:var(--text-sm)}.light-controls span{font-size:var(--text-xs)}.calculator{margin-block:var(--space-lg);padding:var(--space-lg);background:var(--color-washi);color:var(--color-washi-ink)}.calculator p{color:var(--color-washi-muted);font-size:var(--text-sm)}.calculator strong{font-size:var(--text-lg)}
@media(max-width:1100px){.nav nav{gap:var(--space-md)}.nav-inner{gap:var(--space-md)}.brand{font-size:var(--text-body)}.hero{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.hero h1{font-size:2.7rem}.story-grid{gap:var(--space-lg)}.cast-list{gap:var(--space-sm)}}
@media(max-width:800px){:root{--nav-height:68px}.wrap{padding-inline:var(--space-lg)}.nav-inner{min-height:68px}.nav nav{display:none}.nav-inner>.btn{margin-left:auto}.mobile-menu{display:block;position:relative}.mobile-menu summary{padding:var(--space-sm);font-size:var(--text-sm)}.mobile-menu summary:after{display:none}.mobile-menu nav{position:absolute;right:0;top:54px;width:200px;background:var(--color-panel);border:1px solid var(--color-rule);padding:var(--space-md);display:flex;flex-direction:column;align-items:stretch;gap:0}.mobile-menu nav a{padding-inline:var(--space-sm)}.hero{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}.hero h1{font-size:clamp(2.25rem,7vw,3rem)}.hero-copy{padding-top:0}.game-logo{width:88px;height:auto}.lede{font-size:var(--text-body);margin-block:var(--space-md)}.hero .cta-row{margin-block:var(--space-md)}.hero{padding-top:var(--space-sm)}.archive{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-links{grid-template-columns:repeat(2,minmax(0,1fr))}.paper{padding:var(--space-xl) var(--space-lg)}.story-grid,.mechanics,.cast,.get-panel,.sub-layout{grid-template-columns:minmax(0,1fr)}.loop{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding-block:var(--space-2xl)}.section-head{display:block}.section-head p{margin-top:var(--space-md)}.cast{gap:var(--space-lg)}.portrait{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.portrait img{max-height:320px}.character{padding:var(--space-md)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toc{position:static;grid-row:1;display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);padding-top:var(--space-md);margin-bottom:var(--space-lg)}.toc strong{flex-basis:100%}.toc a{padding:var(--space-xs) 0}.dock-copy .speaker{display:none}.dock-copy p{font-size:var(--text-xs)}.dock-inner{padding-block:var(--space-sm);gap:var(--space-sm)}.dock .btn{padding-inline:var(--space-md)}.backtop{display:none}.breadcrumb{padding-block:var(--space-sm)}.page-head{padding-top:var(--space-sm)}}
@media(max-width:480px){.wrap{padding-inline:var(--space-md)}.brand{font-size:.85rem;letter-spacing:0}.brand img{width:28px;height:28px}.nav-inner{gap:var(--space-sm)}.nav-inner>.btn{min-height:44px;padding-inline:var(--space-sm);font-size:var(--text-xs)}.mobile-menu summary{padding-inline:var(--space-xs)}.cta-row{gap:var(--space-sm)}.cta-row .btn{padding-inline:var(--space-md)}.hero h1{margin-block:var(--space-sm) var(--space-md)}.game-logo{display:none}.original{font-size:var(--text-xs)}.audience{font-size:var(--text-xs)}.thumbs span{padding-inline:var(--space-xs);font-size:.65rem}.chapter-links{gap:var(--space-sm)}.chapter-links a{padding:var(--space-md) var(--space-sm)}.loop{grid-template-columns:minmax(0,1fr)}.cast-list{grid-template-columns:minmax(0,1fr)}.gallery-grid{grid-template-columns:minmax(0,1fr)}.specs{grid-template-columns:minmax(0,1fr)}.light-head{align-items:start}.light-head strong{font-size:var(--text-sm)}.light-controls button{padding-inline:var(--space-sm);font-size:var(--text-sm)}.portrait{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dock-copy{max-width:140px}.dock-copy p{line-height:1.45}.dock .btn{margin-left:auto}.story-grid .read{font-size:var(--text-body)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}a:active,button:active{transform:none}}

h1 .original{display:block;line-height:1.5;font-weight:400;letter-spacing:0;margin-top:var(--space-lg);font-size:var(--text-sm)}.get-meta{margin-top:var(--space-md)}
