@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;400;500;600&family=Barlow:wght@300;400;500;600&display=swap";:root{color:#e5e5e1;font-synthesis:none;color-scheme:dark;--muted:#8b9096;--line:#ffffff26;--accent:#89aeca;background:#070809;font-family:Barlow,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}html{scroll-behavior:smooth}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{background:0 0;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:7px;outline:1px solid #badbfa}button:hover,a:hover{color:#fff}.skip-link{z-index:100;position:fixed;top:-100px}.skip-link:focus{background:#111;padding:16px;top:10px;left:20px}#stage{z-index:0;background:#070809;position:fixed;inset:0}#scene{position:absolute;inset:0}canvas{touch-action:pan-y;pointer-events:none;width:100%;height:100%;display:block}.inspecting canvas{pointer-events:auto;touch-action:none}.vignette{pointer-events:none;background:linear-gradient(#07080999,#0000 12% 82%,#070809 100%);position:absolute;inset:0}header{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;height:100px;padding:0 4vw;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:-4px;pointer-events:auto;align-items:center;gap:19px;font-size:32px;font-weight:300;display:flex}.brand span{letter-spacing:2px;max-width:150px;font-size:8px;line-height:1.6}.chrome{opacity:0;transition:opacity 1.4s}.ready .chrome{opacity:1}header button{letter-spacing:1.6px;pointer-events:auto;font-size:9px}header button span{color:var(--accent);margin-left:24px}#journey{z-index:2;pointer-events:none;position:relative}.chapter{height:145svh;position:relative}.opening{height:130svh}.opening-type{opacity:0;transition:opacity 1.6s,transform 1.6s;position:absolute;top:29svh;left:7vw;transform:translateY(20px)}.ready .opening-type{opacity:1;transform:none}.kicker{letter-spacing:2.4px;color:var(--muted);font-size:9px;font-weight:500;line-height:1.7}h1 span{letter-spacing:4px;margin-top:36px;font:500 11px Barlow,Arial,sans-serif;display:block}.opening-note{text-align:right;opacity:0;transition:opacity 1.6s;position:absolute;top:71svh;right:5vw}.ready .opening-note{opacity:1}.opening-note span{letter-spacing:2px;color:var(--muted);font-size:8px}.opening-note p{margin-top:12px;font-size:15px;font-weight:300;line-height:1.5}.scroll-invitation{pointer-events:auto;letter-spacing:2px;opacity:0;font-size:8px;transition:opacity 1.5s;position:absolute;top:85svh;left:7vw}.ready .scroll-invitation{opacity:1}.scroll-invitation span{margin-left:44px}.chapter-copy{width:290px;opacity:var(--copy-opacity,1);transform:translateY(var(--copy-y,0px));position:absolute;top:42svh}.chapter-copy.left{left:7vw}.chapter-copy.right{right:7vw}.chapter-copy h2,.final h2{letter-spacing:-1.5px;margin:25px 0;font:300 clamp(42px,4.5vw,76px)/1.02 Barlow Condensed,Arial,sans-serif}.chapter-copy>p:not(.kicker){color:#9ba1a7;max-width:265px;font-size:14px;font-weight:300;line-height:1.8}.technical-line{border-top:1px solid var(--line);letter-spacing:1px;color:#b4bdc6;gap:24px;margin-top:26px;padding-top:18px;font-size:8px;display:flex}.text-button{pointer-events:auto;letter-spacing:1.6px;text-align:left;border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;gap:40px;min-height:48px;padding:18px 0;font-size:9px;transition:color .3s,border-color .3s;display:flex}.text-button:hover{color:#bad6f0;border-color:#e5e5e1}.chapter-copy .text-button{margin-top:24px}.ratio{letter-spacing:1px;align-items:center;gap:12px;margin-top:25px;font-size:14px;display:flex}.ratio i{color:#66707b;font-style:normal}.ratio strong{color:#a6c1da;font-weight:400}.final{height:120svh}.final-type{position:absolute;top:40svh;left:7vw}.final h2{font-size:clamp(48px,5.5vw,90px)}.final .text-button{margin-top:32px}.bottom-bar{z-index:15;letter-spacing:1.6px;color:#9299a1;justify-content:space-between;align-items:center;font-size:8px;display:flex;position:fixed;bottom:29px;left:4vw;right:4vw}.bottom-bar>div{align-items:center;gap:14px;display:flex}.bar-rule{background:#4a5056;width:45px;height:1px}.bottom-bar button{letter-spacing:1.5px;font-size:8px}.engine-icon{margin-right:10px;font-size:12px}.bottom-bar time{font-variant-numeric:tabular-nums;text-align:right;min-width:75px;font-size:10px}.chapter-nav{z-index:15;gap:12px;display:grid;position:fixed;top:42%;right:25px}.chapter-nav a{color:#646b71;justify-content:end;align-items:center;gap:10px;height:17px;font-size:8px;display:flex}.chapter-nav span{opacity:0;transition:opacity .3s}.chapter-nav i{background:#555b61;width:10px;height:1px;transition:width .3s}.chapter-nav a.active i{background:#dce9f4;width:24px}.chapter-nav a.active span,.chapter-nav a:hover span{opacity:1}#skip-intro{z-index:40;letter-spacing:2px;font-size:9px;position:fixed;bottom:35px;right:4vw}.ready #skip-intro{display:none}#load{z-index:50;letter-spacing:2px;background:#070809;flex-direction:column;justify-content:center;align-items:center;gap:27px;font-size:8px;transition:opacity .6s;display:flex;position:fixed;inset:0}#load svg{fill:none;stroke:#8b9bac;stroke-width:.7px;stroke-dasharray:800;stroke-dashoffset:800px;width:200px;animation:2s forwards draw}#load span{color:#8b949c}.load-track{background:#252b30;width:190px;height:1px}.load-track i{transform-origin:0;background:#bed0e0;width:100%;height:1px;animation:2s forwards loading;display:block}#load.loaded{opacity:0;pointer-events:none}@keyframes draw{to{stroke-dashoffset:0}}@keyframes loading{0%{transform:scaleX(0)}to{transform:scaleX(1)}}#layers{border-left:1px solid var(--line);z-index:30;visibility:hidden;background:#101214;width:340px;padding:30px;transition:transform .6s cubic-bezier(.2,.8,.2,1),visibility .6s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}#layers.open{visibility:visible;transform:none}.inspector-top{justify-content:space-between;align-items:center;display:flex}.inspector-top button{width:40px;height:40px;font-size:30px;font-weight:300}#layers h2{margin:20px 0 12px;font:300 38px Barlow Condensed,sans-serif}.inspector-help{color:#929ba3;font-size:11px;line-height:1.8}.view-controls{border-block:1px solid var(--line);margin:25px 0 23px;display:flex}.view-controls button{letter-spacing:1.5px;color:#818a93;flex:1;padding:14px 5px;font-size:8px}.view-controls button[aria-pressed=true]{color:#fff;border-bottom:1px solid #fff}.explode-label{letter-spacing:1px;color:#a3acb5;justify-content:space-between;font-size:8px;display:flex}input[type=range]{accent-color:#c1d0dd;width:100%;height:3px;margin:22px 0 25px}.layer-row{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;min-height:38px;display:flex}.layer-name{text-align:left;color:#a0a8af;padding:10px 0;font-size:11px}.layer-name span{color:#5f6973;margin-right:18px;font-size:8px}.visibility{color:#b6c8d7;width:36px;height:36px;font-size:14px}.visibility[aria-pressed=false]{opacity:.25}#part-detail{padding-top:25px}#part-detail h3{margin:8px 0;font:300 26px Barlow Condensed,sans-serif}#part-detail p{color:#96a0a9;font-size:12px;line-height:1.7}#restore{width:100%;margin-top:10px}.inspecting #journey,.inspecting .chapter-nav,.inspecting .opening-note{opacity:0;pointer-events:none}.inspecting #journey button,.inspecting #journey a{pointer-events:none}.inspecting header{pointer-events:none;opacity:.3}.inspecting header button{pointer-events:none}.inspecting .bottom-bar{right:370px}#annotation{z-index:12;pointer-events:none;letter-spacing:1.5px;color:#9aabba;width:180px;font-size:8px;position:fixed;top:30vh;left:7vw}#annotation strong{letter-spacing:.4px;color:#e1e7ec;margin-top:11px;font-size:12px;font-weight:400;display:block}#annotation i{background:#7f929e;width:110px;height:1px;margin-top:16px;display:block;position:relative}#annotation i:after{content:"";transform-origin:0;background:#7f929e;width:40px;height:1px;position:absolute;top:0;right:-40px;transform:rotate(35deg)}footer{z-index:3;background:#070809;border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:50px;padding:55px 7vw 100px;display:flex;position:relative}.footer-mark{letter-spacing:2px;white-space:nowrap;font-size:16px}footer p{color:#727b83;max-width:470px;font-size:10px;line-height:1.8}footer button{letter-spacing:1px;white-space:nowrap;font-size:8px}dialog{color:#e1e5e8;background:#121517;border:1px solid #394047;max-width:560px;padding:40px}dialog::backdrop{background:#000c}dialog h2{font:300 38px Barlow Condensed,sans-serif}dialog p{color:#a0a9b1;font-size:13px;line-height:1.8}#notes-close{font-size:28px;position:absolute;top:8px;right:15px}.fallback{z-index:80;background:#101214;padding:20vh 10vw;font-size:24px;position:fixed;inset:0}.inspecting{overflow:hidden}@media (width<=900px){header{height:76px;padding:0 23px}.brand{font-size:28px}.brand span{letter-spacing:1.4px;width:95px;font-size:6px}header button{letter-spacing:1px;font-size:7px}header button span{margin-left:8px}.opening-type{top:17svh;left:7vw}h1{margin:16px 0;font-size:34vw}h1 span{letter-spacing:2px;margin-top:22px;font-size:8px}.kicker{letter-spacing:1.8px;font-size:7px}.opening-note{top:77svh;right:7vw}.opening-note p{font-size:12px}.opening-note span{font-size:6px}.scroll-invitation{letter-spacing:1px;font-size:7px;top:84svh}.scroll-invitation span{margin-left:14px}.chapter-copy,.chapter-copy.left,.chapter-copy.right{width:79vw;top:78svh;left:7vw;right:auto}.chapter-copy h2{margin:12px 0;font-size:44px}.chapter-copy>p:not(.kicker){max-width:300px;font-size:12px;line-height:1.65}.technical-line{margin-top:17px;padding-top:12px;font-size:7px}.chapter-copy .text-button{margin-top:10px}.text-button{min-height:44px;padding:13px 0;font-size:8px}.chapter{height:160svh}.opening,.final{height:130svh}.final-type{top:80svh}.final h2{margin:13px 0;font-size:45px}.final .text-button{margin-top:14px}.chapter-nav{gap:8px;top:40%;right:10px}.chapter-nav a{height:18px}.chapter-nav span{display:none}.chapter-nav i{width:5px}.chapter-nav a.active i{width:12px}.bottom-bar{letter-spacing:1px;font-size:6px;bottom:22px;left:23px;right:23px}.bottom-bar>div{gap:8px}.bar-rule{width:18px}.bottom-bar button{letter-spacing:.5px;font-size:6px}.bottom-bar time{min-width:50px;font-size:8px}.engine-icon{margin-right:4px}.inspecting .bottom-bar{display:none}#layers{border-left:0;border-top:1px solid var(--line);width:100%;padding:18px 23px;top:53svh;bottom:0;transform:translateY(100%)}#layers.open{transform:none}#layers h2{margin:7px 0;font-size:28px}.inspector-help{font-size:10px}.view-controls{margin:12px 0}.layer-row{min-height:42px}.layer-name{font-size:12px}#annotation{width:125px;font-size:6px;top:16svh;left:7vw}#annotation strong{font-size:10px}#annotation i{width:65px}footer{flex-direction:column;align-items:start;gap:15px;padding:35px 7vw 90px}footer p{font-size:9px}.ratio{font-size:12px}dialog{width:90%;padding:27px}dialog h2{font-size:30px}.inspecting .brand,.inspecting header{opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.chrome,.opening-type,.opening-note,.scroll-invitation{opacity:1}.opening-type{transform:none}}#train-labels{z-index:10;pointer-events:none;opacity:0;transition:opacity .5s;position:fixed;inset:0}#train-labels>div{letter-spacing:1px;color:#d1dbe4;white-space:nowrap;border-left:1px solid #7b8a95;padding:12px 0 0 18px;font-size:8px;position:absolute;transform:translate(-15px,35px)}#train-labels>div:before{content:"";border:1px solid #b6c8d7;border-radius:50%;width:4px;height:4px;position:absolute;top:-5px;left:-3px}#train-labels span{color:#8898a5;margin-top:7px;font-size:6px;display:block}#demonstrate{color:#b4cce0}.ready.inspecting header{opacity:.25}.inspecting #journey,#load.loaded{visibility:hidden}@media (width<=900px){.ready.inspecting header{opacity:0}.chapter-copy,.chapter-copy.left,.chapter-copy.right{top:65svh}#mechanism .chapter-copy{top:60svh}.chapter-copy h2{font-size:40px}.final-type{top:73svh}.chapter-copy .text-button{margin-top:6px}}#train-labels>div{padding-top:35px;transform:translate(-3px,5px)}h1{letter-spacing:-.055em;font-size:clamp(100px,13vw,210px)}@media (width<=900px){h1{font-size:25vw}}:root{--accent:#b7a27e;--muted:#9b9a94;background:#090a0b}#stage{background:#090a0b}header{height:90px}.brand span{letter-spacing:2.3px;font-size:8px}.opening-type{max-width:43vw;top:34svh;left:7vw}h1{letter-spacing:-.045em;margin:22px 0 27px;font-family:Barlow Condensed,Arial,sans-serif;font-size:clamp(74px,8.4vw,150px);font-weight:300;line-height:.88}h1 em{color:#b4a58a;font-style:normal}.hero-sub{letter-spacing:2.6px;color:#a6a39c;font-size:8px}.opening-note{top:77svh;right:6vw}.opening-note p{letter-spacing:1.6px;color:#b4b2aa;font-size:9px;line-height:1.9}.opening-note span{color:#777b80;font-size:7px}.scroll-invitation{top:87svh}.chapter-copy h2{font-weight:300}.chapter-copy{width:255px}.chapter-copy>p:not(.kicker){font-size:13px}.chapter-nav{right:22px}#load svg{stroke:#c0ae8c;width:170px}.layer-name.active{color:#d8c3a0}.inspector-top .kicker{color:#baa585}.view-controls button[aria-pressed=true]{color:#e0c69d;border-color:#baa585}#train-labels{display:none}footer a{text-underline-offset:3px;text-decoration:underline}#demonstrate[hidden]{display:none}@media (width<=900px){.opening-type{max-width:90vw;top:14svh;left:7vw}h1{margin:16px 0 20px;font-size:clamp(62px,15vw,98px);line-height:.85}.hero-sub{letter-spacing:1.5px;font-size:6px}.opening-note{top:81svh;right:7vw}.opening-note p{font-size:7px}.scroll-invitation{top:87svh}.opening-note span{font-size:6px}.chapter-copy>p:not(.kicker){font-size:12px}.final-type{top:77svh}header{height:72px}.bottom-bar{font-size:6px}.chapter-copy,.chapter-copy.left,.chapter-copy.right,#mechanism .chapter-copy{top:63svh}.chapter-copy h2{font-size:38px}.chapter-copy>p:not(.kicker){max-width:290px}.bottom-bar{background:#090a0be8;padding:12px 23px;bottom:0;left:0;right:0}.opening-note{top:80svh}#layers h2{font-size:25px}.inspector-help{margin:7px 0}.view-controls button{min-height:44px}}
