/* Hallmark · macrostructure: City Daybook (bespoke) · tone: midnight indie folio · anchor hue: warm gold
 * theme: custom · nav: N9 edge with native directory · footer: Ft6 letter close
 * hero: full scene, left title plate · body: central paper and alternating artwork/prose
 * display: native Chinese roman serif · body: native Chinese sans · axes: wine / roman-serif / gold
 * pre-emit critique: P4 H5 E4 S5 R5 V4 */
@import url('tokens.css');
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--color-page);color:var(--color-ink);font:var(--text-base)/1.85 var(--font-body);padding-bottom:5.5rem}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.3;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display);margin:0 0 var(--space-lg)}h2{font-size:var(--text-2xl);margin:0 0 var(--space-lg)}h3{font-size:var(--text-xl);margin:0 0 var(--space-sm)}p{margin:0 0 var(--space-md);max-width:65ch}a{color:inherit;text-underline-offset:.25em}img{max-width:100%;height:auto;display:block}a,button,summary{-webkit-tap-highlight-color:var(--color-clear)}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}a:hover{text-decoration-thickness:2px}.skip{position:fixed;z-index:60;top:.5rem;left:.5rem;background:var(--color-paper);padding:var(--space-sm);transform:translateY(-200%)}.skip:focus{transform:none}.mast{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) clamp(1rem,4vw,4rem);background:var(--color-dark);color:var(--color-on-dark);min-height:4.5rem}.brand{display:flex;gap:var(--space-sm);align-items:center;font-family:var(--font-display);font-weight:700;text-decoration:none;white-space:nowrap}.brand img{width:38px;height:38px}.mast details{position:relative}.mast summary{cursor:pointer;white-space:nowrap;padding:var(--space-sm);min-height:44px}.mast nav{position:absolute;right:0;top:100%;min-width:14rem;background:var(--color-paper);color:var(--color-ink);padding:var(--space-md);box-shadow:5px 5px 0 var(--color-shadow);display:grid;gap:var(--space-xs)}.mast nav a{padding:var(--space-xs);min-height:44px;white-space:nowrap;text-decoration:none}.mast nav a[aria-current]{font-weight:700;text-decoration:underline}.hero{position:relative;min-height:calc(100svh - 4.5rem);display:flex;align-items:flex-end;background:var(--color-dark);color:var(--color-on-dark)}.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,var(--color-hero-top),var(--color-overlay));pointer-events:none}.hero-copy{position:relative;z-index:1;width:min(100%,1120px);margin:auto;padding:var(--space-2xl) clamp(1rem,4vw,4rem)}.real-game-logo{width:260px;max-width:70vw;height:auto;max-height:unset;object-fit:contain;margin-bottom:var(--space-md)}.hero h1{max-width:22ch}.original{display:block;font:400 var(--text-sm)/1.65 var(--font-body);margin-top:var(--space-sm)}.hero .lead{color:var(--color-on-dark);font-size:var(--text-lg);max-width:37ch}.tags,.actions,.footer-links,.related,.filter,.toc{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.tags{margin:var(--space-lg) 0}.tags span{border:var(--rule-hair) solid var(--color-dark-muted);font-size:var(--text-sm);padding:.2rem var(--space-xs);white-space:nowrap}.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:2px solid var(--color-dark);border-radius:var(--radius-sm);font-weight:700;text-decoration:none;white-space:nowrap;background:var(--color-accent);color:var(--color-accent-ink);box-shadow:4px 4px 0 var(--color-dark);transition:transform var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--color-accent-hover)}.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-dark)}.btn.secondary{background:var(--color-paper);color:var(--color-ink);box-shadow:none}.btn[disabled],.btn[aria-disabled='true']{opacity:.5;cursor:not-allowed;box-shadow:none}.btn[data-state=loading]{opacity:.65;cursor:wait}.btn[data-state=error]{border-style:dashed;border-color:var(--color-error)}.btn[data-state=success]{border-width:3px;border-color:var(--color-success)}.paper{width:min(100% - 2rem,1000px);margin:0 auto;background:var(--color-paper);padding:var(--space-xl) clamp(1rem,4vw,4rem);box-shadow:8px 8px 0 var(--color-shadow)}.home-paper{position:relative}.paper>section,.paper>article>section{padding-block:var(--space-xl)}.paper>section+section,.paper>article>section+section{border-top:var(--rule-hair) solid var(--color-rule)}.sub-paper{margin-top:var(--space-xl)}.crumb{display:flex;flex-wrap:wrap;gap:var(--space-xs);font-size:var(--text-sm);margin-bottom:var(--space-lg)}.crumb a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.intro{border-bottom:2px solid var(--color-ink);padding-bottom:var(--space-xl);margin-bottom:var(--space-lg)}.small,.muted{font-size:var(--text-sm);color:var(--color-muted)}.hero .small{color:var(--color-dark-muted);margin-top:var(--space-md)}.info{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0}.info div{display:flex;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:var(--rule-hair) solid var(--color-rule)}dt{color:var(--color-muted)}dd{margin:0;text-align:right}.spread{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:center}.spread figure{margin:0}.portrait{width:100%;aspect-ratio:16/9;object-fit:cover}.note{border-top:1px solid var(--color-rule);background:var(--color-paper-2);padding:var(--space-lg);margin-block:var(--space-lg)}.mechanics{display:grid;gap:var(--space-lg);margin-top:var(--space-xl)}.mechanics article{padding-bottom:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule)}figure{margin:0}figcaption{font-size:var(--text-sm);color:var(--color-muted);padding-top:var(--space-xs)}.gallery-feature img,.gallery-grid img,.thumbs img{aspect-ratio:16/9;width:100%;object-fit:cover}.gallery-feature{margin-bottom:var(--space-md)}.thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.thumbs a,.gallery-grid a{display:block;position:relative}.thumbs a:after,.gallery-grid a:after{content:'放大';position:absolute;right:.5rem;bottom:.5rem;background:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);padding:.15rem .5rem}.gallery-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.filter{margin-bottom:var(--space-lg)}.filter button{padding:var(--space-xs) var(--space-md);min-height:44px;background:var(--color-paper);border:1px solid var(--color-ink);white-space:nowrap;color:var(--color-ink)}.filter button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper)}.filter button:hover{background:var(--color-paper-2)}.filter button:active{transform:translateY(1px)}[hidden]{display:none!important}.toc{padding:var(--space-md) 0;border-block:var(--rule-hair) solid var(--color-rule);margin:var(--space-lg) 0}.toc a{min-height:44px;padding:var(--space-xs);white-space:nowrap}ol,ul{padding-left:var(--space-lg)}li+li{margin-top:var(--space-sm)}.steps li{padding-left:var(--space-xs);margin-top:var(--space-lg)}.faq details{border-bottom:var(--rule-hair) solid var(--color-rule)}.faq summary{font-weight:700;cursor:pointer;min-height:52px;padding:var(--space-md) 0}.faq details p{padding-bottom:var(--space-md)}.faq details[open] summary{color:var(--color-page)}.get-card{background:var(--color-dark);color:var(--color-on-dark);padding:var(--space-lg);margin:var(--space-lg) 0;border:1px solid var(--color-accent)}.get-card p{color:var(--color-dark-muted)}.get-card .actions{margin-block:var(--space-lg)}.final{padding-block:var(--space-xl)}.footer{width:min(100% - 2rem,1000px);margin:0 auto;padding:var(--space-xl) clamp(1rem,4vw,4rem);background:var(--color-dark);color:var(--color-on-dark)}.sign{display:flex;gap:var(--space-md);align-items:center;font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-lg)}.sign img{width:52px;height:52px}.footer .small{color:var(--color-dark-muted)}.footer-links,.related{margin:var(--space-lg) 0}.footer-links a,.related a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--text-sm)}.related{gap:var(--space-xs) var(--space-lg)}.sticky-cta{position:fixed;z-index:35;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);padding-bottom:max(var(--space-xs),env(safe-area-inset-bottom));background:var(--color-dark);color:var(--color-on-dark);border-top:1px solid var(--color-accent)}.sticky-cta span{font-size:var(--text-sm)}.sticky-cta .btn{min-height:44px;padding:var(--space-xs) var(--space-md);box-shadow:none}.lightbox{width:min(94%,1100px);max-height:90dvh;padding:var(--space-md);border:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink)}.lightbox::backdrop{background:var(--color-overlay)}.lightbox img{width:100%;max-height:65dvh;object-fit:contain}.lightbox .controls{display:flex;justify-content:space-between;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-md)}.lightbox .controls button{min-height:44px;padding:var(--space-xs) var(--space-md);background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-ink);white-space:nowrap}.lightbox button:hover{background:var(--color-paper-2)}.lightbox button:active{transform:translateY(1px)}.lightbox button:disabled{opacity:.5;cursor:not-allowed}.lightbox[data-state=loading] img{opacity:.35}.lightbox[data-state=error] [data-status]{color:var(--color-error);border-left:3px solid var(--color-error);padding-left:var(--space-sm)}.lightbox[data-state=success] [data-status]{color:var(--color-muted)}.back-top{display:inline-flex;min-height:44px;align-items:center;white-space:nowrap}
@media(min-width:40rem){.info{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-xl)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.mechanics{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{padding-bottom:var(--space-3xl)}.hero h1{max-width:24ch}.real-game-logo{width:280px}.get-card{padding:var(--space-xl)}}
@media(min-width:60rem){.spread{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.spread.reverse figure{order:2}.hero-copy{padding-top:var(--space-3xl)}.hero .lead{max-width:40ch}.paper{padding-block:var(--space-2xl)}.gallery-grid figure:first-child{grid-column:1/-1}.gallery-grid figure:first-child img{max-height:500px;object-fit:contain;background:var(--color-dark)}}
@media(max-width:24rem){.brand{font-size:var(--text-sm)}.sticky-cta span{display:none}.hero-copy{padding-block:var(--space-xl)}.real-game-logo{width:220px}.hero .lead{font-size:var(--text-base)}.actions .btn{padding-inline:var(--space-md)}.paper{width:calc(100% - 1rem)}.footer{width:calc(100% - 1rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.btn:active{transform:none}}

.mast a:focus-visible,.mast summary:focus-visible,.hero a:focus-visible,.footer a:focus-visible,.sticky-cta a:focus-visible{outline-color:var(--color-accent)}
a:active,summary:active{opacity:.8}button:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.5}button[data-state=loading]{cursor:wait;opacity:.65}button[data-state=error]{border-style:dashed;border-color:var(--color-error)}button[data-state=success]{outline:2px solid var(--color-success)}code{font-family:var(--font-body);overflow-wrap:anywhere}

.subtitle{display:block;font-size:.84em}.hero-copy{padding-top:var(--space-xl);padding-bottom:var(--space-2xl)}
@media(max-width:24rem){.hero h1{font-size:1.85rem}.hero .tags{margin-block:var(--space-md)}.hero .lead{line-height:1.7}.hero-copy{padding-bottom:var(--space-xl)}}

.mast{flex-wrap:wrap}
