@charset "UTF-8";
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-cyrillic-wght-normal.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0400-052F,U+2116}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin-wght-normal.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
/* GAUSS system: source menu, central narrative, compact reference pages.
   All grouping and type decisions are documented in editorial/design-system.md. */
:root {
  --bg:#050506; --surface:#101012; --text:#e6e6e9; --muted:#b1b1ba;
  --quiet:#94949d; --accent:#d0ac70; --accent-hover:#e7c892; --line:#303036; --line-strong:#686870;
  --canvas:#000; --footer-bg:#030304; --image-bg:#101013; --accent-line:#d0ac7050;
  --sans:Manrope,Arial,sans-serif; --mono:Consolas,monospace;
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem; --s6:1.5rem;
  --s8:2rem; --s12:3rem; --s16:4rem; --s20:5rem; --s24:6rem; --s32:8rem;
  --gap-label:var(--s3); --gap-copy:var(--s4); --gap-action:var(--s6);
  --gap-group:var(--s12); --gap-section:var(--s24); --section-inset:var(--s20);
  --page-inset:var(--s20); --gutter:var(--s8); --card-gap:var(--s8);
  --wide:80rem; --visual:66rem; --reading:42rem; --measure:38rem; --header-height:4.5rem;
  --control-size:2.75rem; --action-size:3rem; --nav-gap:var(--s4);
  --weight-body:400; --weight-medium:550; --weight-heading:650;
  --line-body:1.7; --line-prose:1.75; --line-heading:1.3; --line-ui:1.5;
  --hero-logo-width:27.5rem; --hero-top:var(--s20); --hero-logo-gap:var(--s32); --hero-horizon:17rem;
  --hero-planet-width:clamp(75rem,100vw,105rem); --hero-planet-top:calc(var(--hero-horizon) - var(--hero-planet-width) * .19);
  --hero-min:40rem; --hero-max:48rem; --power-panel-min:14rem;
  --type-display:clamp(1.75rem,3vw,2.25rem);
  --type-page:clamp(1.625rem,2.5vw,2rem);
  --type-section:clamp(1.375rem,2vw,1.625rem);
  --type-prose-heading:1.375rem; --type-prose-subheading:1.125rem;
  --type-card:1.25rem; --type-body:1rem; --type-lead:1.0625rem;
  --type-label:.875rem; --type-meta:.8125rem; --type-nav:.875rem; --type-menu:1.125rem;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--s6))}
body{margin:0;background:var(--bg);color:var(--text);font:var(--weight-body) var(--type-body)/var(--line-body) var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit;border-radius:0}
button{cursor:pointer;color:inherit;border:0}
a,button,input,summary{touch-action:manipulation;outline-offset:4px}
:focus-visible{outline:2px solid var(--accent)}
::selection{background:var(--accent);color:var(--bg)}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
p,h1,h2,h3,figure{margin:0}
p{color:var(--muted)}
h1,h2,h3{overflow-wrap:anywhere;font-weight:var(--weight-heading);line-height:var(--line-heading);letter-spacing:0;text-wrap:balance}
h1,h2{text-transform:none}
h1{font-size:var(--type-page)}h2{font-size:var(--type-section)}h3{font-size:var(--type-card)}
em{font-style:normal;color:inherit}
.wrap{width:min(100%,var(--wide));padding-inline:var(--gutter);margin-inline:auto}
.section{padding-block:var(--gap-section)}
.narrow{max-width:var(--measure)}
.lead{font-size:var(--type-lead);line-height:1.7;color:var(--muted)}
.small{font-size:var(--type-meta);color:var(--quiet)}
.eyebrow,.index{display:block;font-size:var(--type-label);font-weight:500;line-height:1.5;letter-spacing:.12em;color:var(--accent)}
.eyebrow,.index{margin-bottom:var(--gap-label)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:var(--s4);z-index:100;padding:var(--s3) var(--s4);background:var(--text);color:var(--bg)}
.skip-link:focus{top:var(--s4)}
/* Source identity: unframed commands and outlined active lettering.
   The home hero owns the only wordmark; navigation stays centered. */
.header{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:0}
.header-inner{position:relative;width:min(100%,var(--wide));min-height:var(--header-height);margin:auto;padding:var(--s3) var(--gutter);display:flex;align-items:center;justify-content:center;gap:var(--s6)}
.header nav{display:flex;align-items:center;justify-content:center;gap:var(--nav-gap)}
.header nav a{display:flex;align-items:center;justify-content:center;gap:var(--s2);padding:var(--s3) 0;color:var(--muted);font-size:var(--type-nav);font-weight:var(--weight-heading);line-height:var(--line-ui);letter-spacing:.065em;text-transform:uppercase;white-space:nowrap}
.header nav a:hover{color:var(--text)}
.header nav a[aria-current]{color:var(--accent)}
/* Paint the stroke first, then an opaque glyph fill: the gold contour
   stays outside the glyph instead of eating into its counters. */
@supports (paint-order:stroke fill) and (-webkit-text-stroke:1px #000){
 .header nav a[aria-current]{color:var(--bg);-webkit-text-stroke:1.5px var(--accent);paint-order:stroke fill}
}

