:root{color-scheme:dark;--bg:#090a0b;--paper:#e9e9e6;--muted:#a5a7a9;--line:#303236;--blue:#5ba8ff;--green:#58d79a;--red:#ff7080;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--paper)}
*{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0}a{color:inherit;text-underline-offset:5px}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid white;outline-offset:5px}img,video{display:block;max-width:100%;height:auto}button{color:inherit}section,details{scroll-margin-top:100px}.skip{position:fixed;left:16px;top:-90px;z-index:20;padding:14px;background:white;color:black}.skip:focus{top:12px}
.site-header{position:sticky;top:0;z-index:10;background:#090a0bf2;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px max(24px,calc((100vw - 1280px)/2));min-height:76px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:14px;font-weight:750;letter-spacing:1px}.brand img{width:30px;height:34px}.site-header nav{display:flex;gap:24px;align-items:center;font-size:13px}.site-header nav a{text-decoration:none;color:var(--muted)}.site-header nav a[aria-current],.site-header nav a:hover{color:white}.site-header .home-link{border:1px solid #595c60;border-radius:4px;padding:11px 16px;color:white}
.wrap{width:min(1280px,calc(100% - 48px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:2.3px;font-size:11px;line-height:1.6;color:var(--muted);font-weight:600}.hero{position:relative;min-height:660px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;border-bottom:1px solid var(--line);padding-top:32px;padding-bottom:60px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(54px,6.5vw,88px);font-weight:500;letter-spacing:-4px;line-height:1.02;margin:26px 0}.hero p.lead{font-size:18px;color:#b8bbbe;line-height:1.75;max-width:440px}.hero-art{position:relative;margin:0 -25px 0 -65px}.hero-art img{width:100%;aspect-ratio:1;object-fit:contain}.hero-art figcaption{position:absolute;bottom:7%;left:20%;font-size:10px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase}.actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:30px;font-size:14px}.primary{display:inline-flex;align-items:center;justify-content:center;background:#e7e8e7;color:#111;padding:16px 22px;border-radius:3px;text-decoration:none;min-height:48px}.text-link{color:#d9dadd}.section{padding:90px 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}.section-heading h2{font-weight:450;letter-spacing:-1.5px;font-size:clamp(34px,4vw,52px);line-height:1.12;margin:12px 0 0;max-width:690px}.section-heading p{max-width:340px;color:var(--muted);line-height:1.7;font-size:14px}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.intro-number{font-size:100px;line-height:1;letter-spacing:-6px}.intro-number small{display:block;font-size:12px;letter-spacing:2px;margin-top:22px;text-transform:uppercase;color:var(--muted)}.intro-copy{max-width:620px;font:22px/1.75 Georgia,'Times New Roman',serif;color:#d1d2d0}.intro-copy p:first-child{margin-top:0}.illustration{margin:40px 0 0}.illustration img{width:100%;border:1px solid #282b2d}.illustration figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin:14px 0}
.faction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:36px}.faction{border-top:2px solid var(--accent);padding-top:22px}.faction h3{font-size:28px;font-weight:500;margin:0 0 12px}.faction .motto{font:italic 19px/1.5 Georgia,serif;color:var(--accent)}.faction p{font-size:14px;line-height:1.85;color:#b7b9bc}.faction a{font-size:13px}.blue{--accent:var(--blue)}.green{--accent:var(--green)}.red{--accent:var(--red)}
.model-stage{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;background:#090a0b}.portal-display{position:relative}.portal-display video{width:100%;aspect-ratio:1;object-fit:contain}.model-info h3{font:400 38px/1.2 Georgia,serif;margin:24px 0}.model-info p{color:var(--muted);line-height:1.8;max-width:380px}.switches{display:flex;gap:9px;flex-wrap:wrap}.switches button,.play-button{background:transparent;border:1px solid #484b50;border-radius:4px;min-height:44px;padding:11px 15px}.switches button[aria-pressed=true]{border-color:white;background:#222529}.switches button::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px}.play-button{margin-top:15px}.play-button:disabled{opacity:.45;cursor:default}.model-note{font-size:12px!important}.item-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:44px}.item{margin:0;background:#0c0d0f;border:1px solid #25272b;min-width:0}.item img{width:100%;aspect-ratio:1;object-fit:contain}.item figcaption{padding:0 18px 20px;font-size:13px;line-height:1.5}.item small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.reader-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;align-items:start}.toc{position:sticky;top:105px}.toc a{display:block;text-decoration:none;padding:12px 0;color:var(--muted);font-size:13px;line-height:1.5;border-bottom:1px solid #26282b}.toc a:hover{color:white}.toc small{display:block;color:#85888b;font-size:11px;margin-top:14px;line-height:1.6}.book{min-width:0}.volume{border-top:1px solid #55585c}.volume:last-child{border-bottom:1px solid #55585c}.volume>summary{display:flex;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:27px 0}.volume>summary::-webkit-details-marker{display:none}.volume>summary::after{content:'+';margin-left:auto;font-size:24px;font-weight:300}.volume[open]>summary::after{content:'−'}.volume>summary .roman{font-size:12px;color:var(--muted);width:28px;flex-shrink:0}.volume h2{font:400 27px/1.25 Georgia,serif;margin:0}.volume summary small{display:block;font:12px/1.5 Arial,sans-serif;color:var(--muted);margin-top:8px}.prose{font:19px/1.85 Georgia,'Times New Roman',serif;max-width:760px;padding:0 0 35px;color:#cdcecb;overflow-wrap:break-word}.prose h3{font:400 28px/1.3 Georgia,serif;color:#f0f0ed;margin:48px 0 22px;scroll-margin-top:100px}.prose h4{font:600 19px/1.4 Arial,sans-serif;margin:36px 0 16px;color:#e0e1df}.prose p{margin:0 0 20px}.prose blockquote{margin:32px 0;border-left:2px solid #6c7074;padding:5px 0 5px 25px;font-style:italic;color:#eee}.table-scroll{overflow-x:auto;margin:30px 0}.prose table{font:14px/1.65 Arial,sans-serif;border-collapse:collapse;width:100%;min-width:440px}.prose td,.prose th{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line)}.volume-end{font:13px Arial,sans-serif}.closing{text-align:center;max-width:780px;margin:auto;padding:90px 24px}.closing blockquote{font:32px/1.5 Georgia,serif;margin:20px 0 32px}.footer{border-top:1px solid var(--line);padding:25px 24px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.footer a{color:inherit}
@media(max-width:1000px){.hero h1{font-size:64px}.hero{min-height:570px}.site-header nav{gap:16px}.reader-layout{grid-template-columns:185px minmax(0,1fr);gap:36px}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.intro{gap:40px}.hero-art{margin-left:-35px}}
@media(max-width:700px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 36px)}.site-header{padding:14px 18px;min-height:65px;gap:12px}.brand{font-size:11px;gap:8px;letter-spacing:.3px}.brand img{width:24px;height:28px}.site-header nav{gap:12px;font-size:12px}.site-header nav .optional{display:none}.site-header .home-link{padding:8px 10px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:35px;padding-bottom:18px;min-height:0}.hero h1{font-size:58px;letter-spacing:-2.8px;margin:20px 0}.hero p.lead{font-size:16px}.hero-art{margin:0 auto;width:100%;max-width:460px}.hero-art figcaption{left:15%;bottom:4%}.section{padding:58px 0}.section-heading{display:block}.section-heading h2{font-size:36px}.section-heading p{max-width:none}.intro{grid-template-columns:1fr;gap:32px}.intro-number{font-size:76px}.intro-copy{font-size:20px}.faction-grid{grid-template-columns:1fr;gap:28px}.faction{padding-top:20px}.faction h3{font-size:26px}.model-stage{grid-template-columns:1fr;gap:0}.model-info{padding:0 4px}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.item figcaption{padding:0 12px 15px}.reader-layout{grid-template-columns:1fr;gap:32px}.toc{position:static;display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.toc .eyebrow,.toc small{grid-column:1/-1}.prose{font-size:18px;line-height:1.8}.volume h2{font-size:23px}.volume>summary{gap:10px;padding:23px 0}.prose h3{font-size:25px}.closing{padding:60px 0}.closing blockquote{font-size:26px}.footer{flex-wrap:wrap;line-height:1.6}}
.volume h2 .roman{display:inline-block;margin-right:15px;vertical-align:middle}.item-open{display:block;padding:0;border:0;width:100%;background:transparent}.item-open:hover{background:#1b1d20}.item-open img{mix-blend-mode:screen}dialog{color:var(--paper);background:var(--bg);border:1px solid #45494e;border-radius:6px;padding:18px;width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#000d}dialog img{max-height:65dvh;width:100%;object-fit:contain}dialog h2{font:400 24px Georgia,serif;text-align:center}#item-close{display:block;margin-left:auto;padding:10px 15px;border:1px solid #52565b;border-radius:4px;background:transparent;min-height:44px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:700px){.site-header nav a[aria-current]{display:none}}
.portal-display .play-button{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#101215e8;margin:0}
.hero-art img,.portal-display video,.item-open img{mix-blend-mode:lighten}
.hero-art figcaption{position:static;margin:16px 0 0;text-align:center;line-height:1.7}.hero-art .viewer-toolbar{justify-content:center}
.item-details{font:400 13px/1.7 system-ui,sans-serif;margin-top:14px}.item-details summary{cursor:pointer;min-height:44px;padding:10px 0}.item-details dt{font-weight:600;margin-top:12px}.item-details dd{margin:4px 0 14px;color:#b9c1c8}
.webgl-viewer{position:relative;width:100%;height:clamp(300px,42vw,580px);isolation:isolate;background:radial-gradient(ellipse at 50% 60%,#20272e 0%,#101316 43%,#090a0b 74%);border-radius:12px;overflow:hidden}
.webgl-viewer canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab;opacity:0}
.webgl-viewer canvas:active{cursor:grabbing}.webgl-viewer canvas:focus-visible{outline:2px solid #fff;outline-offset:-5px}
.webgl-viewer>img{width:100%;height:100%;object-fit:contain}.webgl-viewer.model-ready canvas{opacity:1}.webgl-viewer.model-ready>img,.webgl-viewer.model-ready>.viewer-status{visibility:hidden}
.viewer-status{position:absolute;bottom:15px;left:16px;right:16px;text-align:center;background:#090a0bd9;padding:8px;font-size:13px;color:#c6cdd2}
.viewer-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0 0}.viewer-toolbar button,.component-buttons button{padding:10px 13px;min-height:44px;border:1px solid #4b5056;background:#14171a;color:#e9edf0;border-radius:6px;font:inherit;font-size:13px;cursor:pointer}.viewer-toolbar button:hover,.component-buttons button:hover{background:#292e34}.viewer-toolbar button:focus-visible,.component-buttons button:focus-visible{outline:2px solid white;outline-offset:3px}
.viewer-hint{font-size:12px!important;line-height:1.6!important;color:#a5adb5!important;margin:12px 0!important}.component-buttons{display:flex;flex-wrap:wrap;gap:7px}.component-buttons button[aria-pressed=true]{border-color:#fff;background:#333b43}.component-copy{border-top:1px solid #363c42;margin-top:24px;padding-top:8px;min-height:180px}.component-copy h4{font-size:20px;font-weight:500;margin:18px 0 10px}.component-copy p{font-size:15px;line-height:1.8}.live-stage{align-items:start;gap:36px}.live-stage .model-info{padding:16px 0}.equipment-heading{margin:72px 0 28px}.equipment-heading h3{font:400 clamp(28px,4vw,44px)/1.2 Georgia,serif;margin:14px 0}.equipment-heading>p:last-child{color:#afb5bc}.item-purpose{font:400 13px/1.7 system-ui,sans-serif;color:#b9c1c8;margin:12px 0 0}.item-grid .item{display:flex;flex-direction:column}.item-grid figcaption{padding:16px}.item-open{cursor:zoom-in}.item-open:focus-visible{outline:2px solid #fff;outline-offset:3px}
#item-dialog{width:min(1120px,calc(100% - 24px));padding:24px}#item-dialog .item-dialog-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}#item-dialog .webgl-viewer{height:clamp(290px,42vw,540px)}#item-dialog h2{text-align:left;font-size:32px;margin:10px 0 20px}#item-purpose{color:#c9d0d6;line-height:1.8}.component-list{margin-top:26px}.component-list section{padding:12px 0;border-top:1px solid #373c42}.component-list h3{font-size:16px;font-weight:500;margin:10px 0}.component-list p{font-size:14px;color:#b5bfc7;line-height:1.8}.hero-art .webgl-viewer{height:100%;min-height:430px}.hero-art canvas{mix-blend-mode:normal}
@media(max-width:700px){.live-stage{display:block}.webgl-viewer{height:360px}.live-stage .model-info{padding-top:28px}.component-copy{min-height:0}#item-dialog{padding:16px}#item-dialog .item-dialog-layout{display:block}#item-dialog .webgl-viewer{height:310px}.hero-art .webgl-viewer{min-height:300px}#item-dialog h2{font-size:27px}.component-buttons button{font-size:12px}.viewer-toolbar button{flex:1}}
