/* Hallmark · pre-emit critique: P4 H4 E4 S3 R5 V3 */
/* Hallmark · macrostructure: configurable editorial · tone: editorial · anchor hue: sky */
@import url('../../tokens.css');
@font-face{font-family:'Noto Sans SC';src:url('../fonts/noto-sans-sc.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:9rem}body{margin:0;background:var(--color-paper);color:var(--color-ink);font:var(--text-base)/1.8 var(--font-body)}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:0 0 var(--space-lg)}h2{font-size:var(--text-heading)}p{max-width:65ch}a{color:inherit;text-underline-offset:.3em}button,input,select{font:inherit}button,a.button{cursor:pointer}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.5}button:active,.button:active{transform:translateY(1px)}button:hover,.button:hover{background:var(--color-tint)}[hidden]{display:none!important}.skip{position:fixed;top:-10rem;left:1rem;background:var(--color-paper);padding:1rem;z-index:10}.skip:focus{top:1rem}.masthead{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:var(--space-lg);align-items:center;padding:var(--space-md) var(--space-xl);background:var(--color-paper);border-bottom:1px solid var(--color-line)}.brand{max-width:28ch;font-weight:700;line-height:1.5;overflow-wrap:anywhere;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:var(--space-md)}nav a,.button,button{white-space:nowrap}main,footer{width:min(1200px,calc(100% - 3rem));margin-inline:auto}main{padding-block:var(--space-2xl)}section{padding-block:var(--space-xl);scroll-margin-top:8rem;border-bottom:1px solid var(--color-line)}.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:var(--space-xl);min-height:65svh}.hero figure{margin:0}.hero img{width:100%;height:auto;max-height:70svh;object-fit:contain}img{display:block;max-width:100%;height:auto}.button,button{display:inline-block;padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-ink);background:var(--color-paper);color:var(--color-ink);text-decoration:none}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);margin-block:var(--space-xl)}.picture{padding:0;border:0;overflow:hidden}.picture img{width:100%;aspect-ratio:16/10;object-fit:contain;background:var(--color-tint)}footer{padding-block:var(--space-xl);border-top:1px solid var(--color-ink)}footer p{font-size:.875rem}dialog{width:min(1100px,94vw);max-height:92svh;overflow:auto;border:0;background:var(--color-paper);color:var(--color-ink);padding:var(--space-md)}dialog::backdrop{background:var(--color-overlay)}dialog img{max-height:72svh;margin:var(--space-md) auto;object-fit:contain}dialog p{margin-inline:auto}[data-layout=book] main{max-width:1080px}[data-layout=book] .hero{grid-template-columns:minmax(0,4fr) minmax(0,5fr)}[data-layout=book] section{max-width:760px;margin-left:auto}[data-layout=poster] .hero{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}[data-layout=poster] .hero h1{font-family:var(--font-body);max-width:18ch}[data-layout=poster] .hero figure{max-width:900px;margin-left:auto}[data-layout=poster] section{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:0 var(--space-xl)}[data-layout=poster] section h2{grid-row:span 8}[data-layout=gallery] .hero{display:flex;flex-direction:column-reverse;align-items:stretch}[data-layout=gallery] .hero figure{width:100%}[data-layout=gallery] .hero img{width:100%;max-height:65svh}[data-layout=gallery] section{max-width:820px}[data-layout=journal] .hero{display:block;max-width:850px;margin:auto}[data-layout=journal] .hero figure{margin-top:var(--space-xl)}[data-layout=journal] section{max-width:850px;margin:auto}
@media(max-width:768px){.masthead{align-items:flex-start;flex-direction:column;padding:var(--space-md);gap:var(--space-sm)}.masthead nav{gap:var(--space-lg)}main,footer{width:calc(100% - 2rem)}main{padding-top:var(--space-xl)}.hero,[data-layout=book] .hero,[data-layout=poster] section{grid-template-columns:minmax(0,1fr)}[data-layout=poster] section h2{grid-row:auto}.hero{min-height:0}.gallery{grid-template-columns:minmax(0,1fr)}h1{font-size:clamp(1.8rem,7vw,3rem)}.brand{max-width:100%;font-size:.95rem}.hero img{max-height:55svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.kicker{font-size:.875rem;font-weight:700;letter-spacing:.08em;margin-bottom:var(--space-lg)}.lead{font-size:1.1rem}.actions{display:flex;flex-wrap:wrap;gap:var(--space-lg);align-items:center;margin-top:var(--space-xl)}.actions a{white-space:nowrap}figcaption{font-size:.875rem;margin-top:var(--space-sm)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-lg);padding:var(--space-lg) 0;margin-top:var(--space-xl);border-block:1px solid var(--color-line)}.facts dt{font-size:.875rem}.facts dd{margin:var(--space-sm) 0 0;font-weight:700;overflow-wrap:anywhere}.requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)}details{border-bottom:1px solid var(--color-line);padding-block:var(--space-md)}summary{cursor:pointer;font-weight:700;min-height:2.5rem;align-content:center}summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}summary::marker{color:var(--color-ink)}.page-head{padding-block:var(--space-xl)}.page-head h1{font-size:var(--text-heading)}.hero:not(:has(figure)){display:block;min-height:0;max-width:900px;padding-bottom:var(--space-xl)}[data-layout=atlas] .hero{grid-template-columns:minmax(0,1fr);min-height:0}[data-layout=atlas] .hero-copy{max-width:850px}[data-layout=atlas] .hero figure{margin-left:15%}[data-layout=atlas] .story-sections{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-xl)}[data-layout=folio] .hero figure{order:-1}[data-layout=folio] .story-sections section:nth-child(even){margin-left:22%}[data-layout=dossier] .hero{grid-template-columns:minmax(0,3fr) minmax(0,2fr);min-height:0}[data-layout=dossier] h1{font-family:var(--font-body)}[data-layout=dossier] .facts{background:var(--color-tint);padding:var(--space-lg)}[data-layout=dossier] .story-sections{max-width:900px;margin-left:auto}[data-layout=cinema] .hero{display:flex;flex-direction:column-reverse;align-items:stretch}[data-layout=cinema] .hero img{width:100%;max-height:65svh}[data-layout=cinema] .hero-copy{max-width:800px}[data-layout=cinema] .story-sections{max-width:800px;margin:auto}
@media(max-width:768px){.requirements,[data-layout=atlas] .story-sections,[data-layout=dossier] .hero{grid-template-columns:minmax(0,1fr)}[data-layout=atlas] .hero figure,[data-layout=folio] .story-sections section:nth-child(even){margin-left:0}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.masthead nav{gap:.5rem 1rem}nav a{font-size:.9rem}figcaption{line-height:1.6}.hero figure{min-width:0}summary{overflow-wrap:anywhere}.brand{max-width:100%;font-size:.9rem}}