.menu-toggle{display:none;min-height:var(--control-size);min-width:var(--control-size);padding:var(--s3);background:none}
.menu-label{font-size:var(--type-label);letter-spacing:.16em;text-transform:uppercase}
.local-nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s6);margin-top:var(--s6);font-size:var(--type-label)}
.local-nav a{padding:var(--s2) 0;border-bottom:1px solid var(--line);color:var(--muted)}
.local-nav a:hover{color:var(--accent);border-color:var(--accent)}
/* A command is bilateral: ring—line · label · line—ring. */
:root{--ornament-length:4rem;--ornament-gap:var(--s4);--ornament-height:.5rem;--ds-stroke:1px;--ds-node:.5rem;--command-mask:radial-gradient(circle at 4px 4px,transparent 2.5px,#000 2.75px,#000 3.5px,transparent 3.75px) 0 0/8px 8px no-repeat,linear-gradient(#000,#000) 7px 3.5px/calc(100% - 7px) 1px no-repeat}
.button,.menu-toggle{position:relative;align-items:center;justify-content:center;gap:var(--ornament-gap);min-height:var(--action-size);padding:var(--s3) 0;border:0;background:none;color:var(--text);font-size:var(--type-label);font-weight:var(--weight-medium);line-height:1.5;text-align:center}
.button{display:inline-flex;max-width:100%}
.button:before,.button:after,.menu-toggle:before,.menu-toggle:after,.header nav a:before,.header nav a:after{content:"";display:block;flex:none;width:var(--ornament-length);height:var(--ornament-height);background:var(--accent);mask:var(--command-mask)}
.button:after,.menu-toggle:after,.header nav a:after{transform:rotate(180deg)}
.button:hover,.menu-toggle:hover{color:var(--accent-hover)}
.button-ghost{color:var(--muted)}
.header nav a:before,.header nav a:after{width:1.25rem;opacity:0}
.header nav a[aria-current]:before,.header nav a[aria-current]:after,.header nav a:hover:before,.header nav a:hover:after{opacity:1}
.text-link{display:inline-flex;align-items:center;min-height:var(--control-size);padding:var(--s2) 0;border-bottom:1px solid var(--accent-line);color:var(--accent);font-size:var(--type-label)}
.text-link:hover{border-color:var(--accent);color:var(--accent-hover)}
/* One central brand composition. Its geometry is separate from content rhythm. */
.hero-orbit{margin-bottom:var(--gap-section);position:relative;isolation:isolate;overflow:hidden;min-height:var(--hero-min);height:calc(100svh - var(--header-height));max-height:var(--hero-max);background:var(--canvas);text-align:center;display:flex;flex-direction:column;align-items:center;padding:0 var(--gutter) var(--s8)}
.hero-brand-stage{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-planet{position:absolute;top:var(--hero-planet-top);left:50%;transform:translateX(-50%);width:var(--hero-planet-width);max-width:none;height:auto;mask-image:linear-gradient(#000 80%,transparent 97%)}
.hero-content{position:relative;width:100%;max-width:var(--reading);margin:0 auto;padding-top:var(--hero-top)}
.hero-brand-lockup{width:min(100%,var(--hero-logo-width));margin:0 auto var(--hero-logo-gap);display:grid;gap:var(--s8);container-type:inline-size}
.hero-brand-label{font-size:var(--type-meta);font-size:min(var(--type-meta),5cqi);font-weight:500;line-height:var(--line-ui);color:var(--muted)}
.hero-brand-letters{display:flex;justify-content:space-between;white-space:nowrap;letter-spacing:0}
.hero-brand-letters>span{flex:none}
/* Frame meaningful alpha bounds (10,167)—(2137,533) of the untouched
   2172×724 PNG. Uniform scale crops its empty canvas, never the letters. */
.hero-content .hero-brand-title{position:relative;aspect-ratio:2127/366;overflow:hidden;margin:0;max-width:none}
.hero-wordmark{position:absolute;display:block;width:calc(100% * 2172 / 2127);max-width:none;height:auto;left:calc(-100% * 10 / 2127);top:calc(-100% * 167 / 366);margin:0}
.hero-description{margin:0 auto;max-width:var(--measure);font-size:var(--type-body);line-height:var(--line-body);color:var(--muted)}
.hero-actions,.chapter-actions{display:flex;justify-content:center;align-items:center;gap:var(--s6);margin:var(--gap-action) auto 0;flex-wrap:wrap}
.hero-bottom{margin-top:auto;font-size:var(--type-meta);color:var(--quiet);padding:var(--s3);display:flex;flex-direction:column;align-items:center;gap:var(--s4)}
.hero-bottom span{display:block;width:1px;height:32px;background:var(--accent);position:relative}
.hero-bottom span:after{content:"";position:absolute;bottom:0;left:-3px;width:7px;height:7px;border:1px solid var(--accent);border-radius:50%;background:var(--canvas)}
/* Sequential introductions: power -> people -> a separate game. */
.universe-section{padding-block:var(--section-inset);text-align:center}
.page-intro+.universe-section{padding-top:0}
.universe-section .story-copy h2{margin-bottom:var(--s3)}
.power-selector{max-width:var(--visual);margin:var(--gap-group) auto 0}
.power-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}
.power-tabs button{position:relative;min-height:72px;padding:var(--s3) var(--s2) var(--s4);background:none;color:var(--muted);font-size:var(--type-label)}
.power-order{display:block;color:var(--quiet);font-size:var(--type-meta);letter-spacing:.1em;margin-bottom:var(--s2)}
.power-tabs button[aria-selected="true"]{color:var(--accent)}
.power-tabs button[aria-selected="true"]:after{content:"";position:absolute;bottom:-4px;left:calc(50% - 4px);width:8px;height:8px;border:1px solid var(--accent);border-radius:50%;background:var(--bg)}
.power-tabs button:hover{color:var(--text)}
.power-panels{display:grid}
.power-panel[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.power-panel{grid-area:1/1;width:100%;max-width:var(--measure);min-height:var(--power-panel-min);padding-top:var(--s8);margin:auto}
.power-full-name{color:var(--accent);font-size:var(--type-meta);margin-bottom:var(--s3)}
.power-panel h3{font-size:var(--type-section);margin-bottom:var(--s4)}
.power-panel .text-link{margin-top:var(--s4)}
.people-carousel{max-width:var(--visual);margin:var(--gap-group) auto 0}
.portrait-track{display:flex;gap:var(--card-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding-bottom:var(--s4);overscroll-behavior-x:contain}
.portrait-card{flex:0 0 calc((100% - 2 * var(--card-gap))/3);min-width:0;scroll-snap-align:start;text-align:left;background:none;display:flex;flex-direction:column}
.portrait-image{display:block;aspect-ratio:2/3;overflow:hidden;background:var(--image-bg)}
.portrait-image img{width:100%;height:100%;object-fit:contain}
.portrait-copy{padding:var(--s6) 0 var(--s2);display:flex;flex-direction:column;flex:1}.portrait-copy .text-link{align-self:flex-start;margin-top:auto;padding-top:var(--s6)}
.portrait-copy .eyebrow{font-size:var(--type-meta);margin-bottom:var(--s2);letter-spacing:.06em}
.portrait-copy h3{margin-bottom:var(--gap-label);font-size:var(--type-card)}
.portrait-copy p{font-size:var(--type-body);line-height:1.7;max-width:24rem}

.carousel-controls{display:flex;align-items:center;justify-content:center;gap:var(--s8);margin-top:var(--s4)}
.carousel-controls button{min-height:var(--control-size);background:none;padding:var(--s2) var(--s4);font-size:var(--type-label);color:var(--accent)}
.carousel-controls button:disabled{opacity:.35;cursor:default}
.carousel-position{color:var(--quiet);font:400 var(--type-meta)/1.5 var(--mono);min-width:5rem}
.people-more{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s4) var(--s6);margin-top:var(--s6)}
.game-entry{padding-bottom:var(--s24)}
.game-entry .story-figure{max-width:var(--visual)}
/* Narrative pages use one central sequence, with a readable scale distinct
   from the brand's cinematic first screen. No oversized headings per paragraph. */
.page-intro,.codex-head{text-align:center;padding-top:var(--page-inset);padding-bottom:var(--gap-section)}
.page-intro h1,.codex-head h1{max-width:var(--reading);margin:auto}
.page-intro .lead{max-width:var(--measure);margin:var(--s4) auto 0}
.story-section{padding-top:0;padding-bottom:var(--gap-section);text-align:center}

.story-copy{max-width:var(--measure);margin-inline:auto;text-align:center}
.story-copy h2{margin:0 auto var(--s4)}
.story-follow{margin-top:var(--s6)}
.story-copy:has(p+p)>p,.story-follow p,.tower-chapter .story-copy>p,.history-chapter .story-copy>p{ text-align:left }
.story-copy p+p{margin-top:var(--s4)}
.story-copy .text-link{margin-top:var(--s4)}
.story-copy .chapter-actions .text-link{margin-top:0}
.story-figure{margin:var(--gap-group) auto 0;max-width:var(--visual)}
.story-figure img{width:100%;object-fit:contain}
.story-figure figcaption{max-width:var(--reading);margin:var(--s3) auto 0;color:var(--quiet);font-size:var(--type-meta);line-height:1.5;text-align:center}
.story-figure figcaption:empty{display:none}
.story-opening{padding-bottom:var(--gap-section)}
.story-opening .story-figure{margin-top:0}
.story-opening .story-figure img{max-height:580px}
.character-portrait{max-width:29rem}
.character-portrait img{max-height:560px}
.experience-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s8);max-width:var(--visual);margin:var(--gap-group) auto 0;text-align:center}
.experience-points article{border-top:1px solid var(--line);padding-top:var(--s4)}
.experience-points h3{margin-bottom:var(--s3)}
.district-list{max-width:var(--reading);margin:var(--s6) auto 0}
.district{display:flex;align-items:baseline;gap:var(--s6);padding:var(--s6) 0;border-top:1px solid var(--line);text-align:left}
.district .index{color:var(--quiet);font-size:var(--type-meta);margin:0}
.district h3{margin-bottom:var(--s2)}
.district-name{display:block;margin-top:var(--s2);color:var(--accent);font-size:var(--type-label)}
.district:hover h3{color:var(--accent)}
.power-list{max-width:var(--reading);margin:0 auto}
.power-entry{padding:var(--s6) 0;border-top:1px solid var(--line);text-align:center}
.power-entry .index{font-size:var(--type-meta);margin-bottom:var(--s2)}
.power-entry h3{font-size:var(--type-card)}
.power-mode{font-size:var(--type-label);color:var(--accent);margin:var(--s2) 0 var(--s4)}
.power-entry .text-link{margin-top:var(--s4)}
.quiet-note{max-width:var(--reading);margin:var(--s6) auto 0;text-align:center;font-size:var(--type-meta);color:var(--quiet)}
.onward{border-top:1px solid var(--line);padding-block:var(--section-inset);text-align:center}
.onward h2,.onward p{max-width:var(--measure);margin-inline:auto}
.onward p{margin-top:var(--s4)}
.history-index{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s4);max-width:var(--visual);margin:0 auto var(--s12)}
.history-index a{position:relative;text-align:center;min-height:64px;padding:var(--s3) var(--s1);border-bottom:0;font-size:var(--type-label);color:var(--muted);line-height:1.5}
.history-index span{display:block;margin-bottom:var(--s2);color:var(--accent);font-size:var(--type-meta)}
.history-index a:hover{color:var(--text);border-color:var(--accent)}
.history-index{gap:0;margin-bottom:var(--s20)}
.history-index a:before{content:"";display:block;width:8px;height:8px;border:1px solid var(--accent);background:var(--bg);border-radius:50%;margin:0 auto var(--s6);position:relative;z-index:1}
.history-index a:after{content:"";position:absolute;top:16px;left:0;right:0;height:1px;background:var(--accent-line)}
.history-index a:first-child:after{left:50%}.history-index a:last-child:after{right:50%}
.history-index a[aria-current]:before{background:var(--accent)}
.history-story{max-width:52rem}
.history-chapter{padding-bottom:var(--s12);text-align:center;scroll-margin-top:var(--s4)}
.history-number{display:block;color:var(--accent);font-size:var(--type-label);margin-bottom:var(--s4)}
.history-effect{border-top:1px solid var(--line);padding-top:var(--s4);color:var(--muted)}
.history-story+.quiet-note{margin-top:0;margin-bottom:var(--s12)}
.art-feature{padding-bottom:var(--gap-section)}
.poster-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--card-gap);max-width:48rem;margin:var(--gap-group) auto 0}
.poster-pair .story-figure{margin:0;min-width:0}
@media(max-width:47.99rem){.poster-pair{grid-template-columns:1fr;max-width:29rem}}
.archive-section{padding-bottom:var(--gap-section)}
.archive-gallery{border-top:1px solid var(--line)}
.archive-gallery>summary{display:flex;justify-content:space-between;gap:var(--s6);padding:var(--s6) 0;cursor:pointer;font-size:var(--type-body)}
.archive-gallery>summary:after{content:"+";color:var(--accent)}
.archive-gallery[open]>summary:after{content:"−"}
.archive-gallery>summary span:nth-child(2){margin-left:auto;font-size:var(--type-label);color:var(--quiet)}
.archive-intro{max-width:var(--reading);margin:0 auto var(--s8);text-align:center;font-size:var(--type-label)}
.codex-guides{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2) var(--s6);max-width:var(--reading);margin:var(--s4) auto 0;font-size:var(--type-label)}
.codex-guides a{color:var(--accent);padding:var(--s1) 0}
/* Shared GAUSS primitives: identical command geometry, fixed nodes and a single stroke. */
.ds-divider{display:flex;align-items:center;gap:var(--ornament-gap);width:100%;height:var(--ornament-height);min-height:var(--ornament-height);pointer-events:none}
.ds-divider:before,.ds-divider:after{content:"";display:block;flex:1;height:var(--ornament-height);background:var(--accent-line);mask:var(--command-mask)}
.ds-divider:after{transform:rotate(180deg)}
.ds-selector{position:relative;padding-left:var(--s6);border-bottom:var(--ds-stroke) solid transparent}
.ds-selector[aria-current]{color:var(--accent);border-bottom-color:var(--accent-line)}
.ds-selector[aria-current]:after{content:"";position:absolute;bottom:calc(var(--ds-node) * -.5);left:var(--s2);width:var(--ds-node);height:var(--ds-node);border:var(--ds-stroke) solid var(--accent);border-radius:50%;background:var(--bg);pointer-events:none}
.ds-disclosure-mark{flex:none;color:var(--accent);stroke-width:var(--ds-stroke)}
.ds-disclosure>summary{list-style:none}
.ds-disclosure>summary::-webkit-details-marker{display:none}
.ds-disclosure[open]>summary .ds-toggle-vertical{visibility:hidden}
.source-disclosure.ds-disclosure>summary,.editorial-details.ds-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.ds-check-input{position:absolute;width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.ds-check-mark{display:flex;align-items:center;justify-content:center;flex:none;width:var(--s4);height:var(--s4);border:var(--ds-stroke) solid var(--line-strong);color:var(--accent)}
.ds-check-mark svg{visibility:hidden;stroke-width:var(--ds-stroke)}
.ds-check-input:checked+.ds-check-mark{border-color:var(--accent)}
.ds-check-input:checked+.ds-check-mark svg{visibility:visible}
.ds-check-input:focus-visible+.ds-check-mark{outline:2px solid var(--accent);outline-offset:4px}
/* Encyclopedia: one persistent tree, a reading column and an article outline. */
:root{--docs-wide:96rem;--docs-sidebar:17rem;--docs-outline:12rem}
.docs-shell{width:min(100%,var(--docs-wide));margin-inline:auto;padding:var(--s8) var(--gutter) var(--s16);display:grid;grid-template-columns:var(--docs-sidebar) minmax(0,1fr);gap:var(--s12);align-items:start}
.docs-sidebar{position:sticky;top:calc(var(--header-height) + var(--s6));height:calc(100dvh - var(--header-height) - var(--s12));min-width:0;border-right:var(--ds-stroke) solid var(--line);padding-right:var(--s6)}
.docs-mobile-toggle{display:none}
.docs-sidebar-body{height:100%;display:flex;flex-direction:column;min-height:0}
.docs-home{font-size:var(--type-body);font-weight:var(--weight-heading);padding-block:var(--s2);margin-bottom:var(--s3)}
.docs-home:hover,.docs-home[aria-current]{color:var(--accent)}
.search-field input::-webkit-search-cancel-button{display:none}
.search-field{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);min-height:var(--action-size);background:var(--surface);border:1px solid var(--line-strong);color:var(--quiet)}
.search-field:focus-within{border-color:var(--accent)}
.search-field input{flex:1;min-width:0;width:100%;border:0;outline:0;background:none;font-size:var(--type-body);color:var(--text)}
.search-field input::placeholder{color:var(--quiet)}
.docs-archive-option{position:relative;display:flex;align-items:center;gap:var(--s2);min-height:var(--control-size);font-size:var(--type-label);color:var(--muted)}
#docs-search-status{font-size:var(--type-meta);line-height:var(--line-ui);padding:var(--s3) 0;color:var(--quiet)}
.docs-nav-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;margin-top:var(--s4);padding-right:var(--s2);padding-bottom:var(--s4)}
.docs-sidebar ul{list-style:none;padding:0;margin:0}
.docs-tree>.docs-node,.docs-tree>ul>.docs-node{margin-bottom:var(--s1)}
.docs-node{position:relative}
.docs-node-link{display:flex;align-items:center;min-height:var(--control-size);padding:var(--s2) var(--s3) var(--s2) var(--s6);font-size:var(--type-label);line-height:var(--line-ui);color:var(--muted);overflow-wrap:anywhere}
.docs-node:has(>.docs-branch)>.docs-node-link{padding-right:var(--control-size)}
.docs-node-link:hover{color:var(--accent-hover)}
.docs-node-link.docs-in-path{color:var(--text)}
.docs-node-link[aria-current]{color:var(--accent);font-weight:var(--weight-heading)}
.docs-branch>summary{position:absolute;top:0;right:0;width:var(--control-size);height:var(--control-size);display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;color:var(--quiet)}
.docs-branch>summary::-webkit-details-marker{display:none}
.docs-branch>summary:hover{color:var(--accent)}
.docs-branch>ul{margin-left:var(--s3);padding-left:var(--s2);border-left:1px solid var(--line)}
.docs-tree>ul>.docs-archive{margin-top:var(--s4)}
.docs-tree>ul>.docs-archive>.ds-divider{margin-bottom:var(--s4)}
.docs-tree>ul>.docs-archive>.docs-branch>summary{top:calc(var(--ornament-height) + var(--s4))}
.docs-search-result{display:block;padding:var(--s3) var(--s3) var(--s3) var(--s6);border-bottom:1px solid var(--line)}
.docs-search-result strong{display:block;font-size:var(--type-label);font-weight:var(--weight-medium);color:var(--text);overflow-wrap:anywhere}
.docs-search-result span{display:block;margin-top:var(--s1);font-size:var(--type-meta);color:var(--quiet);overflow-wrap:anywhere}
.docs-search-result:hover{color:var(--accent-hover)}
.docs-search-result:hover strong{color:var(--accent)}
.docs-search-empty,.docs-no-script{font-size:var(--type-label);color:var(--muted);padding-block:var(--s4)}
.docs-search-retry{min-height:var(--control-size);background:none;color:var(--accent);font-size:var(--type-label)}
.docs-content{min-width:0;display:grid;grid-template-columns:minmax(0,var(--reading)) var(--docs-outline);gap:var(--s8);justify-content:center;align-items:start}
.docs-overview{grid-template-columns:minmax(0,var(--reading))}
.docs-heading{grid-column:1;grid-row:1;min-width:0;text-align:left}
.docs-heading h1{font-size:var(--type-page);overflow-wrap:anywhere}
.docs-heading>.lead{margin-top:var(--s4)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:var(--s2);font-size:var(--type-meta);line-height:var(--line-ui);color:var(--quiet);margin-bottom:var(--s6);overflow-wrap:anywhere}
.breadcrumbs a:hover{color:var(--accent)}
.breadcrumbs [aria-current]{color:var(--muted)}
.article-contents{grid-column:2;grid-row:1/5;position:sticky;top:calc(var(--header-height) + var(--s6));min-width:0;max-height:calc(100dvh - var(--header-height) - var(--s12));overflow-y:auto;scrollbar-width:thin;border-left:1px solid var(--line);padding-left:var(--s4)}
.article-contents>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);font-size:var(--type-label);font-weight:var(--weight-medium);color:var(--text);cursor:pointer;min-height:var(--control-size);padding-block:var(--s2);list-style:none}
.article-contents>summary::-webkit-details-marker{display:none}
#article-toc{display:flex;flex-direction:column;gap:var(--s1);padding-bottom:var(--s4)}
#article-toc a{display:block;font-size:var(--type-label);line-height:var(--line-ui);padding:var(--s2) 0 var(--s2) var(--s6);color:var(--quiet);overflow-wrap:anywhere}
#article-toc a:hover{color:var(--accent)}
#article-toc .sub{margin-left:var(--s3)}
.docs-content>.prose{grid-column:1;grid-row:2}
.docs-after{grid-column:1;grid-row:3;min-width:0}
.docs-start h2,.docs-sections h2,.docs-child-pages h2{font-size:var(--type-prose-heading);margin-bottom:var(--s4)}
.docs-start{display:grid;gap:var(--s6)}
.docs-start h2{margin-bottom:0}
.docs-start nav{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6)}
.docs-start a{font-size:var(--type-label);color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--accent-line)}
.docs-section-list{list-style:none;margin:0;padding:0}
.docs-section-list>li{padding-block:var(--s6)}
.docs-section-list>li>.ds-divider{margin-top:var(--s6)}
.docs-section-list>li:first-child{padding-top:0}
.docs-section-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s2) var(--s3);align-items:baseline}
.docs-section-title{font-size:var(--type-prose-subheading);font-weight:var(--weight-heading);color:var(--text);overflow-wrap:anywhere}
.docs-section-count{font-size:var(--type-meta);color:var(--quiet);white-space:nowrap}
.docs-section-description{grid-column:1/-1;font-size:var(--type-label);line-height:var(--line-body);color:var(--muted)}
.docs-section-link:hover .docs-section-title{color:var(--accent)}
.docs-section-children{display:flex;flex-wrap:wrap;list-style:none;margin:var(--s3) 0 0;padding:0;gap:var(--s2) var(--s4)}
.docs-section-children a{font-size:var(--type-label);color:var(--quiet)}
.docs-section-children a:hover{color:var(--accent)}
.docs-child-pages{margin-bottom:var(--s8)}
.related{margin-bottom:var(--s8);text-align:left;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}
.related>.ds-divider{flex-basis:100%;margin-bottom:var(--s4)}
.related>.eyebrow{width:100%;color:var(--quiet);font-size:var(--type-meta);margin:0}
.related>a{font-size:var(--type-label);color:var(--accent);min-height:var(--control-size);display:flex;align-items:center}
.docs-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}
.docs-pagination>.ds-divider{grid-column:1/-1}
.docs-pagination a{display:flex;flex-direction:column;gap:var(--s2)}
.docs-pagination a:last-child{text-align:right}
.docs-pagination span{font-size:var(--type-meta);color:var(--quiet)}
.docs-pagination strong{font-size:var(--type-label);font-weight:var(--weight-medium);overflow-wrap:anywhere}
.docs-pagination a:hover strong{color:var(--accent)}
.spoiler-note{margin-top:var(--s4);font-size:var(--type-label);color:var(--accent)}
@media(max-width:89.99rem){
 .docs-content{grid-template-columns:minmax(0,var(--reading));gap:var(--s6)}
 .article-contents{grid-column:1;grid-row:2;position:static;max-height:none;border-left:0;border-block:1px solid var(--line);padding-left:0}
 .article-contents>summary{display:flex;justify-content:space-between;align-items:center;min-height:var(--action-size)}
 #article-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2) var(--s6)}
 .docs-with-toc>.prose{grid-row:3}
 .docs-with-toc>.docs-after{grid-row:4}
}
@media(max-width:63.99rem){
 html:has(.docs-shell){scroll-padding-top:calc(var(--header-height) + var(--action-size) + var(--s6))}
 .docs-shell{display:block;padding-top:0}
 .docs-sidebar{height:auto;position:sticky;top:var(--header-height);z-index:20;border-right:0;border-bottom:1px solid var(--line);padding-right:0;background:var(--bg);margin-bottom:var(--s6)}
 .docs-mobile-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);cursor:pointer;list-style:none;min-height:var(--action-size);font-size:var(--type-label)}
 .docs-mobile-toggle::-webkit-details-marker{display:none}
 .docs-sidebar-body{height:auto;max-height:calc(75dvh - var(--header-height) - var(--action-size));padding-bottom:var(--s4)}
 .docs-home{display:none}
 .docs-nav-scroll{max-height:50dvh}
 .docs-content{padding-bottom:var(--s8)}
}
.prose{width:100%;max-width:var(--reading);text-align:left;color:var(--muted);overflow-wrap:anywhere}
.prose p{margin:0 0 var(--s6);font-size:var(--type-body);line-height:var(--line-prose)}
.prose h2{font-size:var(--type-prose-heading);text-transform:none;letter-spacing:0;margin:var(--s12) 0 var(--s4)}
.prose h3{font-size:var(--type-prose-subheading);letter-spacing:0;margin:var(--s8) 0 var(--s3)}
.prose>h2:first-child,.prose>h3:first-child{margin-top:0}
.prose a{color:var(--accent);border-bottom:1px solid #d0ac7040}
.prose ul,.prose ol{padding-left:var(--s6);margin:0 0 var(--s6)}
.prose li{margin:var(--s2) 0}
.prose strong{color:var(--text);font-weight:var(--weight-heading)}
.prose img{max-height:900px;object-fit:contain;margin:var(--s8) auto}
.prose blockquote{margin:var(--s6) 0;border-left:1px solid var(--accent);padding:var(--s2) var(--s6)}
.prose blockquote p:last-child{margin:0}
.prose pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);padding:var(--s4);font-size:var(--type-label)}
.prose code{font-family:var(--mono);font-size:var(--type-label)}
.prose table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse;margin:var(--s6) 0;font-size:var(--type-label)}
.prose th,.prose td{padding:var(--s3);border:1px solid var(--line);min-width:110px;text-align:left}
.prose details{padding:var(--s4) 0;border-top:1px solid var(--line)}
.prose summary{cursor:pointer;color:var(--accent)}
.source-note{margin-top:var(--s12)}
.source-note>.ds-divider{margin-bottom:var(--s4)}
.prose>.ds-divider{margin-block:var(--s8)}
.source-note p,.source-note a{font-size:var(--type-meta);line-height:1.7;color:var(--quiet)}
/* Artwork is content: contained images, one title, secondary provenance. */
.art-section{padding-bottom:var(--gap-section)}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s4);margin-bottom:var(--s6)}
.gallery-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2) var(--s6)}
.gallery-filters button{background:none;border-bottom:1px solid transparent;padding:var(--s2) 0;color:var(--muted);font-size:var(--type-label);min-height:var(--control-size)}
.gallery-filters button[aria-pressed=true]{color:var(--text);border-color:var(--accent)}
.gallery-toolbar>span{font-size:var(--type-label);color:var(--quiet)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s8)}
.gallery-item{display:flex;flex-direction:column;min-width:0;padding:0;background:none;text-align:center}
.gallery-item>img{width:100%;height:300px;object-fit:contain;background:#0c0c0e}
.gallery-item>span{display:flex;flex-direction:column;align-items:center;padding-top:var(--s4)}
.gallery-item .eyebrow{font-size:var(--type-meta);letter-spacing:.06em;color:var(--quiet);margin-bottom:var(--s2)}
.gallery-item strong{font-weight:var(--weight-heading);font-size:var(--type-body);line-height:1.5;color:var(--text)}
.gallery-item .small{margin-top:var(--s2)}
.gallery-item:hover strong{color:var(--accent)}
.gallery-note{max-width:var(--reading);margin:var(--gap-group) auto 0;text-align:center;font-size:var(--type-meta);color:var(--quiet)}
.footer{padding:var(--s12) var(--gutter) var(--s6);border-top:1px solid var(--line);text-align:center;background:var(--footer-bg)}
.footer-top{display:flex;flex-direction:column;align-items:center;gap:var(--s4);padding-bottom:var(--s8)}
.footer-top p,.footer-top>a:last-child{font-size:var(--type-label)}
.footer-top>a:last-child{color:var(--accent)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2) var(--s6);border-top:1px solid var(--line);padding-top:var(--s4);color:var(--quiet);font-size:var(--type-meta)}
body.dialog-open{overflow:hidden}
dialog{margin:auto;width:min(100% - 2 * var(--gutter),var(--reading));max-height:90svh;padding:var(--s6);background:var(--surface);color:var(--text);border:1px solid var(--line-strong);box-shadow:0 20px 100px #000b}
dialog::backdrop{background:#000d}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);margin-bottom:var(--s6)}
.dialog-head h2{font-size:var(--type-card);text-transform:none}
.dialog-head button,.art-dialog-bottom button{min-height:var(--control-size);padding:var(--s2) 0;background:none;color:var(--muted);font-size:var(--type-label)}
.art-dialog{width:min(100% - 2 * var(--gutter),var(--wide))}
.art-dialog>img{max-width:100%;max-height:70svh;width:auto;height:auto;object-fit:contain;margin:auto}
.art-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-top:var(--s4);font-size:var(--type-meta);color:var(--quiet)}
/* Completed component anatomy: deliberate spacing, states and destinations. */
:root{--gap-related:var(--s2);--type-nested:var(--type-card);--figure-limit:36rem}
.header nav{padding-inline:var(--s12)}

.button-ghost:before,.button-ghost:after{display:none}
.button-ghost{padding-inline:var(--s2);color:var(--accent);text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--accent-line)}
.local-nav a[aria-current],.history-index a[aria-current],#article-toc a[aria-current]{color:var(--accent);border-color:var(--accent)}
.power-panel h3{font-size:var(--type-nested)}
.portrait-card .portrait-copy h3{min-height:1.3em}
.portrait-copy p{margin-bottom:var(--s4)}
.portrait-image{transition:background .15s}
.portrait-image:hover{background:var(--surface)}
.launch-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;margin:var(--s12) 0 var(--s6);padding:0}
.launch-sequence li{display:flex;flex-direction:column;gap:var(--s3);align-items:center;position:relative;min-width:0;padding-inline:var(--s3)}
.launch-sequence li:before{content:"";position:absolute;top:4px;left:0;right:0;height:1px;background:var(--accent-line)}
.launch-sequence li:first-child:before{left:50%}.launch-sequence li:last-child:before{right:50%}
.sequence-mark{position:relative;z-index:1;display:block;border:1px solid var(--accent);border-radius:50%;width:8px;height:8px;margin-bottom:var(--s6);background:var(--bg);font-size:0;color:transparent}
.launch-sequence strong{font-size:var(--type-label);overflow-wrap:anywhere}
.launch-sequence li>span:last-child{font-size:var(--type-meta);color:var(--quiet);line-height:var(--line-ui)}
.figure-note{font-size:var(--type-meta);color:var(--quiet);text-align:center!important}
.source-disclosure{max-width:var(--reading);margin:var(--s3) 0 0;font-size:var(--type-meta);color:var(--quiet)}
.source-disclosure summary{cursor:pointer;padding:var(--s2) 0;min-height:var(--control-size)}
.source-disclosure a{color:var(--accent)}
.article-portrait{margin:0 auto var(--s8);max-width:26rem;text-align:center}
.article-portrait img{max-height:var(--figure-limit);margin:0 auto var(--s3)}
.article-portrait figcaption{font-size:var(--type-label);color:var(--muted)}
.editorial-details{margin-block:var(--s6)}
.search-clear{background:none;color:var(--accent);min-width:var(--control-size);min-height:var(--control-size);font-size:var(--type-label);padding:0}
.figure-enlarge{display:block;margin:var(--s3) auto 0;min-height:var(--control-size);background:none;color:var(--accent);font-size:var(--type-label)}
.history-number{display:none}
.history-chapter .eyebrow{margin-bottom:var(--s3)}
@media(min-width:48rem) and (max-width:80rem){.portrait-card{flex-basis:calc((100% - var(--card-gap))/2)}}
/* Compact navigation is chosen before the original one-line menu would wrap. */
@media(max-width:80rem){
 :root{--header-height:4.5rem}
 .header-inner{justify-content:center;gap:var(--s2);padding-block:var(--s2)}
 
 .header nav{display:none;padding-right:0}
 .menu-toggle{display:inline-flex;--ornament-length:2.5rem}
 .header.menu-open nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:center;gap:var(--s4);padding:var(--s8) var(--gutter) var(--s12);background:var(--bg);border-bottom:1px solid var(--line);max-height:calc(100svh - var(--header-height));overflow-y:auto}
 .header.menu-open nav a{padding:var(--s3) 0;text-align:center;font-size:var(--type-menu);gap:var(--s4)}
 .header.menu-open nav a:before,.header.menu-open nav a:after{width:2.5rem}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .history-index{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:47.99rem){
 :root{--gutter:var(--s4);--gap-section:var(--s20);--section-inset:var(--s12);--page-inset:var(--s12);--gap-group:var(--s8);--card-gap:var(--s4);--header-height:4rem;--type-display:1.75rem;--type-page:1.625rem;--type-section:1.375rem;--type-prose-heading:1.25rem;--type-card:1.125rem;--type-lead:1rem;--hero-logo-width:17.5rem;--hero-top:var(--s16);--hero-logo-gap:var(--s32);--hero-horizon:15rem;--hero-planet-width:62.5rem;--hero-min:38rem;--hero-max:44rem;--power-panel-min:17rem}
 :root{--ornament-length:2.5rem;--ornament-gap:var(--s3)}
 .launch-sequence{grid-template-columns:1fr;gap:0;text-align:left;margin-block:var(--s12)}
 .launch-sequence li{align-items:flex-start;padding:0 0 var(--s12) var(--s8);gap:var(--s2)}
 .launch-sequence li:before,.launch-sequence li:first-child:before{left:3px;right:auto;top:4px;bottom:0;width:1px;height:auto}
 .launch-sequence li:last-child:before{display:none}.launch-sequence li:last-child{padding-bottom:0}
 .sequence-mark{position:absolute;left:0;top:4px;margin:0}
 .history-index{display:flex;overflow-x:auto;justify-content:flex-start;padding-bottom:var(--s4)}
 .history-index a{flex:0 0 9rem}

 .hero-orbit{padding-bottom:var(--s6)}
 .hero-description{max-width:24rem;font-size:var(--type-body)}
 .desktop-break{display:none}
 .hero-actions{margin-top:var(--s6)}
 .hero-bottom{gap:var(--s3)}
 .power-tabs{display:flex;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
 .power-tabs button{flex:0 0 8.5rem;min-height:4.5rem;font-size:var(--type-label)}
 .power-panel{padding-top:var(--gap-group)}
 .portrait-card{flex-basis:84%}
 .portrait-copy{padding-top:var(--s4)}
 .game-entry{padding-bottom:var(--s12)}
 .experience-points{grid-template-columns:1fr;gap:var(--s6)}
 .story-copy h2 br,.page-intro h1 br{display:none}
 .story-figure{margin-top:var(--s6)}
 .story-figure figcaption{padding-inline:var(--s2)}
 .story-opening .story-figure img{max-height:none}
 .district{gap:var(--s4);padding:var(--s4) 0}
 .character-portrait{max-width:23rem}
 .onward{padding-block:var(--s8)}
 .local-nav{gap:0 var(--s4);margin-top:var(--s4)}
 .local-nav a{font-size:var(--type-label)}
 .history-index{margin-bottom:var(--s12)}
 .history-chapter{padding-bottom:var(--s8)}
 .docs-shell{gap:var(--s6);padding-bottom:var(--s12)}
 .docs-section-link{grid-template-columns:1fr}
 .docs-section-count{grid-row:2}
 .docs-section-description{grid-row:3}
 .docs-section-list>li{padding-block:var(--s4)}
 .breadcrumbs{margin-bottom:var(--s4)}
 #article-toc{grid-template-columns:1fr}
 .prose h2{margin-top:var(--s8);margin-bottom:var(--s3)}
 .prose blockquote{padding-inline:var(--s4)}
 .gallery-toolbar{justify-content:center;gap:var(--s3);margin-bottom:var(--s4)}
 .gallery-filters{gap:0 var(--s4)}
 .gallery{grid-template-columns:1fr}
 .gallery-item>img{height:330px}
 .footer-bottom{flex-direction:column;gap:var(--s2)}
 dialog{padding:var(--s4)}
 .dialog-head{gap:var(--s4);margin-bottom:var(--s4)}
}

@media(max-width:24rem){.gallery-item>img{height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
