/* Hallmark · macrostructure: Club Register (bespoke) · tone: editorial · anchor hue: warm gold
 * genre: editorial · theme: custom user-locked midnight · nav: N6 compact double-rule · footer: Ft4 colophon
 * idea: scenic invitation above an ivory club-management register; genuine magenta game UI remains unaltered
 * axes: wine ground / upright Chinese serif / gold · enrichment: original character scene
 * pre-emit critique: P4 H4 E4 S5 R5 V4 */
@import url('tokens.css');
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:6rem}body{margin:0;overflow-x:clip;background:var(--color-page);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.75;padding-bottom:5rem}a{color:inherit;text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}a,button,summary{touch-action:manipulation}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.25;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display-s);font-weight:800;margin:0 0 var(--space-md)}h2{font-size:clamp(1.65rem,3vw,2.35rem);margin:0 0 var(--space-lg)}h3{font-size:var(--text-lg);margin:.5rem 0}p{margin:0 0 var(--space-md)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.skip{position:fixed;top:-8rem;left:1rem;z-index:var(--z-modal);background:var(--color-paper);padding:var(--space-sm)}.skip:focus{top:1rem}.mast{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-dark);color:var(--color-on-dark);border-bottom:4px double var(--color-accent);padding:.5rem 1rem}.mast-top{display:flex;justify-content:center;gap:var(--space-sm);align-items:center;font-family:var(--font-display);font-weight:700;font-size:1rem;line-height:1.3}.mast-top img{width:28px;height:28px}.mast-top a{text-decoration:none;white-space:nowrap}.mast nav{display:flex;justify-content:center;gap:var(--space-xs);flex-wrap:wrap;margin-top:.25rem}.mast nav a{display:block;padding:var(--space-2xs) var(--space-sm);min-height:36px;text-decoration:none;font-size:.875rem;white-space:nowrap}.mast nav a[aria-current]{color:var(--color-accent);text-decoration:underline}.mast nav a:hover{background:var(--color-page)}.hero{background:var(--color-dark);color:var(--color-on-dark);position:relative;max-width:1440px;margin:auto;min-height:calc(100svh - 90px)}.hero-scene{width:100%;height:clamp(170px,27vw,390px);object-fit:cover;object-position:center}.hero-copy{max-width:980px;margin:auto;padding:var(--space-xl) clamp(var(--space-md),4vw,var(--space-triple)) var(--space-2xl);position:relative;background:linear-gradient(to bottom,var(--color-light-shade),var(--color-hero-shade))}.hero .game-logo{width:240px;height:auto;margin-top:calc(var(--space-five) * -1);margin-bottom:var(--space-md);filter:none;border:1px solid var(--color-dark-rule);box-shadow:5px 5px 0 var(--color-dark)}.hero h1{max-width:24ch}.original{display:block;font-size:.875rem;font-family:var(--font-body);font-weight:400;color:var(--color-dark-muted);line-height:1.6;margin-top:.6rem}.lede{font-size:1.1rem;max-width:46ch;color:var(--color-dark-muted)}.tags,.actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.tags{font-size:.875rem;margin:1rem 0}.tags span{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--color-dark-rule)}.button{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-xs);min-height:48px;padding:var(--space-sm) var(--space-md);background:var(--color-accent);color:var(--color-accent-ink);text-decoration:none;font-weight:700;border:1px solid var(--color-ink);box-shadow:4px 4px 0 var(--color-ink);white-space:nowrap;transition:transform var(--dur-micro) var(--ease-out)}.button:hover{background:var(--color-accent-hover);text-decoration:none}.button:active{transform:translate(2px,2px)}.button.secondary{background:var(--color-clear);color:inherit;border-color:currentColor;box-shadow:none}.button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.button[data-state=loading]{border-style:dashed}.button[data-state=error]{border:2px solid var(--color-error)}.button[data-state=success]{border:2px solid var(--color-success)}.hero small{display:block;margin-top:var(--space-md);color:var(--color-dark-muted)}.paper{max-width:980px;margin:0 auto;background:var(--color-paper);padding:var(--space-xl) clamp(var(--space-md),4vw,var(--space-triple));box-shadow:10px 0 0 var(--color-dark)}.section{padding:var(--space-2xl) 0}.section:first-child{padding-top:var(--space-lg)}.section+.section{border-top:1px solid var(--color-rule)}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md) var(--space-lg);margin:0}.facts div{border-bottom:1px solid var(--color-rule);padding-bottom:.75rem}.facts dt{font-size:.8125rem;color:var(--color-muted)}.facts dd{margin:0;font-weight:600}.note{font-size:.875rem;color:var(--color-muted)}.story-flow{display:grid;gap:1.5rem}.story-flow figure{margin:0}.story-flow p{max-width:62ch}.feature{padding:var(--space-lg) 0;display:grid;gap:1rem}.feature img{border:1px solid var(--color-rule)}figure{margin:0}figcaption{font-size:.875rem;padding-top:var(--space-xs);color:var(--color-muted)}.large-preview img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--color-dark)}.filmstrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin-top:1rem}.filmstrip a,.gallery-grid a{display:block}.filmstrip img,.gallery-grid img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--color-dark)}.gallery-grid{display:grid;gap:var(--space-double);grid-template-columns:minmax(0,1fr)}.gallery-grid figure[hidden]{display:none}.filters{display:none;gap:var(--space-xs);flex-wrap:wrap;margin:1.5rem 0}.js .filters{display:flex}.filters button{border:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);padding:var(--space-xs) var(--space-sm);min-height:44px;white-space:nowrap}.filters button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper);text-decoration:underline}.filter-count{margin-bottom:1rem}.page-heading{padding:2rem 0 1rem}.crumb{font-size:.875rem;margin-bottom:var(--space-lg);display:flex;gap:var(--space-xs);flex-wrap:wrap}.crumb a{white-space:nowrap}.intro{max-width:62ch}.toc{display:flex;gap:var(--space-xs) var(--space-md);flex-wrap:wrap;margin:1.5rem 0}.toc a{white-space:nowrap}.guide-section{scroll-margin-top:var(--space-3xl);max-width:70ch;padding:var(--space-xl) 0;border-top:1px solid var(--color-rule)}ol,ul{padding-left:1.4rem}li{margin:.6rem 0}kbd,code{font-family:var(--font-body);background:var(--color-paper-2);padding:var(--space-2xs) var(--space-2xs);border:1px solid var(--color-rule);overflow-wrap:anywhere}.key-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin:1.5rem 0}.key-list div{border-bottom:1px solid var(--color-rule);padding-bottom:.7rem}.key-list dt{font-weight:700}.key-list dd{margin:0;color:var(--color-muted)}.download-box{background:var(--color-dark);color:var(--color-on-dark);padding:var(--space-lg);border-top:3px solid var(--color-accent)}.download-box .note{color:var(--color-dark-muted)}.requirements{display:grid;gap:2rem}.requirements dl{margin:0}.requirements dl div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--space-xs);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-rule)}.requirements dt{color:var(--color-muted)}.requirements dd{margin:0}details.faq{border-bottom:1px solid var(--color-rule);padding:1rem 0}details.faq summary{font-weight:700;cursor:pointer;padding:var(--space-xs) 0;min-height:44px}details.faq p{margin:var(--space-md) 0 var(--space-2xs);max-width:65ch}details.faq[open] summary{color:var(--color-gold-dark)}.update{border-left:3px solid var(--color-accent);padding-left:1.25rem}.update time{font-size:.875rem;color:var(--color-muted)}.final{margin:var(--space-double) 0 var(--space-md);background:var(--color-paper-2);padding:2rem 1rem}.footer{max-width:980px;margin:auto;background:var(--color-dark);color:var(--color-dark-muted);padding:var(--space-double) clamp(var(--space-md),4vw,var(--space-triple));font-size:.875rem;line-height:1.85}.footer-title{display:flex;gap:var(--space-md);align-items:center;color:var(--color-on-dark);margin-bottom:1rem}.footer-title img{width:120px}.footer-links{display:flex;gap:var(--space-xs) var(--space-step);flex-wrap:wrap;margin-bottom:1rem}.footer-links a{white-space:nowrap}.related{padding-top:var(--space-md);border-top:1px solid var(--color-dark-rule)}.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);background:var(--color-dark);color:var(--color-on-dark);border-top:1px solid var(--color-accent);padding:var(--space-xs) max(var(--space-md),env(safe-area-inset-right)) max(var(--space-sm),env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:1rem}.sticky-cta .button{min-height:44px;padding:var(--space-xs) var(--space-md);font-size:.875rem}.sticky-cta span{font-size:.8125rem}.sticky-cta span:first-child{display:none}.back-top{display:inline-block;white-space:nowrap;font-size:.875rem}.lightbox{border:1px solid var(--color-dark-rule);background:var(--color-dark);color:var(--color-on-dark);width:min(1200px,94vw);max-height:92dvh;padding:var(--space-md);z-index:var(--z-modal)}.lightbox::backdrop{background:var(--color-overlay)}.lightbox img{width:100%;max-height:65dvh;object-fit:contain;aspect-ratio:16/9}.lightbox-controls{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center;margin-top:1rem}.lightbox .button{min-width:64px;box-shadow:none}.lightbox .status{color:var(--color-dark-muted);margin:var(--space-xs) 0;text-align:center}.lightbox[data-state=error] .status{color:var(--color-accent);border-left:3px solid var(--color-error);padding-left:.5rem}.lightbox[data-state=loading] img{opacity:.35}.lightbox[data-state=success] img{opacity:1}.article-nav{display:flex;gap:var(--space-md);flex-wrap:wrap;margin:1.5rem 0}.article-nav a{white-space:nowrap}.empty-state{padding:var(--space-md);border:1px dashed var(--color-rule)}
@media(min-width:40rem){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filmstrip{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-copy{padding-top:2rem}.hero .game-logo{width:280px;margin-top:-7rem}.hero h1{max-width:27ch}.facts{grid-template-columns:repeat(3,minmax(0,1fr))}.requirements{grid-template-columns:repeat(2,minmax(0,1fr))}.feature{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:2rem}.feature:nth-of-type(even) img{order:2}.sticky-cta span:first-child{display:block}.mast-top{font-size:1.1rem}.mast nav a{min-height:40px}.story-flow{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start}}
@media(min-width:60rem){.hero-copy{padding-right:15rem}.hero .game-logo{width:320px}.hero{min-height:730px}.mast nav{gap:1.5rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid figure:first-child{grid-column:span 2}.hero-scene{height:390px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(min-width:60rem){.hero-scene{height:300px}.hero-copy{padding-right:20rem;padding-top:2rem}.hero .game-logo{position:absolute;right:3rem;top:-2rem;width:240px;margin:0}.hero h1{font-size:2.25rem;line-height:1.15}.hero .original{line-height:1.5}.hero .lede{font-size:1rem}.hero{min-height:690px}}
.mast nav,.footer-links,.toc,.article-nav,.lightbox-controls{align-items:center}.mast nav a,.footer-links a,.toc a,.article-nav a{line-height:1.4}.filters button:active,a:active,summary:active{transform:translateY(1px)}.filters button:disabled{opacity:.55;cursor:not-allowed}.hero :focus-visible,.footer :focus-visible,.sticky-cta :focus-visible,.download-box :focus-visible,.lightbox :focus-visible{outline-color:var(--color-accent)}

[hidden]{display:none!important}
@media(max-width:39.99rem){.hero-scene{height:150px}.hero .game-logo{width:200px}.hero-copy{padding-top:var(--space-lg)}.hero .lede{font-size:var(--text-base)}}
