/* Hallmark · macrostructure: Photographic / shelter casebook · tone: restrained midnight · anchor hue: warm gold · genre: atmospheric · theme: custom user-locked midnight · nav: N7 hard-edge slab (itch.io override) · footer: Ft1 mast-headed
 * audience: Chinese suspense players · use: external download redirect · typography: upright system Chinese serif / sans · user palette and ivory central folio override atmospheric defaults */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4 */
@import url("tokens.css");
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;overflow-x:clip}body{margin:0;background:var(--color-wine);color:var(--color-paper);font-family:var(--font-body);line-height:1.8;overflow-x:clip;padding-bottom:88px}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:5px}button,summary,a{-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-gold);outline-offset:5px}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-h1);margin:16px 0}h2{font-size:var(--text-h2);margin:0 0 24px}h3{font-size:var(--text-lg);margin:0 0 10px}p{margin:0 0 20px}figure{margin:0}figcaption{font-size:var(--text-sm);margin:10px 0 0;line-height:1.6}.skip{position:fixed;left:12px;top:-100px;background:var(--color-gold);color:var(--color-bg);z-index:100}.skip:focus{top:10px}.nav-slab{position:sticky;top:0;z-index:30;background:var(--color-bg);border-bottom:2px solid var(--color-gold);padding:10px max(16px,calc((100% - 1200px)/2));display:flex;align-items:center;gap:18px;min-height:var(--nav-height)}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:.875rem;white-space:nowrap;font-weight:600}.brand img{width:40px;height:40px;object-fit:contain}.desktop-nav{display:none;gap:24px;margin-left:auto;align-items:center}.desktop-nav a,.foot-links a,.related a,.breadcrumb a{white-space:nowrap;text-decoration:none}.nav-cta{display:none!important}.mobile-nav{margin-left:auto;position:relative}.mobile-nav summary{cursor:pointer;white-space:nowrap;padding:10px 4px;min-height:44px}.mobile-nav nav{position:absolute;right:0;top:54px;width:210px;background:var(--color-bg);padding:18px;box-shadow:5px 5px 0 var(--color-gold)}.mobile-nav nav a{display:block;padding:8px;text-decoration:none;white-space:nowrap}.btn{display:inline-flex;justify-content:center;align-items:center;padding:12px 20px;min-height:48px;gap:8px;background:var(--color-gold);color:var(--color-bg);border:1px solid var(--color-gold);text-decoration:none;white-space:nowrap;font-weight:600;box-shadow:4px 4px 0 var(--color-bg);transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.btn:hover{background:var(--color-paper)}.btn:active{transform:translateY(2px)}.btn.secondary{background:var(--color-clear);border-color:var(--color-muted);color:var(--color-paper);box-shadow:none}.btn.secondary:hover{background:var(--color-dark-line)}.actions{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}.eyebrow{font-size:var(--text-sm);letter-spacing:.1em;color:var(--color-gold);font-weight:600}.hero{background:var(--color-bg);position:relative;min-height:calc(100svh - var(--nav-height));padding:28px 20px 40px;display:grid;align-items:center;gap:28px}.hero-copy{position:relative;z-index:1;max-width:580px}.hero-copy .game-logo{width:140px;height:120px;object-fit:contain;object-position:left;margin-bottom:22px}.hero-copy h1{margin-top:0}.original{display:block;font:600 .75rem/1.6 var(--font-body);letter-spacing:.1em;margin-top:10px}.hero-copy .intro{max-width:33em;color:var(--color-paper)}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tags span{font-size:var(--text-sm);border:1px solid var(--color-dark-line);padding:4px 10px}.hero-photo img{width:100%;aspect-ratio:16/9;object-fit:contain}.hero-photo figcaption{color:var(--color-muted)}.hero-note{font-size:var(--text-sm);color:var(--color-muted)}.folio{max-width:960px;margin:0 auto;background:var(--color-paper);color:var(--color-ink);box-shadow:10px 0 0 var(--color-bg)}.paper{padding:40px 24px}.section-label{font:600 var(--text-sm)/1.6 var(--font-body);color:var(--color-wine);letter-spacing:.1em;margin:0 0 16px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:24px}.info-grid dt{font-size:var(--text-sm);color:var(--color-wine)}.info-grid dd{margin:6px 0 0;line-height:1.6}.info-grid small{display:block;font-size:.75rem}.prose{max-width:43em}.paper a:not(.btn){text-decoration-thickness:1px}.lead{font-size:var(--text-lg);line-height:1.8}.dark-band{background:var(--color-bg);color:var(--color-paper);padding:24px}.dark-band figure img{aspect-ratio:16/9;object-fit:contain}.media-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin:20px 0 0}.media-note p{margin:0;max-width:32em}.mechanics{display:grid;gap:26px}.mechanics article{border-top:1px solid var(--color-line);padding-top:24px}.mechanics img{width:100%;aspect-ratio:16/9;object-fit:contain;margin:0 0 20px}.section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px}.section-head a{white-space:nowrap;font-size:var(--text-sm);margin-bottom:24px}.thumb-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.thumb-row img{width:100%;aspect-ratio:16/9;object-fit:contain}.thumb-row figcaption{font-size:.75rem}.download-band{background:var(--color-bg);padding:40px 24px;color:var(--color-paper);border-top:5px solid var(--color-gold)}.download-band h2{max-width:20em}.download-band .small{max-width:40em}.small{font-size:var(--text-sm);color:var(--color-muted)}.paper .small{color:var(--color-ink)}.log-row{display:grid;gap:8px;padding:22px 0;border-top:1px solid var(--color-line)}.log-row time{font-size:var(--text-sm);color:var(--color-wine)}.log-row ul{padding-left:20px;margin:0}.fit{border-top:1px solid var(--color-line);padding-top:28px;margin-top:32px}details.faq{padding:16px 0;border-top:1px solid var(--color-line)}details.faq summary{cursor:pointer;font-weight:600;min-height:44px;padding:6px 24px 6px 0}details.faq p{padding-top:12px;margin:0}.final{padding:40px 24px;background:var(--color-wine);color:var(--color-paper)}.final h2{max-width:16em}.foot-mast{max-width:960px;margin:0 auto;padding:40px 24px;color:var(--color-paper);background:var(--color-bg)}.foot-brand{display:flex;align-items:center;gap:14px;font-size:1.25rem;font-family:var(--font-display)}.foot-brand img{width:56px;height:56px;object-fit:contain}.foot-links,.related{display:flex;flex-wrap:wrap;gap:10px 24px;margin:22px 0}.foot-links a,.related a{font-size:var(--text-sm);padding:6px 0;min-height:44px}.related{border-top:1px solid var(--color-dark-line);padding-top:20px}.rights{font-size:.75rem;color:var(--color-muted);margin:0 0 12px}.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--color-bg);border-top:1px solid var(--color-gold);padding:12px max(16px,calc((100% - 960px)/2));padding-bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px}.sticky-cta span{font-size:.8125rem;max-width:30em}.sticky-cta .btn{margin-left:auto;padding:10px 14px;font-size:.875rem}.subhead{background:var(--color-bg);padding:36px 24px}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;color:var(--color-muted);font-size:.8125rem;margin-bottom:28px}.subhead p{max-width:42em}.toc{display:flex;flex-wrap:wrap;gap:12px 20px;margin:24px 0}.toc a{white-space:nowrap;min-height:44px;padding-block:8px}.steps{padding-left:25px}.steps li{padding:0 0 14px}.guide-section{scroll-margin-top:100px;padding-bottom:24px;margin-bottom:32px;border-bottom:1px solid var(--color-line)}.guide-section figure{margin:24px 0}.filters{display:none;gap:10px;flex-wrap:wrap;margin:0 0 24px}.js .filters{display:flex}.filters button{min-height:44px;padding:8px 14px;border:1px solid var(--color-ink);color:var(--color-ink);background:var(--color-clear)}.filters button[aria-pressed=true]{background:var(--color-wine);color:var(--color-paper)}.gallery-grid{display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}.gallery-grid img{width:100%;aspect-ratio:16/9;object-fit:contain}.gallery-grid figure[hidden]{display:none}.gallery-count{font-size:var(--text-sm)}.lightbox{width:min(1100px,94%);max-height:94dvh;padding:18px;border:1px solid var(--color-gold);background:var(--color-bg);color:var(--color-paper)}.lightbox::backdrop{background:var(--color-scrim)}.lightbox header{display:flex;gap:12px;align-items:center;justify-content:space-between}.lightbox button{border:1px solid var(--color-muted);background:var(--color-bg);color:var(--color-paper);padding:8px 12px;min-height:44px;white-space:nowrap}.lightbox button:hover{background:var(--color-dark-line)}.lightbox button:disabled{opacity:.4;cursor:not-allowed}.lightbox img{margin:18px auto;max-height:63dvh;object-fit:contain;width:100%;aspect-ratio:16/9}.lightbox-controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.lightbox[data-state=loading] img{opacity:.4}.lightbox[data-state=error] [data-status]{color:var(--color-gold)}.lightbox[data-state=success] [data-status]{color:var(--color-muted)}.lightbox [data-status]{font-size:var(--text-sm);text-align:center;margin:8px 0}button:active{transform:translateY(1px)}.to-top{white-space:nowrap}
@media(min-width:40rem){.paper{padding:56px 56px}.hero{padding:48px max(32px,calc((100% - 1200px)/2));grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px}.hero-copy .game-logo{width:168px;height:144px}.hero-copy{padding-block:24px}.info-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mechanics{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.dark-band{padding:40px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.log-row{grid-template-columns:140px minmax(0,1fr)}.download-band,.final,.foot-mast{padding:56px}.subhead{padding:48px 56px}}
@media(min-width:60rem){.desktop-nav{display:flex}.mobile-nav{display:none}.nav-cta{display:inline-flex!important;font-size:.8125rem;padding:8px 14px}.hero{gap:40px}.hero-copy .intro{font-size:1.0625rem}.hero-photo{transform:rotate(-1deg)}.folio{margin-top:32px;margin-bottom:32px}.hero-copy .game-logo{width:168px;height:144px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Subpage headings keep dark-stage contrast when nested inside the ivory folio. */
.subhead{color:var(--color-paper)}
.lightbox:fullscreen{width:100%;max-height:100%;height:100%;padding:24px}.lightbox:fullscreen img{max-height:72dvh}
html:fullscreen .lightbox{width:100%;height:100%;max-height:100dvh;margin:0;padding:24px}html:fullscreen .lightbox img{max-height:72dvh}
