@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 500;font-display:swap;src:url('assets/dm_sans_regular.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600 700;font-display:swap;src:url('assets/dm_sans_semibold.ttf') format('truetype')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('assets/instrument_serif.ttf') format('truetype')}
:root{color-scheme:dark;--ink:#f0f3f0;--muted:#a1afb8;--line:#ffffff24;--accent:#ecba82;--night:#070e17}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--night)}body{font-family:'DM Sans',-apple-system,sans-serif;color:var(--ink)}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{color:inherit;border:0;background:none}a{color:inherit}
#viewport{position:absolute;inset:0}canvas{display:block;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#030a148c,transparent 19%,transparent 63%,#040a13d9 96%),linear-gradient(90deg,#050b1470,transparent 24%,transparent 85%,#050b1420)}
header{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:25px 34px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:.13em;font-size:9px;line-height:1.6;color:#cad4d8}.brand b{font-weight:500;letter-spacing:.27em}.brand-mark{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1;border:1px solid #b4c5ca40;border-radius:50%;width:41px;height:41px;display:grid;place-items:center;letter-spacing:-.2em;padding-right:5px;color:var(--accent)}.chapter-title{font-size:11px;color:#abb9c2;letter-spacing:.02em}.chapter-title span{color:var(--accent);margin-right:12px;font-size:10px}.top-controls{display:flex;align-items:center;gap:8px}.top-controls button{border:1px solid #b7cdd526;background:#15222c65;border-radius:999px;padding:10px 14px;font-size:11px;backdrop-filter:blur(12px);transition:.2s}.top-controls button:hover,.top-controls button[aria-pressed=true]{background:#cfe7e21a;border-color:#bbd6d663}.top-controls #fullscreen{font-size:19px;width:37px;height:37px;padding:0}
.chapters{position:absolute;z-index:4;left:35px;top:calc(50% - 174px);display:flex;flex-direction:column;gap:5px;width:163px}.chapters button{display:flex;align-items:center;gap:15px;min-height:36px;padding:8px 0;text-align:left;color:#80919f;position:relative}.chapters button span{font-size:10px;font-variant-numeric:tabular-nums}.chapters button b{font-size:11px;font-weight:400;letter-spacing:.01em;opacity:.7}.chapters button[aria-current=step]{color:#f2c997}.chapters button[aria-current=step] b{opacity:1}.chapters button[aria-current=step]::before{content:'';position:absolute;left:-14px;width:3px;height:17px;background:var(--accent);border-radius:3px}
.narration{position:absolute;z-index:4;left:56px;bottom:127px;max-width:600px;pointer-events:none}.eyebrow{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:500;margin:0 0 12px}.eyebrow i{height:1px;width:27px;background:#af956c60}.narration h1{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(37px,4.3vw,67px);letter-spacing:-.022em;line-height:.99;margin:0 0 13px;text-wrap:balance;text-shadow:0 2px 18px #03091460}.narration>p:last-child{font-size:13px;line-height:1.65;color:#adbac4;max-width:540px;margin:0;text-wrap:pretty}.legend{position:absolute;z-index:4;right:37px;bottom:127px;display:flex;gap:17px;font-size:10px;color:#a5b1bb}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:5px;height:5px;border-radius:50%;background:var(--c);box-shadow:0 0 9px color-mix(in srgb,var(--c),transparent 70%)}
.narration::before{content:'';position:absolute;z-index:-1;inset:-28px -22px -24px -55px;background:radial-gradient(ellipse at 20% 70%,#040a13b0,#040a1380 42%,transparent 75%);filter:blur(16px)}
.transport{position:absolute;z-index:5;bottom:29px;left:36px;right:36px;display:flex;gap:16px;align-items:center;height:57px;border-top:1px solid #d1e3e221;padding-top:14px}.play{display:flex;align-items:center;justify-content:center;gap:10px;min-width:148px;height:40px;border-radius:4px;background:#e5bf8d;color:#1b211f;font-size:11px;font-weight:600}.play:hover{background:#f3cfa1}.restart{font-size:25px;font-weight:300;color:#b2c2c9;width:30px}.scrubber{position:relative;flex:1;min-width:80px}.scrubber input{display:block;position:relative;z-index:2;width:100%;height:20px;margin:0;accent-color:#dcb680;cursor:ew-resize;opacity:.85}.ticks{position:absolute;left:7px;right:7px;top:16px;pointer-events:none}.ticks i{position:absolute;width:1px;height:4px;background:#aababc50}.clock{font-size:10px;color:#aab6c0;white-space:nowrap;font-variant-numeric:tabular-nums}.clock em{font-style:normal;padding:0 6px;opacity:.35}.transport select,.transport #labels{font-size:11px;color:#aab7c0;background:transparent;border:0;padding:10px 4px}.transport select option{background:#18232e}.transport #labels[aria-pressed=false]{opacity:.5}.orbit-hint{position:absolute;z-index:4;top:84px;right:36px;color:#839aa9;font-size:10px;margin:0;opacity:0;transition:opacity .3s;pointer-events:none}body.exploring .orbit-hint{opacity:1}body.exploring .narration{opacity:.25}body.exploring .chapters{opacity:.3}.scene-meta{position:absolute;right:37px;top:116px;z-index:4;display:flex;align-items:center;gap:7px;color:#8e9fac;font-size:9px;letter-spacing:.02em}.scene-meta button{color:#a8b7bf;border-bottom:1px solid #98a9b130;margin-left:10px;font-size:9px;padding:0 0 3px}.live-dot{width:4px;height:4px;background:#91baad;border-radius:50%}
#annotations{position:absolute;inset:0;z-index:3;pointer-events:none}#leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.annotation{position:absolute;max-width:205px;color:#e1ebef;font-size:12px;line-height:1.4;padding:8px 11px;border:1px solid #a8c5d325;border-radius:4px;background:#0a1522df;backdrop-filter:blur(12px);white-space:nowrap}.annotation small{display:block;color:#9cb5c1;font-size:9px;margin-top:3px;letter-spacing:.02em}.annotation .dot{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:7px}
.loader{position:absolute;z-index:50;inset:0;background:#070e17;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .7s}.loader.hidden{opacity:0;pointer-events:none}.loader p{font-family:'Instrument Serif',Georgia,serif;font-size:27px;margin:22px 0 8px;color:#d6e1e2}.loader span{font-size:11px;color:#7e969f}.loader-orbit{position:relative;width:75px;height:75px}.loader-orbit i{position:absolute;inset:0;border:1px solid #668c884a;border-top-color:#a4c5bc;border-radius:50%;animation:orbit 2.5s linear infinite;transform:rotateX(55deg)}.loader-orbit i:nth-child(2){inset:12px;border-top-color:#e6bc84;animation-direction:reverse;animation-duration:1.8s}@keyframes orbit{to{transform:rotate(360deg)}}
dialog{color:#dbe3e6;background:#101a25f5;max-width:600px;width:calc(100% - 40px);padding:38px;border:1px solid #91a8b02e;border-radius:11px;box-shadow:0 30px 120px #0008;backdrop-filter:blur(25px)}dialog::backdrop{background:#02060ba8;backdrop-filter:blur(8px)}dialog h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:43px;line-height:1.03;margin:10px 0 22px}dialog p{font-size:13px;line-height:1.65;color:#a6b7c3}dialog a{color:#d9b882;text-underline-offset:3px}.close{position:absolute;right:15px;top:10px;font-size:28px;color:#8096a4}.citations{padding-top:12px;border-top:1px solid var(--line)}.model-stats{font-size:10px;color:#6e8a97}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1100px){header{padding:20px 24px}.chapter-title{display:none}.chapters{left:24px;width:120px}.chapters button{gap:10px}.chapters button b{font-size:10px}.narration{left:32px;bottom:118px;max-width:490px}.narration h1{font-size:48px}.narration>p:last-child{max-width:460px;font-size:12px}.legend{right:25px;bottom:113px;gap:10px}.transport{left:24px;right:24px;gap:10px}.scene-meta{right:24px}.scene-meta #scene-type{display:none}}
@media(max-width:780px){.brand{font-size:7px}.brand-mark{width:32px;height:32px;font-size:20px}.top-controls button{font-size:10px;padding:9px 11px}.top-controls #fullscreen{display:none}.chapters{top:105px;left:22px;right:22px;display:flex;flex-direction:row;width:auto;gap:14px}.chapters button{min-height:28px}.chapters button b{display:none}.chapters button[aria-current=step]::before{left:0;bottom:0;height:1px;width:15px}.scene-meta{top:102px}.narration{left:25px;right:25px;bottom:142px;max-width:520px}.narration h1{font-size:43px}.narration>p:last-child{font-size:11px;max-width:450px}.legend{left:27px;right:auto;bottom:107px}.transport{bottom:24px}.play{min-width:42px;width:42px}.play #play-text{display:none}.restart{width:20px}.transport #labels{display:none}.clock{font-size:9px}.scene-meta button{font-size:8px}.annotation{font-size:11px}.annotation small{font-size:8px}.orbit-hint{top:150px;font-size:9px;right:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.loader-orbit i{animation:none}}