.brand{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.masthead nav{flex-shrink:0}.requirements li{overflow-wrap:anywhere}.gallery button:focus-visible{outline-offset:4px}@media(max-width:768px){.brand{width:100%}}
/* Editorial v2: chapter navigation, illustrated reading paths, and long-form notes. */
.eyebrow{font:700 .78rem/1.5 var(--font-body);letter-spacing:.12em;margin:0 0 .9rem}.hero{min-height:56svh}.hero-copy{min-width:0}.hero .lead{max-width:38ch}.page-outline{padding:1.25rem 0;margin:1rem 0 0;border-bottom:1px solid var(--color-line);gap:.75rem 1.5rem}.page-outline a{font-size:.8rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.opening{padding-left:2rem;border-left:3px solid var(--color-ink);margin-block:3rem 1rem}.opening-text{font-size:1.15rem;max-width:54ch}.story-sections{counter-reset:chapter}.story-sections>section{position:relative;counter-increment:chapter}.story-sections>section:before{content:'0' counter(chapter);font:700 .8rem/1 var(--font-body);display:block;margin-bottom:1rem}.story-sections>section p{line-height:2}.section-heading{display:flex;gap:1.5rem;justify-content:space-between;align-items:flex-end;margin-bottom:2rem}.section-heading h2{margin:0}.section-heading>a{white-space:nowrap;font-size:.875rem}.scene-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1.5rem}.scene-strip figure{margin:0;min-width:0}.scene-strip img{width:100%;aspect-ratio:16/10;object-fit:contain;background:var(--color-tint)}.scene-strip figcaption{line-height:1.7}.reading-path{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:3.5rem}.reading-path h2{margin-top:0}.reading-path aside{border-left:1px solid var(--color-line);padding-left:2rem}.reading-path h3{font-size:1.3rem;margin:0}.audience{background:var(--color-tint);padding:2rem!important;margin-block:2rem!important}.audience h2{margin:.5rem 0 1rem}.audience p:last-child{margin:0}.page-intro{font-size:1.1rem;max-width:55ch}.gallery .picture{white-space:normal;text-align:left;align-self:start;background:var(--color-paper)}.gallery-caption{display:block;padding:1rem 0;font-size:.875rem;line-height:1.7}.gallery .picture:hover{background:var(--color-paper)}.gallery .picture:hover img{outline:1px solid var(--color-ink);outline-offset:-1px}.editorial-article{max-width:800px;margin:auto}.editorial-article h1{font-size:clamp(2rem,4vw,3.7rem)}.article-game{font-size:.875rem;border-bottom:1px solid var(--color-line);padding-bottom:1.5rem}.article-deck{font-size:1.15rem;line-height:1.9;margin-block:2rem 3rem}.article-body p{font-size:1.1rem;line-height:2.1;margin-block:2rem}.article-practice{border-left:3px solid var(--color-ink);padding:1rem 0 1rem 2rem;margin-block:3rem}.article-practice h2{font-size:1.2rem}.editorial-article nav{margin-top:3rem}.article-practice h3{font-size:1.1rem}.home-gallery,.reading-path,.opening,.audience{width:100%}[data-layout=book] .home-gallery,[data-layout=book] .reading-path,[data-layout=book] .audience{max-width:none}[data-layout=poster] .home-gallery,[data-layout=poster] .opening,[data-layout=poster] .audience{display:block}[data-layout=poster] .reading-path h2{grid-row:auto}[data-layout=atlas] .story-sections{display:block;max-width:900px;margin-left:auto}[data-layout=folio] .opening{margin-left:0}[data-layout=poster] .story-sections>section:before{grid-column:1/-1}[data-layout=poster] .story-sections>section h2{grid-row:auto}
@media(max-width:768px){.page-outline{gap:.6rem 1rem}.opening{padding-left:1.25rem;margin-top:2rem}.opening h2{font-size:1.65rem}.reading-path{grid-template-columns:minmax(0,1fr);gap:2rem}.reading-path aside{border-left:0;border-top:1px solid var(--color-line);padding:1.5rem 0 0}.section-heading{display:block}.section-heading>a{display:inline-block;margin-top:1rem}.scene-strip{grid-template-columns:minmax(0,1fr)}.audience{padding:1.5rem!important}.article-practice{padding-left:1.25rem}.editorial-article h1{font-size:clamp(1.8rem,7vw,2.8rem)}.masthead nav{gap:.4rem 1rem}.masthead nav a{font-size:.82rem}.hero .lead{max-width:none}[data-layout=poster] .reading-path{display:block}[data-layout=poster] .reading-path aside{margin-top:2rem}}
.primary-action{background:var(--color-tint)!important;border:2px solid var(--color-ink)!important;font-weight:700}.primary-action:hover{outline:2px solid var(--color-ink);outline-offset:3px}.final-action{padding:3rem 0!important;border-top:2px solid var(--color-ink);margin-top:3rem!important;max-width:none!important;display:block!important}.final-action h2{margin-top:0}.footer-title,.footer-related h2{font:700 1rem/1.4 var(--font-body);margin:2rem 0 1rem}.footer-related nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 2rem}.footer-related a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:.875rem}.footer-heading p{font-weight:700}.mobile-actions{display:none}.support-steps{max-width:none!important;display:block!important}.support-steps h2{grid-row:auto!important}
@media(max-width:768px){.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:4;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));gap:.75rem;background:var(--color-paper);border-top:1px solid var(--color-line)}.mobile-actions a{flex:1;text-align:center;text-decoration:none;white-space:nowrap;padding:.55rem;background:var(--color-tint);border:1px solid var(--color-ink);font-size:.85rem;font-weight:700}body{padding-bottom:5rem}dialog{z-index:10}.footer-related nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.final-action .actions{gap:.75rem}.final-action .button{padding:.65rem 1rem}.hero .actions{gap:.8rem}.hero .button{padding:.65rem .9rem}.footer-related a{font-size:.8rem}}
.nav-download{font-weight:800;background:var(--color-tint);padding:.15rem .6rem;text-decoration:none;border:1px solid var(--color-ink)}.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.platform-grid>div{padding:1.5rem;border:1px solid var(--color-line)}.platform-grid h3{margin-top:0}.platforms,.installation{display:block!important;max-width:none!important}.installation ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-left:1.3rem}.installation li{padding-left:.5rem}.installation p{font-size:.95rem}.download-end{padding-block:2rem}.gallery-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.gallery-filters button{padding:.45rem 1rem;font-size:.85rem}.gallery-filters button[aria-pressed=true]{background:var(--color-tint);border-width:2px}.gallery-status{font-size:.875rem}.alternate-name{font-size:.95rem;line-height:1.6;margin:-.5rem 0 1.5rem}.characters{display:block!important;max-width:none!important}.character-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.character-list h3{font-size:1.2rem}.character-list p{font-size:.95rem}.character-list>div{border-top:1px solid var(--color-line);padding-top:1rem}.home-gallery button.picture{white-space:normal;background:transparent}.gallery-filters button:hover{background:var(--color-tint)}
@media(max-width:768px){.platform-grid,.installation ol,.character-list{grid-template-columns:minmax(0,1fr)}.installation ol{gap:1rem}.character-list{gap:1rem}.platform-grid{gap:1rem}.masthead .nav-download{padding:.05rem .5rem}.home-gallery button.picture{width:100%}}
@media(max-width:768px){.footer-related nav{grid-template-columns:minmax(0,1fr)}.footer-related a{font-size:.875rem}}
