@font-face{font-family:Orbital;src:url('./assets/display.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('./assets/body.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:dark;--stage-height:max(245px,42svh);--bg:#080e16;--text:#e9edf0;--muted:#9daab6;--line:#28323e;--accent:#8ed9fa;font-family:Inter,sans-serif;font-synthesis:none;scroll-behavior:smooth;scrollbar-color:#526578 var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}::selection{color:var(--bg);background:#b5dff2}a{color:inherit;text-decoration:none;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #e6bf83;outline-offset:6px}button:hover,a:hover{color:#fff}svg{width:20px;height:20px;flex-shrink:0}header{position:fixed;inset:0 0 auto;z-index:20;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 3.4vw;background:var(--bg);border-bottom:1px solid #1c2732}.brand{display:flex;gap:12px;align-items:center;font-family:Orbital,sans-serif;letter-spacing:.12em;font-size:15px}.brand svg{width:37px;height:37px;color:#a5d8f1}.header-note{font-size:10px;letter-spacing:.16em;color:var(--muted)}.about-link{font-size:12px;color:#b8c5ce}.reading-progress{height:2px;position:fixed;top:85px;left:0;right:0;z-index:21}.reading-progress div{height:100%;background:#b7d9eb;transform-origin:0 50%;transform:scaleX(0)}.stage{position:fixed;left:0;top:86px;bottom:0;width:61%;z-index:2;overflow:hidden}#canvas-host{position:absolute;inset:0 0 105px;touch-action:pan-y;cursor:grab}#canvas-host:active{cursor:grabbing}#canvas-host canvas{display:block;width:100%;height:100%}.stage-top{position:absolute;top:32px;left:5.6%;right:5.6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:var(--muted);pointer-events:none}.globe-label{position:absolute;left:50%;bottom:145px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:12px;pointer-events:none}#active-altitude{color:var(--muted);font-size:11px}.active-marker{height:5px;width:5px;background:var(--accent);border-radius:50%}.stage-bottom{position:absolute;bottom:24px;left:5.6%;right:5.6%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.controls{display:flex;gap:4px}.controls button{border:1px solid #344352;background:#0b131e;border-radius:5px;min-height:38px;padding:8px 11px;font-size:11px;display:flex;align-items:center;gap:7px;transition:background .2s}.controls button:hover{background:#233343}.controls button[aria-pressed=true]#scale{border-color:#b5dff2;color:#b5dff2}.controls svg{width:14px;height:14px}#scale-note{font-size:10px;color:var(--muted);margin:0;max-width:210px}.drag-hint{width:100%;font-size:10px;letter-spacing:.03em;color:var(--muted);margin-top:8px}main{margin-left:61%;margin-right:6.6%;position:relative;z-index:3}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Orbital,sans-serif;font-weight:400;text-wrap:balance}h1{font-size:clamp(42px,4.3vw,72px);line-height:1.07;letter-spacing:-.035em;margin-bottom:30px}h2{font-size:clamp(34px,3.35vw,58px);line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere;margin-bottom:12px}h3{font-size:20px;line-height:1.35;margin-bottom:10px}p{font-size:14px;line-height:1.8;color:#b2bec8}.chapter{min-height:110svh;display:flex;align-items:center;padding:125px 0 100px;scroll-margin-top:70px}.chapter.intro{min-height:100svh;padding-top:135px}.chapter-content{width:100%;max-width:490px}.intro-copy{font-size:16px;max-width:34ch;line-height:1.85;margin-bottom:36px}.begin{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;font-size:13px;border-bottom:1px solid #71889b;padding-bottom:13px}.begin:hover{border-color:#fff}.begin svg{width:17px;height:17px}.journey-key{display:flex;flex-direction:column;gap:9px;margin-top:60px;font-size:11px;color:var(--muted);letter-spacing:.02em}.journey-key span::before{content:'';display:inline-block;width:16px;height:1px;background:#566a7c;margin-right:10px;vertical-align:middle}.chapter-deck{font-size:17px;line-height:1.5;color:var(--accent);margin-bottom:34px}.height-range{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:27px;gap:16px}.height-range span,.composition>span{display:block;color:var(--muted);font-size:10px;letter-spacing:.07em;margin-bottom:10px}.height-range strong{font:400 clamp(20px,2vw,32px)/1.2 Orbital,sans-serif;font-variant-numeric:tabular-nums}.height-range small{font:400 12px Inter,sans-serif;color:var(--muted);margin-left:7px}.body-copy{margin-bottom:26px}.composition{margin:28px 0}.composition .formula{font-family:Orbital,sans-serif;font-size:23px;color:var(--text);line-height:1.2;margin-bottom:8px}.composition p:last-child{font-size:13px;margin-bottom:0}.notable{padding-top:25px;border-top:1px solid var(--line);margin-top:28px}.notable h3{font-size:18px}.notable p{font-size:13px}.boundary-note{font-size:11px;color:var(--muted);margin-top:23px;line-height:1.7}.source-link{font-size:10px;color:#b1c7d7;border-bottom:1px solid #344858;padding-bottom:3px}.source-link span{padding-left:8px}.layer-nav{position:fixed;right:1.5vw;top:50%;transform:translateY(-50%);z-index:15;display:flex;flex-direction:column;gap:15px}.layer-nav a{display:flex;gap:9px;align-items:center;position:relative;min-width:35px;min-height:25px;color:#7f91a1}.layer-nav span{font:10px Orbital,sans-serif;font-variant-numeric:tabular-nums}.layer-nav i{width:5px;height:5px;border-radius:50%;background:#405365;transition:background .25s,transform .25s}.layer-nav a[aria-current=true]{color:#eff8ff}.layer-nav a[aria-current=true] i{background:var(--layer);transform:scale(1.6)}.layer-nav b{display:none;position:absolute;right:40px;background:#142332;padding:8px 10px;font-size:11px;font-weight:400;white-space:nowrap}.layer-nav a:hover b,.layer-nav a:focus-visible b{display:block}.guide{min-height:115svh}.guide h2{margin-bottom:30px}.guide h3{margin-top:30px}.guide p{font-size:13px}.references{display:flex;flex-direction:column;gap:13px;font-size:12px;color:#b8d6e6}.references a:hover{text-decoration:underline}.credits{font-size:10px!important;color:var(--muted);margin-top:30px}.guide .begin{margin-top:20px}.skip-link{position:fixed;left:20px;top:-100px;padding:15px;background:#d0e8f6;color:#080e16;z-index:30}.skip-link:focus{top:10px}.fallback{position:absolute;left:15%;right:15%;top:38%;text-align:center;line-height:1.6}.fallback span{color:var(--muted);display:block;font-size:13px}.fallback button{display:block;margin:20px auto;padding:10px 20px;background:#233343;border:1px solid #5f7a90;border-radius:4px}#loading{position:absolute;top:48%;width:100%;text-align:center;font-size:12px;color:#a4bacb}.noscript{position:fixed;left:20px;bottom:40px;max-width:35ch;z-index:10;background:#152330;padding:20px}
@supports ((animation-timeline:scroll()) and (animation-range:0% 100%)){.reading-progress div{animation:progress linear both;animation-timeline:scroll(root);animation-range:0% 100%}@keyframes progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}}
@media(min-width:1700px){main{margin-right:9%}.chapter-content{max-width:520px}p{font-size:16px}.intro-copy{font-size:18px}}
@media(max-width:1050px) and (min-width:761px){.stage{width:55%}main{margin-left:56%;margin-right:7%}.header-note{display:none}h2{font-size:36px}h1{font-size:47px}.stage-bottom{display:block}#scale-note{max-width:none;margin-top:10px}.drag-hint{display:block}.globe-label{bottom:165px;flex-wrap:wrap;justify-content:center;width:100%}}
@media(max-width:760px){header{height:64px;padding:0 20px}.brand{font-size:12px;gap:9px}.brand svg{width:29px;height:29px}.header-note{display:none}.about-link{font-size:10px}.reading-progress{top:63px}.stage{top:64px;bottom:auto;height:var(--stage-height);width:100%;background:var(--bg);z-index:5;border-bottom:1px solid #1c2732}.stage-top{top:13px;left:20px;right:20px;font-size:8px}.stage-bottom{left:20px;right:20px;bottom:10px;gap:3px}.controls button{min-height:32px;font-size:10px;padding:6px 9px}.controls #rotation span{display:none}.drag-hint{display:none}#scale-note{font-size:8px;max-width:160px}.globe-label{bottom:53px;font-size:10px;gap:7px}#active-altitude{font-size:9px}main{margin:0 32px 0 22px;padding-top:calc(var(--stage-height) + 64px)}.chapter{min-height:95svh;padding:62px 0 80px;scroll-margin-top:calc(var(--stage-height) + 72px)}.chapter.intro{padding-top:45px;min-height:60svh}.chapter-content{max-width:580px}h1{font-size:46px}h2{font-size:37px}.intro-copy{font-size:14px;max-width:38ch;margin-bottom:25px}.journey-key{margin-top:34px;flex-direction:row;flex-wrap:wrap;gap:14px;font-size:10px}.chapter-deck{font-size:16px}.height-range strong{font-size:27px}.layer-nav{right:5px;gap:4px;top:calc(var(--stage-height) + 82px);transform:none}.layer-nav a{min-width:18px;min-height:28px}.layer-nav span{display:none}.layer-nav i{width:4px;height:4px}.layer-nav b{right:20px}.guide{min-height:100svh}#loading{font-size:10px}.fallback{top:24%;left:18%;right:18%}.fallback p{font-size:12px;margin-bottom:5px}.fallback span{font-size:10px}.fallback button{margin:6px auto;padding:4px 10px;font-size:10px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:760px){#canvas-host{inset:22px 0 65px}}
button:disabled{opacity:.45;cursor:not-allowed}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#canvas-host canvas:focus-visible{outline:2px solid #e6bf83;outline-offset:-5px}
@media(max-width:760px) and (max-height:550px){
 .stage{position:relative;top:auto;margin-top:64px;height:70svh;min-height:220px;max-height:320px}
 .layer-nav{position:sticky;top:64px;right:auto;transform:none;flex-direction:row;justify-content:center;gap:22px;padding:10px 0;background:var(--bg);border-bottom:1px solid var(--line)}
 .layer-nav a{min-width:24px;min-height:28px}.layer-nav span{display:inline}.layer-nav b{top:30px;right:0}
 main{padding-top:0}.chapter{scroll-margin-top:125px;min-height:100svh}.chapter.intro{min-height:auto}
}
