/* Hallmark · pre-emit critique: P5 H4 E5 S5 R4 V5 */
/* Hallmark · genre: atmospheric · macrostructure: Narrative Workflow · theme: Bloom · enrichment: E8 verified game artwork · nav: N13 (right-of-brand, grouped, shown) · footer: Ft5 (38ch, under sentence, hairline)
 * Audience: RPG and oriental-fantasy players · use: choose a download entry · tone: atmospheric
 */
:root{--color-paper:oklch(15% .014 55);--color-paper-2:oklch(19% .018 55);--color-paper-3:oklch(24% .02 55);--color-rule:oklch(38% .018 55);--color-ink:oklch(93% .015 80);--color-muted:oklch(73% .018 72);--color-accent:oklch(73% .16 70);--color-accent-strong:oklch(66% .19 54);--color-focus:oklch(80% .14 78);--color-overlay:oklch(12% .018 55/.72);--color-nav:oklch(17% .016 55/.92);--color-cta-shine:oklch(98% .01 80/.6);--color-hero-mid:oklch(14% .015 55/.28);--color-bloom:oklch(74% .16 68/.26);--color-hero-ink:oklch(92% .012 80);--color-fact-rule:oklch(74% .04 65/.32);--color-scrim:oklch(8% .02 55/.75);--color-lightbox-scrim:oklch(8% .02 55/.88);--shadow-deep:0 16px 40px oklch(8% .02 55/.34);--shadow-cta:0 10px 28px oklch(62% .17 60/.26);--shadow-cta-hover:0 18px 30px oklch(62% .17 60/.4);--shadow-sticky:0 14px 34px oklch(8% .02 55/.35);--shadow-panel:0 24px 70px oklch(8% .02 55/.5);--font-display:"Bricolage Grotesque","Noto Sans SC",sans-serif;--font-body:"Noto Sans SC",sans-serif;--font-outlier:"IBM Plex Mono",monospace;--space-xs:.5rem;--space-sm:.875rem;--space-md:1.25rem;--space-lg:2rem;--space-xl:3.25rem;--space-2xl:5.5rem;--space-3xl:8rem;--page:max(1.25rem,calc((100vw - 1160px)/2));--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);scroll-behavior:smooth}body{font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.04;letter-spacing:-.035em;overflow-wrap:anywhere}h1{font-size:clamp(3rem,7vw,6.5rem)}h2{font-size:clamp(2rem,4vw,3.6rem)}h3{font-size:clamp(1.15rem,2vw,1.55rem)}
.shell{width:min(100% - 2.5rem,1160px);margin-inline:auto}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--color-accent);color:var(--color-paper);padding:.5rem 1rem}.eyebrow,.mono{font-family:var(--font-outlier);font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;color:var(--color-accent)}.muted{color:var(--color-muted)}
.nav{position:fixed;z-index:40;top:1rem;left:50%;transform:translateX(-50%);width:min(calc(100% - 1.5rem),1160px);padding:.55rem .65rem .55rem 1rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;border:1px solid var(--color-rule);border-radius:999px;background:var(--color-nav);backdrop-filter:blur(16px) saturate(125%);box-shadow:var(--shadow-deep)}.brand{display:flex;align-items:center;gap:.6rem;min-width:0;font-family:var(--font-display);font-weight:800}.brand img{width:32px;height:32px;object-fit:contain}.brand span{white-space:nowrap}.nav-links{display:flex;justify-content:center;gap:clamp(.65rem,2vw,1.35rem);font-size:.88rem;color:var(--color-muted)}.nav-links a{white-space:nowrap}.nav-links a:hover{color:var(--color-ink)}.nav-actions{display:flex;align-items:center;gap:.55rem}.searchpill,.menu-btn{border:1px solid var(--color-rule);background:var(--color-paper-2);color:var(--color-muted);border-radius:999px;min-height:36px;padding:0 .75rem;cursor:pointer}.searchpill{display:flex;align-items:center;gap:.45rem}.searchpill kbd{font:inherit;font-size:.67rem;color:var(--color-ink);padding:.1rem .25rem;border:1px solid var(--color-rule);border-radius:4px}.menu-btn{display:none;color:var(--color-ink)}
.cta,.outline-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.15rem;border-radius:5px;font-weight:800;white-space:nowrap;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.cta{position:relative;overflow:hidden;color:var(--color-paper);background:var(--color-accent);box-shadow:var(--shadow-cta)}.cta:after{content:"";position:absolute;inset:-40% auto -40% -35%;width:20%;background:var(--color-cta-shine);transform:rotate(19deg);animation:glint 3.3s infinite}.cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-cta-hover)}.outline-cta{border:1px solid var(--color-rule);color:var(--color-ink)}.outline-cta:hover{border-color:var(--color-accent);background:var(--color-paper-2)}@keyframes glint{0%,55%{left:-35%}75%,100%{left:135%}}
.hero{min-height:100svh;display:grid;align-items:end;position:relative;isolation:isolate;padding:calc(7rem + env(safe-area-inset-top)) var(--page) var(--space-xl);overflow:hidden}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,var(--color-overlay) 10%,var(--color-hero-mid) 58%,var(--color-overlay) 100%)}.hero:after{content:"";position:absolute;z-index:-1;width:45vw;height:45vw;right:-14vw;top:12vh;border-radius:50%;background:radial-gradient(circle,var(--color-bloom),transparent 66%);filter:blur(12px)}.hero-bg{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.77}.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(230px,.55fr);align-items:end;gap:var(--space-xl)}.hero-copy{max-width:790px}.hero h1 span{display:block;color:var(--color-accent);font-size:clamp(1.35rem,2.5vw,2.3rem);letter-spacing:.03em;margin:.45rem 0 1rem}.hero-lede{max-width:62ch;font-size:clamp(1rem,1.5vw,1.23rem);color:var(--color-hero-ink)}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.fact-list{border-left:1px solid var(--color-accent);padding-left:1rem;display:grid;gap:.7rem}.fact-list div{padding-bottom:.7rem;border-bottom:1px solid var(--color-fact-rule)}.fact-list strong{display:block;font-family:var(--font-outlier);font-size:.74rem;letter-spacing:.08em;color:var(--color-accent)}.fact-list span{font-size:.9rem;color:var(--color-muted)}
.signal-strip{border-block:1px solid var(--color-rule);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--color-paper-2)}.signal-strip div{padding:1.1rem max(1rem,var(--page));border-right:1px solid var(--color-rule)}.signal-strip strong{font-family:var(--font-outlier);font-size:.8rem;color:var(--color-accent);display:block}.signal-strip span{font-size:.85rem;color:var(--color-muted)}section{scroll-margin-top:7rem}.section{padding:var(--space-3xl) 0}.section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr);gap:var(--space-lg);align-items:end;margin-bottom:var(--space-xl)}.section-head p:last-child{color:var(--color-muted);max-width:44ch}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--color-rule);border-left:1px solid var(--color-rule)}.info-grid>div{padding:1rem;border-right:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);min-height:110px}.info-grid dt{color:var(--color-muted);font-size:.83rem}.info-grid dd{margin:.45rem 0 0;font-size:1.05rem;font-weight:700}.pending{color:var(--color-muted);font-weight:400}
.story-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:var(--space-2xl)}.story-copy{font-size:1.08rem;display:grid;gap:1rem}.source-note{align-self:start;padding:1.25rem;border-top:2px solid var(--color-accent);background:var(--color-paper-2);color:var(--color-muted)}.source-note strong{color:var(--color-ink)}.workflow{counter-reset:step;display:grid;gap:0}.workflow article{counter-increment:step;display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--space-lg);padding:2rem 0;border-top:1px solid var(--color-rule)}.workflow article:before{content:"0" counter(step);font-family:var(--font-outlier);font-size:1.1rem;color:var(--color-accent)}.workflow p{margin-top:.6rem;color:var(--color-muted);max-width:58ch}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--color-rule);border:1px solid var(--color-rule)}.feature{background:var(--color-paper);padding:1.4rem;transition:transform .2s var(--ease),background .2s var(--ease)}.feature:hover{transform:translateY(-5px);background:var(--color-paper-2)}.feature .mono{display:block;margin-bottom:1.3rem}.feature p{margin-top:.65rem;color:var(--color-muted)}
.gallery-preview{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:260px 260px;gap:.75rem}.gallery-item{border:0;padding:0;background:var(--color-paper-2);cursor:pointer;overflow:hidden;position:relative}.gallery-item:first-child{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease),filter .35s}.gallery-item:hover img{transform:scale(1.04);filter:brightness(1.12)}.gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:1.3rem .9rem .75rem;text-align:left;background:linear-gradient(transparent,var(--color-overlay));font-weight:700}.download-band{background:var(--color-paper-3);border-block:1px solid var(--color-rule)}.download-band .shell{display:flex;justify-content:space-between;gap:var(--space-lg);align-items:center;padding-block:var(--space-xl)}.download-band p{margin-top:.6rem;color:var(--color-muted)}.accordions{border-top:1px solid var(--color-rule)}details{border-bottom:1px solid var(--color-rule);padding:.25rem 0}summary{cursor:pointer;list-style:none;padding:1rem 2.4rem 1rem 0;font-weight:700;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:.25rem;color:var(--color-accent);font-size:1.35rem;line-height:1}details[open] summary:after{content:"−"}details p{padding:0 2rem 1.25rem 0;color:var(--color-muted)}
.fit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.fit-card{padding:1.3rem;border-left:2px solid var(--color-accent);background:var(--color-paper-2)}.fit-card p{margin-top:.65rem;color:var(--color-muted)}.final-cta{text-align:center;padding:var(--space-3xl) 0}.final-cta p{max-width:55ch;margin:1rem auto 1.4rem;color:var(--color-muted)}.footer{padding:var(--space-2xl) 0 8rem;border-top:1px solid var(--color-rule);background:var(--color-paper-2)}.footer-line{font-size:clamp(2rem,5vw,3.4rem);max-width:38ch}.footer-meta{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--color-rule);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:1rem;color:var(--color-muted);font-size:.82rem}.footer-nav{display:flex;flex-wrap:wrap;gap:.7rem 1rem}.footer-nav a:hover{color:var(--color-accent)}.sticky-cta{position:fixed;z-index:30;right:1rem;bottom:1rem;display:flex;gap:.6rem;align-items:center;padding:.5rem .5rem .5rem 1rem;border:1px solid var(--color-rule);border-radius:6px;background:var(--color-paper-2);box-shadow:var(--shadow-sticky)}.sticky-cta span{font-size:.8rem;color:var(--color-muted)}
.page-hero{min-height:48svh;padding:9rem 0 var(--space-xl);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;inset:auto -10vw -22vw auto;width:45vw;height:45vw;border-radius:50%;background:radial-gradient(circle,var(--color-accent) 0,transparent 68%);opacity:.2}.page-hero p{margin-top:1rem;max-width:65ch;color:var(--color-muted)}.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--space-lg)}.tab{border:1px solid var(--color-rule);background:transparent;color:var(--color-muted);padding:.55rem .8rem;cursor:pointer}.tab[aria-selected="true"],.tab:hover{border-color:var(--color-accent);color:var(--color-ink);background:var(--color-paper-2)}.gallery-full{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.gallery-full .gallery-item{aspect-ratio:4/3}.download-cards,.requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--color-rule);border:1px solid var(--color-rule)}.download-card,.requirement{background:var(--color-paper);padding:var(--space-lg)}.download-card p,.requirement p{color:var(--color-muted);margin:.7rem 0 1.2rem}.requirements{margin-top:var(--space-lg)}.requirement ul{padding-left:1rem;color:var(--color-muted)}.toc{display:flex;gap:.75rem;flex-wrap:wrap;padding:1rem;border-block:1px solid var(--color-rule);font-size:.92rem}.toc a{color:var(--color-muted)}.toc a:hover{color:var(--color-accent)}.guide-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-2xl)}.guide-aside{position:sticky;top:7rem;align-self:start;display:grid;gap:.6rem}.guide-aside a{color:var(--color-muted)}.guide-aside a:hover{color:var(--color-accent)}.guide-content article{padding:0 0 var(--space-xl);margin-bottom:var(--space-xl);border-bottom:1px solid var(--color-rule)}.guide-content p,.guide-content li{color:var(--color-muted)}.guide-content li+li{margin-top:.5rem}.guide-content table{width:100%;border-collapse:collapse;margin-top:1rem}.guide-content th,.guide-content td{padding:.7rem;text-align:left;border-bottom:1px solid var(--color-rule)}.guide-content th{color:var(--color-accent)}.article{width:min(100% - 2.5rem,780px);margin-inline:auto;padding:9rem 0 var(--space-3xl)}.article header{border-bottom:1px solid var(--color-rule);padding-bottom:var(--space-lg);margin-bottom:var(--space-lg)}.article .answer{font-size:1.13rem;color:var(--color-ink)}.article p,.article li{color:var(--color-muted)}.article section{margin-top:var(--space-xl)}.article ol,.article ul{padding-left:1.2rem}.article table{width:100%;border-collapse:collapse;margin-top:1rem}.article th,.article td{padding:.7rem;border-bottom:1px solid var(--color-rule);text-align:left}.article th{color:var(--color-accent)}.article-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:var(--space-xl)}
.lightbox{width:min(92vw,1100px);max-width:none;padding:0;border:1px solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink)}.lightbox::backdrop{background:var(--color-lightbox-scrim)}.lightbox-wrap{position:relative}.lightbox img{width:100%;max-height:78vh;object-fit:contain}.lightbox figcaption{padding:.8rem 4rem .9rem 1rem;color:var(--color-muted)}.lightbox button{position:absolute;top:.75rem;border:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);width:2.3rem;height:2.3rem;cursor:pointer}.lightbox .close{right:.75rem}.lightbox .prev{left:.75rem;top:50%}.lightbox .next{right:.75rem;top:50%}.cmdk{position:fixed;z-index:80;inset:0;visibility:hidden;opacity:0;transition:opacity .2s var(--ease),visibility .2s}.cmdk.open{visibility:visible;opacity:1}.cmdk-backdrop{position:absolute;inset:0;background:var(--color-scrim)}.cmdk-panel{position:relative;width:min(92vw,560px);margin:13vh auto 0;padding:1rem;background:var(--color-paper-2);border:1px solid var(--color-rule);box-shadow:var(--shadow-panel)}.cmdk-panel input{width:100%;padding:.85rem;border:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);font:inherit}.cmdk-list{display:grid;gap:.25rem;margin-top:.8rem}.cmdk-list a{padding:.7rem;color:var(--color-muted)}.cmdk-list a:hover,.cmdk-list a:focus{background:var(--color-paper-3);color:var(--color-ink)}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media(max-width:768px){.nav{grid-template-columns:auto 1fr auto}.nav-links{display:none;position:absolute;top:calc(100% + .5rem);left:0;right:0;padding:1rem;flex-direction:column;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:8px}.nav[data-open="true"] .nav-links{display:flex}.menu-btn{display:block}.searchpill .search-text,.searchpill kbd{display:none}.hero{padding-bottom:8rem}.hero-grid,.section-head,.story-layout,.guide-layout,.footer-meta{grid-template-columns:1fr}.hero-grid{gap:var(--space-lg)}.fact-list{grid-template-columns:repeat(3,minmax(0,1fr));border-left:0;border-top:1px solid var(--color-accent);padding:1rem 0 0}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid,.fit-grid{grid-template-columns:1fr}.gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:190px 190px}.gallery-item:first-child{grid-row:span 2}.gallery-full{grid-template-columns:repeat(2,minmax(0,1fr))}.download-cards,.requirements{grid-template-columns:1fr}.download-band .shell{display:grid}.guide-aside{position:static;display:none}.sticky-cta span{display:none}.workflow article{grid-template-columns:55px minmax(0,1fr);gap:.75rem}.footer{padding-bottom:6rem}}@media(max-width:420px){.brand span{max-width:10ch;overflow:hidden;text-overflow:ellipsis}.hero-actions .cta,.hero-actions .outline-cta{width:100%}.gallery-preview{grid-template-rows:145px 145px}.signal-strip{grid-template-columns:1fr}.signal-strip div{border-right:0}.fact-list{grid-template-columns:1fr}}
