/* Hallmark · macrostructure: Fantasy party handbook · tone: tactile midnight · anchor hue: wine
 * theme: custom · axes: wine ground / Chinese roman-serif / warm gold · nav: N7 solid slab · footer: Ft2 inline rule
 * pre-emit critique: P4 H5 E4 S5 R5 V4 */
@import url("tokens.css");
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--color-wine);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.8;padding-bottom:80px}a{color:inherit;text-underline-offset:4px}img{max-width:100%;height:auto;display:block}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:var(--color-clear)}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:16px 0}h2{font-size:var(--text-2xl);margin:0 0 24px}h3{font-size:1.3rem;margin:0 0 8px}p{margin:0 0 20px}figure{margin:0}figcaption{font-size:var(--text-small);color:var(--color-muted);padding:8px 0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.masthead a:focus-visible,.hero a:focus-visible,.sticky-cta a:focus-visible{outline-color:var(--color-paper)}.skip{position:absolute;top:-100px;left:16px;z-index:500;background:var(--color-paper);padding:12px}.skip:focus{top:8px}.masthead{position:sticky;top:0;z-index:100;background:var(--color-night);color:var(--color-paper);border-bottom:1px solid var(--color-accent)}.nav{flex-wrap:wrap;max-width:1240px;margin:auto;min-height:72px;display:flex;align-items:center;gap:24px;padding:8px 24px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;font-size:.95rem;text-decoration:none;white-space:nowrap}.brand img{width:38px;height:38px;object-fit:cover}.nav-links{display:flex;gap:22px;align-items:center}.nav-links a{font-size:.9rem;text-decoration:none;white-space:nowrap;min-height:44px;display:flex;align-items:center}.nav-links a[aria-current=page]{color:var(--color-accent);text-decoration:underline}.nav-menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;background:var(--color-accent);color:var(--color-night);border:1px solid var(--color-night);box-shadow:4px 4px 0 var(--color-night);text-decoration:none;white-space:nowrap;font-weight:650;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.btn.secondary{background:var(--color-paper);color:var(--color-ink)}.btn.small{min-height:44px;padding:8px 16px;font-size:.875rem}.actions{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}.btn:active,button:active{transform:translate(2px,2px)}.btn[aria-disabled=true],button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn[data-state=loading]{opacity:.7}.btn[data-state=error]{outline:2px solid var(--color-error)}.btn[data-state=success]{outline:2px solid var(--color-success)}@media(hover:hover){.btn:hover{transform:translate(-1px,-1px)}.nav-links a:hover{text-decoration:underline}.thumb:hover img{opacity:.85}}
.hero{position:relative;min-height:calc(100svh - 72px);background:var(--color-night);color:var(--color-paper);display:flex;align-items:flex-end;isolation:isolate}.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-2}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--color-overlay) 0%,var(--color-overlay) 25%,var(--color-clear) 80%),linear-gradient(0deg,var(--color-night),var(--color-clear) 60%)}.hero-copy{width:min(1240px,100%);margin:auto;padding:48px 32px 60px}.hero-copy>div{max-width:540px}.game-logo{width:272px;max-width:82%;height:auto;margin-bottom:20px}.hero h1{max-width:530px}.original{display:block;font-weight:400;margin-top:14px;line-height:1.5;font-family:var(--font-body);font-size:1rem;color:var(--color-light);margin-bottom:16px}.hero-intro{max-width:28em;font-size:1.1rem}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{border:1px solid var(--color-light);padding:3px 10px;font-size:.8rem}.note{font-size:var(--text-small);color:var(--color-muted)}.hero .note{color:var(--color-light)}.paper{max-width:1000px;margin:0 auto;background:var(--color-paper);box-shadow:12px 12px 0 var(--color-shadow)}.paper section,.page-body{padding:56px 56px}.paper section+section{border-top:1px solid var(--color-rule)}.info-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:24px}.info-list dt{font-size:.8rem;color:var(--color-muted);margin-bottom:4px}.info-list dd{margin:0;font-weight:600}.intro-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:start}.intro-layout figure{transform:rotate(1deg);padding:8px;background:var(--color-paper-2);box-shadow:4px 4px 0 var(--color-rule)}.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.feature{border-top:2px solid var(--color-wine);padding-top:16px}.feature p{margin:0}.feature header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.feature header img{width:88px;flex-shrink:0;aspect-ratio:16/9;object-fit:contain}.feature header h3{margin:0}.main-gallery img{aspect-ratio:16/9;width:100%;object-fit:contain;background:var(--color-night)}.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.thumb{text-decoration:none}.thumb img{aspect-ratio:16/9;object-fit:contain}.thumb span{font-size:.8rem;display:block;padding-top:4px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gallery-grid img{width:100%;aspect-ratio:16/9;object-fit:contain}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.filter{min-height:44px;background:var(--color-paper);color:var(--color-ink);padding:8px 16px;border:1px solid var(--color-rule);cursor:pointer}.filter[aria-pressed=true]{background:var(--color-wine);color:var(--color-paper)}.filters[hidden],figure[hidden]{display:none}.faq details{border-top:1px solid var(--color-rule);padding:12px 0}.faq summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600}.faq details>div{padding:8px 0 12px}.faq details p:last-child{margin-bottom:0}.closing{background:var(--color-night);color:var(--color-paper)}.closing .note{color:var(--color-light)}.footer{max-width:1000px;margin:0 auto;color:var(--color-paper);padding:48px 28px 36px;border-top:1px solid var(--color-accent)}.footer a{display:inline-flex;align-items:center;min-height:44px;margin-right:20px;white-space:nowrap;font-size:.875rem}.footer-head{display:flex;align-items:center;gap:16px}.footer-head img{width:120px}.footer p{font-size:.875rem;margin:12px 0}.footer small{display:block;line-height:1.8}.sticky-cta{position:fixed;z-index:90;bottom:0;left:0;right:0;background:var(--color-night);color:var(--color-paper);border-top:1px solid var(--color-accent);padding:10px 24px;display:flex;align-items:center;justify-content:center;gap:28px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.sticky-cta span{font-size:.875rem}.sticky-cta .btn{box-shadow:none}.page-head{max-width:1000px;margin:0 auto;padding:48px 56px;background:var(--color-night);color:var(--color-paper)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem}.breadcrumbs a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.page-head h1{font-size:clamp(1.9rem,3vw,3rem)}.page-head p{color:var(--color-light);margin:0}.toc{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--color-rule)}.toc a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.article-content{max-width:760px}.article-content h2{margin-top:44px}.article-content li{margin-bottom:12px}.requirements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.requirements dl{margin:0}.requirements dt{font-size:.8rem;color:var(--color-muted);margin-top:16px}.requirements dd{margin:0;overflow-wrap:anywhere}.requirements h3{border-bottom:1px solid var(--color-rule);padding-bottom:12px}.get-card{border:1px solid var(--color-rule);padding:24px;max-width:660px}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.controls dt{font-weight:650}.controls dd{margin:0 0 16px}.article-link{display:block;text-decoration:none;background:var(--color-paper-2);padding:24px;border-top:1px solid var(--color-rule)}.article-link span{display:block;text-decoration:underline}.lightbox{width:min(1160px,96vw);max-height:94svh;border:1px solid var(--color-accent);background:var(--color-night);color:var(--color-paper);padding:16px}.lightbox::backdrop{background:var(--color-overlay)}.lightbox-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.lightbox button{min-width:44px;min-height:44px;background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule);cursor:pointer;padding:8px 12px}.lightbox img{max-height:65svh;width:100%;object-fit:contain}.lightbox-nav{display:flex;justify-content:center;gap:16px;margin-top:12px}.lightbox [data-status]{min-height:28px;text-align:center;font-size:.875rem}.lightbox[data-state=error] [data-status]{color:var(--color-accent)}.lightbox[data-state=loading] img{opacity:.45}.lightbox[data-state=success] img{opacity:1}.lightbox[data-state=success] [data-status]{color:var(--color-light)}.backtop{display:inline-block;margin-top:16px;min-height:44px}
@media(max-width:800px){.nav{padding:8px 16px;min-height:64px}.nav-links{display:none}.nav-menu{display:block;position:relative}.nav-menu summary{min-height:44px;padding:8px 12px;cursor:pointer}.nav-menu div{position:absolute;right:0;top:48px;width:160px;padding:12px;background:var(--color-night);border:1px solid var(--color-accent)}.nav-menu a{display:block;white-space:nowrap;padding:8px;min-height:44px;text-decoration:none}.nav>.btn{display:none}.paper section,.page-body{padding:40px 28px}.page-head{padding:32px 28px}.intro-layout{grid-template-columns:minmax(0,1fr);gap:24px}.info-list{grid-template-columns:repeat(2,minmax(0,1fr))}.requirements{grid-template-columns:minmax(0,1fr)}.requirements article{border-top:1px solid var(--color-rule);padding-top:24px}.requirements article:first-child{border-top:0;padding-top:0}.hero{min-height:720px}.hero-copy{padding:28px 28px 44px}.hero:after{background:linear-gradient(0deg,var(--color-night) 0%,var(--color-overlay) 35%,var(--color-clear) 100%)}.hero-scene{object-position:65% top}.hero-copy{margin-top:auto}.hero-copy>div{max-width:480px}.hero h1{font-size:2.25rem}.sticky-cta span{display:none}.features{gap:24px}.footer{padding:32px 24px}.footer-head{align-items:flex-start}}
@media(max-width:480px){.hero{min-height:calc(100svh - 64px);padding-top:170px}.hero-scene{height:440px;object-position:62% top}.hero-copy{padding:12px 20px 36px}.hero h1{font-size:1.95rem;margin:10px 0}.hero-intro{font-size:.95rem;margin-bottom:12px}.hero .original{font-size:.78rem;line-height:1.5;margin-bottom:12px}.game-logo{width:200px;max-width:80%;margin-bottom:12px}.hero .actions{gap:12px;margin:20px 0 16px}.hero .btn{padding:10px 14px;font-size:.875rem}.hero .tags span{font-size:.75rem}.hero .note{font-size:.75rem}.paper section,.page-body{padding:32px 20px}.page-head{padding:28px 20px}.gallery-grid,.features,.controls{grid-template-columns:minmax(0,1fr)}.thumbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-list{gap:20px 12px}.info-list dd{font-size:.9rem}.brand{font-size:.85rem}.footer-head{display:block}.footer a{margin-right:16px}.sticky-cta{padding-inline:12px}.sticky-cta .btn{width:min(360px,100%)}.lightbox{padding:12px}.get-card{padding:20px}.page-head h1{font-size:1.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
