:root{--ink:#e8e7d6;--muted:#a4b6b4;--amber:#f4b36a;--dark:#10282b}*{box-sizing:border-box}body{margin:0;background:#8aa5ab;color:var(--ink);font:14px system-ui,sans-serif;overflow:hidden}#scene{position:fixed;inset:0}canvas{display:block;width:100%;height:100%}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(#08202955,transparent 20%,transparent 65%,#05181988)}button,a,input{touch-action:manipulation}button,a{font:inherit}button{cursor:pointer;color:var(--ink);background:#173338db;border:1px solid #73938b55;border-radius:6px;padding:10px 13px}button:hover{background:#31544f}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--amber)}a{color:inherit;text-decoration:none}header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px 26px;background:linear-gradient(#0c2028cc,transparent)}.brand{display:flex;align-items:center;gap:12px;letter-spacing:3px;font-size:22px;font-weight:800}.brand>b{font-size:16px;background:#a44732;padding:11px 8px;border-radius:5px;letter-spacing:1px}.brand em{display:block;font-size:9px;font-style:normal;color:#d0dbd5;letter-spacing:2px;margin-top:4px}nav{display:flex;gap:7px;align-items:center}nav a{font-size:11px;background:#173338db;padding:11px;border-radius:6px}nav button{font-size:12px}.mission{position:absolute;left:26px;top:105px;width:340px;background:#122d31dd;padding:18px 20px;border:1px solid #72958b55;border-radius:8px;backdrop-filter:blur(12px)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--amber);font-weight:700}h1{font-size:20px;font-weight:600;margin:10px 0}h1 span{color:var(--amber);padding:0 4px}.mission p{font-size:12px;color:#c3d0c7;margin:8px 0 19px;min-height:32px;line-height:1.5}.journey{height:3px;background:#627971;display:flex;justify-content:space-between;position:relative}.journey i{position:absolute;left:0;top:0;height:100%;background:var(--amber);width:0}.journey span{height:7px;width:7px;border-radius:50%;background:#becfc1;position:relative;top:-2px}.places{display:flex;justify-content:space-between;margin-top:8px;font-size:9px;color:var(--muted)}.right{position:absolute;right:26px;top:105px;display:flex;flex-direction:column;align-items:stretch;gap:9px;width:192px}.signal{display:flex;align-items:center;gap:12px;padding:14px;background:#16383cdd;border:1px solid #6f9c7755;border-radius:7px}.signal>i{display:block;width:13px;height:13px;background:#a3d9a7;border-radius:50%;box-shadow:0 0 20px #8deb9b99}.signal small,.distance small{display:block;font-size:9px;color:var(--muted);letter-spacing:1px}.signal strong{font-size:12px;display:block;margin-top:5px}.distance{background:#122d31dd;border:1px solid #72958b55;border-radius:7px;padding:14px}.distance strong{font:500 36px ui-monospace,monospace;display:block;margin:7px 0;color:var(--ink)}.distance>span{font-size:11px;color:var(--muted)}.right>button{font-size:11px;text-align:left}.route-badge{position:absolute;bottom:270px;left:27px;text-shadow:0 2px 7px #000;display:flex;flex-direction:column;gap:5px}.route-badge>span{font-size:9px;letter-spacing:3px;color:#e3e9dc}.route-badge>b{font-size:25px;letter-spacing:4px}.route-badge small{font-size:10px;max-width:600px;color:#edf0dc}.desk{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(120deg,#1e4544,#254c47 50%,#1a3736);border-top:5px solid #9a9f83;box-shadow:0 -6px 30px #0005}.desk-title{padding:8px 28px;border-bottom:1px solid #8ba09333;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#c9cfb7}.desk-content{display:grid;grid-template-columns:210px 150px 1fr 1fr;max-width:1150px;margin:auto;gap:30px;padding:15px 28px 10px;align-items:center}.gauge{height:151px;width:200px;position:relative;background:#10282a;border:3px solid #638077;border-radius:14px;box-shadow:inset 0 0 20px #0008,0 2px 3px #0006}.gauge svg{width:100%;height:130px}.gauge>div{position:absolute;bottom:20px;left:0;right:0;text-align:center}.gauge strong{font:500 25px ui-monospace,monospace;color:#fff4d2}.gauge span{font-size:10px;margin-left:7px;color:var(--muted)}.gauge>small{position:absolute;bottom:6px;width:100%;text-align:center;font-size:8px;letter-spacing:2px;color:var(--muted)}.status{display:grid;gap:10px}.status small{font-size:8px;letter-spacing:1px;color:var(--muted);display:block}.status b{display:block;font-size:16px;margin-top:2px;font-family:ui-monospace,monospace}.status em{font-size:10px;font-style:normal;color:var(--muted)}label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#e1e2c9}label b{color:var(--amber);font-size:11px}input[type=range]{width:100%;height:40px;accent-color:#e3af70;cursor:pointer}.brake input{accent-color:#c67857}.range-label{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px;color:var(--muted);margin-bottom:18px}.controls{display:flex;gap:8px}.controls button{flex:1;font-size:11px;padding:9px 5px}button small{font-size:8px;opacity:.65;margin-left:5px}#emergency{width:100%;background:#854c36;border:1px solid #b47a58;font-size:10px;letter-spacing:1px;padding:10px}.desk footer{display:flex;justify-content:space-between;padding:8px 28px;background:#102b2b;color:#9cb2a8;font-size:9px;gap:15px}.overlay{position:fixed;inset:0;background:#081d2799;backdrop-filter:blur(7px);display:grid;place-items:center;z-index:20;padding:20px}.overlay[hidden]{display:none}.overlay article{width:min(570px,100%);background:#142e33f5;border:1px solid #79928b70;box-shadow:0 25px 100px #0006;border-radius:12px;padding:38px}.overlay h2{font-size:42px;line-height:1.13;font-weight:500;letter-spacing:-1px;margin:19px 0 20px}.overlay p{font-size:14px;color:#c1d0c8;line-height:1.7}.overlay .note{font-size:10px;margin-bottom:0;color:#91aaa5}.primary{background:#efb673;color:#18302e;border:0;font-weight:750;padding:15px 20px;width:100%;margin-top:20px}.primary:hover{background:#ffd29d}.steps{display:flex;gap:18px;font-size:11px;margin:22px 0 2px}.steps b{color:var(--amber);margin-right:5px}#loadError{color:#ffd0a5;font-size:12px;line-height:1.6;margin-top:10px}@media(max-width:850px){header{padding:12px}.brand{font-size:17px}nav{gap:4px}nav a{display:none}nav button{font-size:10px;padding:8px}.mission{left:12px;top:78px;width:260px;padding:12px}h1{font-size:15px}.right{right:12px;top:78px;width:135px}.signal{padding:10px;gap:8px}.signal strong{font-size:10px}.distance{padding:10px}.distance strong{font-size:25px}.desk-content{grid-template-columns:135px 1fr 1fr;gap:16px;padding:12px 15px}.gauge{width:130px;height:130px}.gauge svg{height:103px}.status{display:none}.route-badge{bottom:245px;left:15px}.route-badge>b{font-size:18px}.desk footer{font-size:8px;padding:8px 15px}.desk footer span:first-child{display:none}.desk-title{padding:8px 15px;font-size:8px}label{font-size:8px}.controls button{font-size:10px}.range-label{font-size:6px}.overlay h2{font-size:34px}}@media(max-width:500px){.mission{width:220px}.mission p{font-size:10px}.places{font-size:8px}.right{width:112px}.right .signal{gap:6px}.signal>i{width:9px;height:9px;flex-shrink:0}.signal small{font-size:7px}.signal strong{font-size:9px}.distance strong{font-size:22px}.desk-content{grid-template-columns:100px 1fr 1fr;gap:9px;padding:10px}.gauge{width:98px;height:112px}.gauge svg{height:83px}.gauge>div{bottom:20px}.gauge strong{font-size:22px}.gauge span{font-size:8px;margin-left:3px}.desk-title{font-size:6px;letter-spacing:1px}.range-label span:nth-child(2){display:none}label{font-size:7px;letter-spacing:0}.controls button small{display:none}.controls{gap:4px}.controls button{font-size:9px}#emergency{font-size:8px;padding:9px 4px}#emergency small{display:none}.route-badge{bottom:220px}.route-badge small{font-size:8px;max-width:320px}.overlay article{padding:25px}.overlay h2{font-size:30px}.steps{gap:9px;font-size:9px}}
