:root{--ink:#07111c;--deep:#102438;--ice:#8fc9e8;--snow:#f4f7fa;--mute:#8996a3;--orange:#ff8a3d;--cyan:#66d9ef;--rule:#8fc9e847;--panel:#07111cbd;--f-display:"Barlow Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--f-sans:"Barlow", "Helvetica Neue", Arial, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--gutter:clamp(16px, 3vw, 40px)}*,:before,:after{box-sizing:border-box}html{background:var(--ink);color:var(--snow);-webkit-text-size-adjust:100%}body{font-family:var(--f-sans);background:var(--ink);margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scene-host{z-index:0;background:var(--ink);position:fixed;inset:0}.scene-canvas{width:100%;height:100%;display:block}.label-host{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.lm-layer{position:absolute;inset:0}.lm-label{pointer-events:auto;white-space:nowrap;text-align:left;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--snow);text-shadow:0 1px 3px #07111ce6,0 0 8px #07111ccc;will-change:transform;background:0 0;border:0;align-items:center;gap:8px;margin:-14px 0 0 -6px;padding:4px 6px;font-size:11px;display:flex;position:absolute;top:0;left:0}.lm-dot{border:2px solid var(--orange);background:var(--ink);flex:none;width:9px;height:9px;transform:rotate(45deg)}.lm-name{font-weight:500}.lm-elev{color:var(--ice)}.lm-label.is-active .lm-dot{background:var(--orange)}.lm-label:hover .lm-name,.lm-label:focus-visible .lm-name{text-decoration:underline}.scroll-space{z-index:1;pointer-events:none;width:1px;position:relative}.look-surface{z-index:3;touch-action:none;cursor:grab;background:0 0;position:fixed;inset:0}.look-surface:active{cursor:grabbing}.look-surface:focus-visible{outline-offset:-6px}.ui{z-index:10;pointer-events:none;padding:var(--gutter);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid;position:fixed;inset:0}.ui>*{pointer-events:auto}.ui .no-pe{pointer-events:none}.btn{border:1px solid var(--rule);color:var(--snow);font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;min-height:40px;padding:9px 14px;font-size:11px;transition:background .2s,border-color .2s,color .2s}.btn:hover{border-color:var(--ice);background:#8fc9e81a}.btn[aria-pressed=true],.btn.is-on{border-color:var(--orange);color:var(--orange)}.btn.primary{background:var(--orange);border-color:var(--orange);color:var(--ink);font-weight:500}.btn.primary:hover{background:#ffa066}.btn.solid{background:var(--ink)}.hud{background:var(--panel);border-left:2px solid var(--orange);grid-area:1/1/span 2;align-self:start;max-width:340px;padding:14px 18px 14px 16px}.hud-stage{font-family:var(--f-mono);letter-spacing:.14em;color:var(--ice);text-transform:uppercase;align-items:baseline;gap:12px;font-size:11px;display:flex}.hud-stage b{color:var(--orange);font-weight:500}.hud-name{font-family:var(--f-display);letter-spacing:.02em;text-transform:uppercase;margin:4px 0 12px;font-size:24px;font-weight:600;line-height:1.05}.hud-alt{align-items:baseline;gap:8px;display:flex}.hud-alt .v{font-family:var(--f-display);letter-spacing:.01em;font-variant-numeric:tabular-nums;font-size:clamp(48px,7vw,72px);font-weight:600;line-height:.95}.hud-alt .u{font-family:var(--f-mono);color:var(--ice);letter-spacing:.1em;font-size:12px}.hud-grid{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:10px 16px;margin-top:12px;padding-top:12px;display:grid}.m{min-width:0}.m dt{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-size:10px}.m dd{font-family:var(--f-mono);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:15px}.hud-lm{border-top:1px solid var(--rule);color:var(--snow);margin-top:12px;padding-top:10px;font-size:13px}.hud-lm .k{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-size:10px;display:block}.hud-lm .tag{font-family:var(--f-mono);letter-spacing:.1em;color:var(--ice);margin-top:2px;font-size:10px;display:block}.hud-status{font-family:var(--f-mono);letter-spacing:.14em;color:var(--cyan);text-transform:uppercase;margin-top:10px;font-size:11px}.hud-data{font-family:var(--f-mono);letter-spacing:.06em;color:var(--mute);margin-top:10px;font-size:10px;line-height:1.45}.nav{flex-wrap:wrap;grid-area:1/2;justify-content:flex-end;place-self:start end;gap:8px;display:flex;position:relative}.stage-menu{background:var(--ink);border:1px solid var(--rule);z-index:5;gap:2px;min-width:280px;padding:6px;display:grid;position:absolute;top:48px;right:0}.stage-menu button{text-align:left;font-family:var(--f-display);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:0;align-items:baseline;gap:12px;padding:8px 10px;font-size:18px;display:flex}.stage-menu button span{font-family:var(--f-mono);color:var(--mute);font-size:11px}.stage-menu button:hover{background:#8fc9e81f}.stage-menu button[aria-current=true]{color:var(--orange)}.story{background:var(--panel);border-top:2px solid var(--ice);grid-area:2/2;place-self:center end;max-width:380px;padding:18px 20px;animation:.6s both rise}.story h2{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.02em;margin:0 0 8px;font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.02}.story p{color:#d6e0e8;margin:0;font-size:15px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.routes{border:1px solid var(--rule);background:#07111ce6;grid-area:2/1/auto/span 2;place-self:center;width:min(760px,100%);max-height:100%;padding:22px;animation:.5s both rise;overflow:auto}.routes h2{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;margin:0 0 4px;font-size:30px}.routes .lead{color:var(--mute);margin:0 0 16px;font-size:14px}.route-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.route-card{text-align:left;background:var(--deep);border:1px solid var(--rule);align-content:start;gap:6px;padding:16px;display:grid}.route-card:hover{border-color:var(--ice)}.route-card[aria-pressed=true]{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange)}.route-card .rn{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;font-size:24px;font-weight:600;line-height:1}.route-card .rc{font-family:var(--f-mono);letter-spacing:.12em;color:var(--ice);text-transform:uppercase;font-size:11px}.route-card p{color:#d6e0e8;margin:0;font-size:13.5px}.route-card .rq{font-family:var(--f-mono);letter-spacing:.08em;color:var(--mute);text-transform:uppercase;font-size:10px}.route-card .sel{font-family:var(--f-mono);letter-spacing:.14em;color:var(--orange);text-transform:uppercase;min-height:16px;font-size:11px}.legend{font-family:var(--f-mono);color:var(--mute);flex-wrap:wrap;gap:16px;margin:14px 0 0;font-size:11px;display:flex}.legend i{border-top:3px solid var(--orange);vertical-align:middle;width:34px;height:0;margin-right:8px;display:inline-block}.legend i.alt{border-top:3px dashed var(--cyan)}.profile{background:var(--panel);border-top:1px solid var(--rule);grid-area:3/1/auto/span 2;place-self:end center;width:min(980px,100%);padding:8px 12px 6px}.profile-head{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.profile-head .btn{min-height:28px;padding:3px 10px;font-size:10px}.profile-wrap{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;position:relative}.profile-wrap svg{width:100%;height:clamp(86px,14vh,140px);display:block}.profile-wrap:focus-visible{outline-offset:2px}.pf-axis{font-family:var(--f-mono);fill:var(--mute);font-size:9.5px}.pf-lm{cursor:pointer}.pf-lm:focus-visible{outline:none}.pf-lm:focus-visible circle,.pf-lm:hover circle{stroke:var(--snow);stroke-width:2px}.pf-lm text{font-family:var(--f-mono);fill:var(--snow);paint-order:stroke;stroke:var(--ink);stroke-width:3px;font-size:9.5px}.card{border-top:2px solid var(--orange);background:#07111ce6;grid-area:2/2;place-self:center end;width:min(400px,100%);padding:18px 20px;animation:.45s both rise}.card h2{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:30px;line-height:1.05}.card .big{font-family:var(--f-display);font-variant-numeric:tabular-nums;margin:6px 0;font-size:44px;font-weight:600;line-height:1}.card .big small{font-family:var(--f-mono);color:var(--ice);letter-spacing:.1em;margin-left:6px;font-size:12px}.card .tag{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ice);font-size:10px}.card p{color:#d6e0e8;margin:8px 0 14px;font-size:14.5px}.card .row{flex-wrap:wrap;gap:8px;display:flex}.summit{text-align:center;background:#07111ca8;grid-area:2/1/auto/span 2;place-self:center;max-width:560px;padding:22px 26px;animation:.8s both rise}.summit h2{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:clamp(38px,7vw,72px);font-weight:600;line-height:.95}.summit .big{font-family:var(--f-mono);color:var(--orange);letter-spacing:.08em;margin:8px 0;font-size:18px}.summit p{color:#d6e0e8;margin:0 0 16px}.summit .row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.scroll-hint{font-family:var(--f-mono);letter-spacing:.3em;color:var(--snow);text-transform:uppercase;grid-area:2/1/auto/span 2;place-self:end center;justify-items:center;gap:8px;padding-bottom:12px;font-size:11px;animation:2.2s ease-in-out infinite pulse;display:grid;pointer-events:none!important}.scroll-hint i{background:linear-gradient(var(--snow), transparent);width:1px;height:36px}@keyframes pulse{50%{opacity:.45}}.intro{z-index:20;text-align:center;padding:var(--gutter);background:linear-gradient(#07111c8c,#07111c26 45%,#07111c99);align-content:center;justify-items:center;display:grid;position:fixed;inset:0}.intro .eyebrow{font-family:var(--f-mono);letter-spacing:.4em;color:var(--ice);text-transform:uppercase;margin-bottom:10px;font-size:12px}.intro h1{font-family:var(--f-display);letter-spacing:.06em;text-transform:uppercase;margin:0;padding-left:.06em;font-size:clamp(76px,20vw,220px);font-weight:700;line-height:.85}.intro .sub{font-family:var(--f-display);letter-spacing:.22em;text-transform:uppercase;margin:14px 0 6px;font-size:clamp(18px,3vw,30px);font-weight:500}.intro .alt{font-family:var(--f-mono);letter-spacing:.22em;color:var(--orange);text-transform:uppercase;margin-bottom:30px;font-size:clamp(11px,1.6vw,14px)}.intro .btn.primary{letter-spacing:.2em;padding:14px 28px;font-size:13px}.intro .hint{font-family:var(--f-mono);letter-spacing:.14em;color:var(--mute);text-transform:uppercase;margin-top:18px;font-size:10px}.loading{z-index:30;background:var(--ink);padding:var(--gutter);align-content:center;justify-items:start;display:grid;position:fixed;inset:0}.loading .wrap{width:min(560px,100%);margin:0 auto}.loading h1{font-family:var(--f-display);letter-spacing:.08em;text-transform:uppercase;margin:0 0 24px;font-size:clamp(44px,9vw,84px);font-weight:700;line-height:.9}.loading .bar{background:var(--rule);height:2px;position:relative;overflow:hidden}.loading .bar i{background:var(--orange);transition:width .2s linear;position:absolute;inset:0 auto 0 0}.loading .msg{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);justify-content:space-between;margin-top:10px;font-size:11px;display:flex}.loading .note{color:var(--mute);max-width:52ch;margin-top:22px;font-size:13px}.fallback{z-index:40;background:var(--ink);min-height:100vh;padding:var(--gutter);position:relative}.fallback .in{max-width:860px;margin:0 auto}.fallback h1{font-family:var(--f-display);letter-spacing:.04em;text-transform:uppercase;margin:6vh 0 12px;font-size:clamp(44px,8vw,80px);line-height:.95}.fallback h2{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;margin:32px 0 8px;font-size:28px}.fallback table{border-collapse:collapse;width:100%;font-family:var(--f-mono);font-size:13px}.fallback th,.fallback td{text-align:left;border-bottom:1px solid var(--rule);padding:8px 6px}.fallback th{color:var(--mute);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:400}.toast-stack{z-index:50;pointer-events:none;gap:6px;display:grid;position:fixed;top:10px;left:50%;transform:translate(-50%)}.toast{background:var(--deep);border:1px solid var(--orange);font-family:var(--f-mono);letter-spacing:.06em;pointer-events:auto;padding:8px 14px;font-size:11px}.banner{z-index:45;font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;text-align:center;background:#07111cd9;place-items:center;font-size:12px;display:grid;position:fixed;inset:0}.dialog-back{z-index:60;padding:var(--gutter);background:#07111cc7;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--ink);border:1px solid var(--rule);width:min(640px,100%);max-height:100%;padding:24px;overflow:auto}.dialog h2{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px;font-size:30px}.dialog dl{gap:10px;margin:0 0 16px;display:grid}.dialog dt{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--orange);font-size:11px}.dialog dd{color:#d6e0e8;margin:2px 0 0;font-size:14px}@media (width<=900px){.ui{grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr;gap:10px}.hud{grid-area:1/1;grid-template-columns:auto 1fr;align-items:center;gap:4px 16px;max-width:none;padding:10px 12px;display:grid}.hud-stage,.hud-name{grid-column:1/span 2;margin:0}.hud-name{font-size:19px}.hud-alt .v{font-size:44px}.hud-grid{border:0;grid-template-columns:repeat(2,auto);gap:4px 14px;margin:0;padding:0}.hud-lm,.hud-data{display:none}.hud-status{grid-column:1/span 2;margin:0}.nav{grid-area:2/1;justify-content:flex-start;justify-self:stretch;gap:6px}.nav .btn{min-height:36px;padding:7px 10px;font-size:10px}.stage-menu{top:44px;left:0;right:auto}.story,.card,.routes{grid-area:3/1;place-self:end stretch;width:auto;max-width:none;max-height:42vh;padding:12px 14px;overflow:auto}.summit{grid-area:3/1;align-self:center;padding:14px}.scroll-hint{grid-area:3/1}.profile{grid-area:4/1;padding:6px 8px 4px}.route-cards{grid-template-columns:1fr;gap:8px}.route-card{padding:10px 12px}.route-card p{display:none}.routes h2,.story h2{font-size:24px}.story p{font-size:14px}.lm-label .lm-elev{display:none}}@media (width<=520px){.nav .btn.opt{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.story .tag{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:6px;font-size:10px}.story.landmark-cap{border-top-color:var(--orange)}
