/* Hallmark · genre-led editorial game dossiers, not interchangeable landing pages.
 * Structures: action/Photographic; story/Long Document; cozy/Narrative Workflow;
 * mystery/Split reading; fantasy/Field guide; simulation/Workbench; directory/Catalogue.
 * Audience: game-search visitors. Main action: understand the game then open acquisition.
 * Pre-emit critique: Philosophy4 Hierarchy4 Execution4 Specificity4 Restraint5 Variety4.
 */
:root{--bg:#f0f0e8;--paper:#fffef6;--ink:#253e37;--muted:#53665c;--accent:#304d41;--on-accent:#fffdf5;--line:#bac7b8;--tint:#e1e7d5;--shadow:#18332722;--overlay:#081018df;--clear:#08101800;--image-bg:#111820;--focus:#ad4820;--font-body:"PingFang SC","Microsoft YaHei",sans-serif;--font-display:"Songti SC","STSong",serif;--font-mono:ui-monospace,"SFMono-Regular",Consolas,monospace;--page:clamp(20px,5vw,70px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px;overflow-x:clip}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.85 var(--font-body);overflow-x:clip}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a,button,summary{touch-action:manipulation}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3{font-style:normal;line-height:1.3;margin:0 0 24px;overflow-wrap:anywhere;min-width:0;text-wrap:balance}h1,h2{font-family:var(--font-display)}h1{font-size:clamp(36px,4.8vw,68px);letter-spacing:-.03em}h2{font-size:clamp(27px,3vw,39px)}h3{font-size:22px}p{margin:0 0 20px;max-width:68ch}small{font-size:12px}.wrap{width:min(1160px,100% - 48px);margin:auto}.skip{position:fixed;top:-100px;left:15px;z-index:30;background:var(--paper);padding:10px 20px}.skip:focus{top:12px}.topbar{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}.brand img{width:32px;height:32px;object-fit:contain;flex-shrink:0}.brand strong{font-size:17px;display:block;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{display:block;color:var(--muted);font-size:10px}.nav{display:flex;gap:24px;align-items:center;flex-shrink:0}.nav a{white-space:nowrap;font-size:13px;text-decoration:none;border-bottom:2px solid transparent;padding:6px 0}.nav a:hover{border-color:var(--accent)}.nav .nav-cta{padding:8px 14px;background:var(--accent);color:var(--on-accent)}.breadcrumb{font-size:12px;color:var(--muted);padding:25px 0}.breadcrumb a{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 24px;background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap;box-shadow:4px 4px 0 var(--shadow);transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-2px);box-shadow:4px 6px 0 var(--shadow)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.btn.secondary{background:var(--paper);color:var(--ink);border-color:var(--line);box-shadow:none}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.kicker{font-size:13px;color:var(--muted);margin-bottom:22px}.original{display:block;font:400 clamp(15px,1.6vw,22px)/1.6 var(--font-mono);letter-spacing:0;margin-top:15px}.lede{font-size:18px;line-height:1.95;max-width:60ch}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tags span{font-size:12px;border:1px solid var(--line);padding:3px 10px}.age{font-size:12px;color:var(--muted);margin-top:20px}.hero{padding:40px 0 60px}.hero-image{margin:0}.hero-image img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--image-bg)}.hero-image figcaption{font-size:12px;color:var(--muted);padding-top:10px}.hero-copy{min-width:0}.info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line);margin:0}.info div{padding:24px 20px;border-right:1px solid var(--line);min-width:0}.info div:last-child{border-right:0}.info dt{font-size:12px;color:var(--muted);margin-bottom:8px}.info dd{margin:0;overflow-wrap:anywhere;font-size:15px;font-weight:600}.info dd span+span:before{content:' / ';font-weight:400}.section{padding:65px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.section-head h2{margin:0}.section-head p{color:var(--muted);font-size:14px;max-width:42ch;margin:0}.content-section{padding:45px 0;border-bottom:1px solid var(--line)}.content-section p{line-height:2}.content-section figure{margin:30px 0 0}.reading{max-width:760px;margin:auto}.scene-link{display:block;position:relative}.scene-link img{aspect-ratio:16/9;object-fit:contain;background:var(--image-bg);width:100%}.scene-link:after{content:'放大查看';position:absolute;right:12px;bottom:12px;background:var(--overlay);color:var(--on-accent);font-size:11px;padding:4px 10px;opacity:0}.scene-link:hover:after,.scene-link:focus-visible:after{opacity:1}figure{margin:0}figcaption{padding-top:10px;font-size:13px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-grid figure:first-child{grid-column:1/-1}.gallery-grid.single{max-width:960px;margin:auto}.acquire{padding:40px;background:var(--paper);border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:50px;align-items:center}.acquire h2{font-size:32px}.acquire p{font-size:15px}.acquire .age{font-size:12px}.facts{width:100%;border-collapse:collapse;margin:25px 0;font-size:14px}.facts th,.facts td{padding:14px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.facts th{width:31%;color:var(--muted);font-weight:500}.legal{font-size:13px;color:var(--muted);max-width:760px;margin:0 auto}.legal h2{font-size:25px;color:var(--ink)}.footer{padding:45px 0;border-top:1px solid var(--line)}.footer-head{display:flex;align-items:start;justify-content:space-between;gap:30px}.footer p{font-size:12px;color:var(--muted);margin-top:22px}.footer-links{display:flex;gap:12px 22px;flex-wrap:wrap;align-items:start}.footer-links a{font-size:12px;white-space:nowrap}.related{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.back-top{font-size:12px;display:block;text-align:right;margin-top:24px}.mobile-cta{display:none}.lightbox{padding:20px;background:var(--image-bg);color:var(--on-accent);border:1px solid var(--line);max-width:96vw;width:1100px;max-height:95dvh}.lightbox::backdrop{background:var(--overlay)}.lightbox img{width:100%;max-height:72dvh;object-fit:contain}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:6px 0 12px}.lightbox button{color:var(--on-accent);background:var(--image-bg);border:1px solid var(--line);padding:6px 14px;cursor:pointer;white-space:nowrap}.lightbox [role=status]{font-size:13px;min-height:24px;margin:0}.lightbox-bottom{padding:12px 0 0;font-size:13px}[hidden]{display:none!important}
/* Action: scene-first stage, strong type, short mechanical sections. */
.action{--bg:#17191b;--paper:#222527;--ink:#f4f0e6;--muted:#b5b7ae;--accent:#d4af70;--on-accent:#17191b;--line:#4e514c;--tint:#2a2e30;--shadow:#00000044;--focus:#efc37e;--font-display:"PingFang SC","Microsoft YaHei",sans-serif}.action .hero{position:relative;padding:0;min-height:680px;display:flex;align-items:end;isolation:isolate}.action .hero-image{position:absolute;inset:0;z-index:-2}.action .hero-image img{width:100%;height:100%;object-fit:cover}.action .hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--bg),var(--overlay) 35%,var(--clear))}.action .hero-image figcaption{display:none}.action .hero-copy{padding:240px 0 48px;width:min(760px,85%)}.action .content-section{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:60px}.action .content-section h2{font-size:30px}.action .content-section figure{grid-column:1/-1}.action .btn{box-shadow:none}
/* Story: centered title and a visual followed by uninterrupted chapter reading. */
.story{--bg:#e8e1e1;--paper:#fffbf8;--ink:#40313a;--muted:#73616b;--accent:#733f57;--on-accent:#fffaf6;--line:#d3bbc8;--tint:#f3e9ec;--shadow:#57354722;--focus:#9e244c}.story .hero{text-align:center;max-width:960px;margin:auto;padding-top:25px}.story .hero-copy{max-width:800px;margin:auto}.story .hero .lede{margin-inline:auto}.story .hero .tags,.story .hero .actions{justify-content:center}.story .hero-image{margin-top:42px;background:var(--paper);padding:12px}.story .info{background:var(--paper)}.story .body-content{max-width:820px;margin:0 auto}.story .content-section{border-bottom:0;padding:60px 0 20px}.story .content-section h2{font-size:32px}.story .content-section p:first-letter{font-family:var(--font-display)}
/* Cozy: a wide landscape postcard and compact notes arranged along the day. */
.cozy{--bg:#e3ede4;--paper:#fffdf2;--ink:#2b493f;--muted:#52695d;--accent:#9b4b2b;--on-accent:#fffcf1;--line:#b9cab8;--tint:#f0e7c7;--shadow:#2b493f22;--focus:#a54323}.cozy .hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:55px;align-items:center}.cozy .hero-image{padding:12px;background:var(--paper);transform:rotate(1deg);box-shadow:9px 9px 0 var(--shadow)}.cozy .body-content{padding:0 60px;background:var(--paper)}.cozy .content-section{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.2fr);gap:50px}.cozy .content-section figure{grid-column:1/-1}.cozy .info{background:var(--paper)}
/* Mystery: asymmetrical, restrained dark reading dossier, no fake terminal. */
.mystery{--bg:#181e29;--paper:#202936;--ink:#e9edf3;--muted:#acb9cd;--accent:#b6c4e0;--on-accent:#181e29;--line:#46556c;--tint:#273446;--shadow:#00000044;--focus:#e5ba86}.mystery .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:50px;align-items:start}.mystery .hero-image{margin-top:55px}.mystery .hero h1{font-family:var(--font-body);font-size:clamp(37px,4vw,62px)}.mystery .body-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px}.mystery .content-section:first-child{grid-column:1/-1;max-width:760px}.mystery .content-section{border-bottom:0}.mystery .btn{box-shadow:none}
/* Fantasy: a central illustrated field guide with explicit chapter navigation. */
.fantasy{--bg:#223d3c;--paper:#f5f1df;--ink:#294540;--muted:#536a60;--accent:#376a5b;--on-accent:#fffdf4;--line:#bac6ae;--tint:#e4e9d5;--shadow:#182d2822;--focus:#a24c21}.fantasy .topbar{background:var(--paper)}.fantasy main{width:min(1160px,100% - 44px);margin:25px auto;background:var(--paper);padding:0 var(--page)}.fantasy main>.wrap{width:100%}.fantasy .hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:45px;align-items:center}.fantasy .hero-image{border:1px solid var(--line);padding:8px;background:var(--tint)}.fantasy .chapter-nav{border-block:1px solid var(--line);padding:15px 0;display:flex;gap:20px;flex-wrap:wrap;margin-top:20px;font-size:13px}.fantasy .body-content{max-width:780px;margin:auto}.fantasy .footer{color:var(--paper);border:0}.fantasy .footer p{color:var(--line)}.fantasy .footer .related{border-color:var(--muted)}.fantasy .mobile-cta{background:var(--paper)}
/* Simulation: large authentic interface with nearby notes; no invented controls. */
.simulation{--bg:#e7e7dd;--paper:#fffef5;--ink:#344035;--muted:#60675a;--accent:#52663a;--on-accent:#fffef5;--line:#bdc5af;--tint:#e0e7d0;--shadow:#35402a24;--focus:#a94a21}.simulation .hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:45px;align-items:center}.simulation .hero-image{grid-column:1;grid-row:1;background:var(--paper);padding:8px}.simulation .hero-copy{grid-column:2}.simulation h1{font-size:clamp(35px,3.7vw,55px)}.simulation .body-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.simulation .content-section{border:0}.simulation .content-section:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.2fr);gap:45px}.simulation .content-section:first-child figure{grid-column:1/-1}.simulation .acquire{background:var(--tint)}
/* Browseable catalogue. All content is static; search is a progressive enhancement. */
.catalog-header{padding:55px 0 30px}.catalog-header h1{font-size:clamp(36px,5vw,62px)}.catalog-header p{max-width:62ch}.catalog-tools{padding:20px 0;display:flex;gap:15px;align-items:center;flex-wrap:wrap;border-block:1px solid var(--line);margin:20px 0 35px}.catalog-tools label{font-size:13px}.catalog-tools input{background:var(--paper);border:1px solid var(--line);padding:10px 15px;color:var(--ink);width:min(390px,100%)}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-buttons button{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:7px 12px;cursor:pointer;font-size:13px;white-space:nowrap}.filter-buttons button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.catalog-count{font-size:13px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px;padding-bottom:60px}.game-card{min-width:0;display:block;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:20px}.game-card img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--image-bg);transition:filter .2s}.game-card:hover img{filter:brightness(1.12)}.game-card h2{font-size:22px;margin:20px 0 10px}.game-card p{font-size:13px;color:var(--muted);margin-bottom:15px}.game-card small{display:block;overflow-wrap:anywhere}.game-card span{font-size:13px;font-weight:600}.catalog-empty{padding:50px 0;font-size:18px}
@media(max-width:950px){.nav{gap:15px}.brand strong{max-width:220px}.info{grid-template-columns:repeat(2,minmax(0,1fr))}.info div{border-bottom:1px solid var(--line)}.info div:nth-child(2){border-right:0}.hero h1{font-size:43px}.cozy .hero,.mystery .hero,.fantasy .hero,.simulation .hero{gap:30px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cozy .body-content{padding-inline:30px}.action .content-section{gap:35px}.acquire{gap:30px;padding:30px}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.topbar .wrap{width:calc(100% - 32px)}.nav-inner{display:block;padding:12px 0 9px;min-height:100px}.brand{gap:9px}.brand img{width:27px;height:27px}.brand strong{font-size:16px;max-width:275px}.brand small{display:none}.nav{margin-top:12px;justify-content:space-between;gap:12px}.nav a{font-size:12px;padding:3px 0}.nav .nav-cta{padding:4px 10px}.breadcrumb{padding:22px 0 12px;font-size:11px}.hero{padding:26px 0 35px}.hero h1{font-size:38px}.original{font-size:16px}.lede{font-size:16px}.actions{gap:10px;margin-top:22px}.btn{font-size:13px;padding:10px 18px}.tags span{font-size:11px}.info div{padding:17px 12px}.info dd{font-size:13px}.info dt{font-size:11px}.section{padding:44px 0}.section-head{display:block}.section-head p{margin-top:15px}.content-section{padding:35px 0}.content-section h2{font-size:27px}.gallery-grid{grid-template-columns:minmax(0,1fr);gap:25px}.gallery-grid figure:first-child{grid-column:auto}.acquire{display:block;padding:25px}.acquire h2{font-size:27px}.acquire .actions{margin-bottom:20px}.footer{padding:35px 0 110px}.footer-head{display:block}.footer-links{gap:12px 18px;margin-top:20px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;display:flex;gap:10px;align-items:center;justify-content:space-between;background:var(--paper);border-top:1px solid var(--line);padding:10px 18px calc(10px + env(safe-area-inset-bottom));z-index:9}.mobile-cta span{min-width:0}.mobile-cta strong{display:block;font-size:13px;max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-cta small{display:block;color:var(--muted);font-size:10px}.mobile-cta .btn{padding:8px 15px;min-height:42px}.lightbox{padding:12px}.lightbox-top{font-size:12px}.lightbox img{max-height:65dvh}.lightbox button{font-size:12px}.action .hero{min-height:650px}.action .hero-copy{padding:250px 0 35px;width:100%}.action .hero-image img{object-position:center top}.action .content-section{display:block}.story .hero-image{padding:7px;margin-top:28px}.cozy .hero,.mystery .hero,.fantasy .hero,.simulation .hero{display:flex;flex-direction:column;gap:24px;align-items:stretch}.cozy .hero-image{padding:7px;margin:10px 4px}.cozy .body-content{padding:0 20px}.cozy .content-section{display:block}.mystery .hero-image{margin-top:0}.mystery .body-content{display:block}.fantasy main{width:calc(100% - 20px);margin-top:10px;padding:0 20px}.fantasy .chapter-nav{font-size:12px;gap:12px}.simulation .hero-copy{order:0}.simulation .hero-image{order:1}.simulation .body-content,.simulation .content-section:first-child{display:block}.catalog-grid{grid-template-columns:minmax(0,1fr)}.catalog-header{padding-top:35px}.catalog-tools{align-items:stretch}.catalog-tools input{width:100%}.filter-buttons button{font-size:12px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
:root{--viewer-ink:#fffaf1}.lightbox,.lightbox button{color:var(--viewer-ink)}.scene-link:after{color:var(--viewer-ink)}

.lightbox button:disabled{opacity:.4;cursor:not-allowed;transform:none}

/* Media controls retain readable contrast in every theme. */
:root{--media-ink:#f4f0e6}.lightbox,.lightbox button,.scene-link:after{color:var(--media-ink)}
@media(max-width:640px){.action .hero{min-height:0;display:flex;flex-direction:column;align-items:stretch}.action .hero:after{display:none}.action .hero-copy{order:0;padding:22px 0 28px;width:100%}.action .hero-image{position:static;z-index:auto;order:1;margin-bottom:32px}.action .hero-image img{height:auto;aspect-ratio:auto;object-fit:contain}}

.hero-image img.cover-art,.scene-link img.cover-art{aspect-ratio:auto;object-fit:contain;width:auto;max-width:100%;max-height:640px;margin-inline:auto}

.catalog-tools button:disabled,.catalog-tools input:disabled{opacity:.6;cursor:not-allowed}
