@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#183b35;font-synthesis:none;--ink:#183b35;--muted:#547169;--paper:#f4f1e6;--line:#d0d5c8;--orange:#bf7548;color-scheme:light}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#bcd6e1}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c2703e;outline-offset:5px}button{touch-action:manipulation}button[hidden],[hidden]{display:none!important}#mountain{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}.topbar{position:fixed;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px 38px;background:linear-gradient(#e0e9e675,transparent);pointer-events:none}.topbar>*{pointer-events:auto}.brand{color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.7px;text-decoration:none;display:flex;align-items:center;gap:11px}.brand svg{width:34px;height:29px}.brand svg path:first-child{fill:var(--ink)}.brand svg path:last-child{fill:#c89261}.brand-dot{color:var(--orange)}.top-right{display:flex;align-items:center;gap:12px}.edition{font-size:11px;letter-spacing:.02em;margin-right:14px}.edition>span{opacity:.4;padding:0 8px}.round-button{width:40px;height:40px;border:1px solid #73908466;border-radius:50%;background:#f6f7ec88;font-size:18px;display:grid;place-items:center;backdrop-filter:blur(12px)}.round-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:2}.welcome{position:fixed;left:6.5vw;top:50%;transform:translateY(-44%);padding:30px 35px 25px 0;z-index:2}.welcome:before{content:'';position:absolute;z-index:-1;inset:-120px -150px -80px -13vw;background:radial-gradient(ellipse at 30% 55%,#e5ece6e8 10%,#e4eae487 50%,transparent 72%);pointer-events:none}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;display:flex;align-items:center;gap:8px}.live-dot{width:6px;height:6px;background:#bd774e;border-radius:50%}h1{font-family:'Newsreader',Georgia,serif;font-size:clamp(66px,7vw,106px);font-weight:400;line-height:.99;letter-spacing:-3px;margin:28px 0 24px}h1 em{font-weight:400;color:#3b5a4c}p.intro{font-size:14px;line-height:1.7;color:#36564b;margin-bottom:30px}fieldset{padding:0;border:0;margin:0 0 16px;max-width:360px}legend{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:8px}.segment{display:flex;gap:4px;padding:4px;border:1px solid #7a928354;background:#f0f0e27d;border-radius:7px}.segment button{background:transparent;border:0;border-radius:4px;padding:10px 15px;flex:1;font-size:13px;min-width:0}.segment button[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:0 2px 5px #1d3d3022}.segment small{display:block;font-size:9px;font-weight:400;opacity:.7;padding-top:3px}.primary{background:var(--ink);color:var(--paper);border:0;border-radius:5px;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 19px;font-weight:500;font-size:13px;box-shadow:0 4px 15px #183b3515}.primary:hover{background:#2d5146}.welcome>.primary{width:100%;max-width:360px;margin-top:22px}.primary>span:last-child{font-size:20px;line-height:1}.welcome-note{font-size:10px;color:#4c6b60;margin:14px 0 0;letter-spacing:.1px}.hud{position:fixed;left:38px;bottom:104px;z-index:3;pointer-events:none;padding:24px;min-width:295px;border:1px solid #f0f5eaa0;border-radius:9px;background:#f3f3e6da;box-shadow:0 8px 40px #38544b13;backdrop-filter:blur(15px)}.hud button{pointer-events:auto}.location .eyebrow{color:#6d805f;font-size:9px;margin:0 0 8px;letter-spacing:1.6px}.location h2{font-family:'Newsreader',Georgia,serif;letter-spacing:-.7px;font-size:29px;font-weight:400;margin:0 0 5px}.location p{font-size:10px;color:#5c746a;max-width:285px;line-height:1.5;margin:0}.instruments{display:flex;align-items:center;gap:22px;margin:24px 0 19px}.instruments>div{display:flex;align-items:baseline;gap:7px}.metric{font-size:47px;letter-spacing:-2px;line-height:1;font-variant-numeric:tabular-nums}.unit{font-size:9px;color:#587168}.altitude{font-size:23px;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.instruments>div:last-child{display:flex;flex-direction:column;gap:1px}.divider{width:1px;height:34px;background:#c4d0c3}.action-row{display:flex;gap:8px;flex-wrap:wrap;max-width:330px}.pill{border:1px solid #9aada17a;border-radius:4px;min-height:33px;padding:8px 11px;font-size:10px;background:#f3f4e9b8;display:flex;gap:9px;align-items:center}.pill[aria-pressed=true]{background:var(--ink);color:var(--paper)}kbd{font:inherit;font-size:9px;border:1px solid currentColor;opacity:.5;border-radius:3px;padding:1px 4px;min-width:15px;display:inline-grid;place-items:center}.compact{font-size:11px;min-height:42px;width:100%;padding:10px 13px;margin-bottom:4px}.lift-progress{margin:-4px 0 18px}.lift-progress>div{display:flex;justify-content:space-between;font-size:9px;color:#587168;margin-bottom:4px}.lift-progress progress{height:3px;width:100%;display:block;accent-color:#60816c}.map-card{position:fixed;right:38px;bottom:104px;width:192px;padding:15px 15px 11px;z-index:2;background:#f1f2e5d6;backdrop-filter:blur(15px);border:1px solid #f4f6eba0;border-radius:8px}.map-heading{display:flex;justify-content:space-between;gap:8px;font-size:7px;letter-spacing:1.1px;font-weight:700}#minimap{width:100%;height:148px;display:block}.map-foot{display:flex;justify-content:space-between;font-size:8px;color:#526e61}.map-foot i{width:5px;height:5px;background:#b46c42;display:inline-block;border-radius:50%;margin-right:4px}.keyboard-hints{display:flex;gap:17px;align-items:center;font-size:9px;color:#34544b;margin:0 0 22px}.keyboard-hints>span{display:flex;gap:4px;align-items:center}footer{position:fixed;bottom:16px;left:38px;right:38px;z-index:2;pointer-events:none}.credits{display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:.2px;color:#395b51;margin:0}.credits a{color:inherit;pointer-events:auto;text-decoration-color:#839b90;text-underline-offset:3px}.credits span{opacity:.7}.toast{position:fixed;z-index:10;top:105px;left:50%;transform:translateX(-50%);font-size:12px;line-height:1.5;max-width:min(480px,90vw);padding:13px 20px;border-radius:5px;background:#193c35eb;color:#faf5e5;box-shadow:0 5px 25px #274a3322;text-align:center;pointer-events:none}dialog{border:1px solid #fff9;border-radius:10px;padding:38px;width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 40px);color:var(--ink);background:var(--paper);box-shadow:0 30px 120px #17352855}dialog::backdrop{background:#203b3a55;backdrop-filter:blur(6px)}dialog h2,.failure h2{font-family:'Newsreader',Georgia,serif;font-size:43px;letter-spacing:-1px;line-height:1.05;font-weight:400;margin:22px 0 15px}dialog p{font-size:12px;line-height:1.7;color:#547165}dialog .eyebrow{font-size:9px;letter-spacing:1.5px}.close{position:absolute;right:15px;top:11px;font-size:25px;background:none;border:0;color:#6f8174}.dialog-intro{margin-bottom:24px}.session-stats{display:flex;justify-content:space-between;gap:12px;margin:27px 0;border-block:1px solid #ccd5c5;padding:19px 0}.session-stats strong{font-size:17px;font-weight:500}.session-stats span{display:block;font-size:9px;color:#637c6b;margin-top:4px}dialog .primary{width:100%}.text-button{width:100%;padding:15px;border:0;background:none;font-size:11px;color:#637968}details{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}summary{font-size:11px;cursor:pointer}.controls-list{margin:22px 0}.controls-list>div{display:flex;justify-content:space-between;padding:7px 0;font-size:11px;border-bottom:1px solid #d8dfd3}.controls-list dt{font-weight:500}.controls-list dd{color:#647c6d}.help-foot{font-size:10px!important}.failure{position:fixed;inset:0;z-index:30;background:#edf1e8ed;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.failure p{max-width:420px;font-size:13px;line-height:1.7}.failure .eyebrow{font-size:9px}.touch-controls{position:fixed;z-index:5;bottom:54px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none}.touch-controls button{pointer-events:auto;user-select:none;touch-action:none;-webkit-user-select:none;border:1px solid #f1f4e7b3;background:#f0f2e2c9;backdrop-filter:blur(12px);color:var(--ink);border-radius:50%;width:55px;height:55px;font-size:24px;box-shadow:0 2px 14px #183b351c}.touch-controls button.active{background:var(--ink);color:var(--paper)}.steering,.touch-actions{display:flex;gap:8px;align-items:center}.touch-actions .brake,.touch-actions .push{font-size:10px;width:50px;height:50px}.touch-actions .brake{color:#98593a}.touch-actions .push{background:#21463bed;color:#f5f0df}.playing .welcome{display:none}.playing .edition{opacity:.7}@media (hover:hover) and (pointer:fine){.touch-controls{display:none!important}}@media(max-width:800px){.edition{display:none}.topbar{padding:22px 24px}.welcome{left:7vw}.hud{left:24px;bottom:105px}.map-card{right:24px;bottom:105px;width:160px}.map-card canvas{height:120px}footer{left:24px;right:24px}.keyboard-hints{gap:10px;font-size:8px}.keyboard-hints>span:nth-last-child(-n+2){display:none}}@media(max-width:600px){.topbar{padding:18px 20px}.brand{font-size:17px}.brand svg{width:28px}.round-button{width:34px;height:34px}.welcome{left:27px;right:27px;top:48%;transform:translateY(-42%);padding:0}.welcome:before{inset:-100px -100px -70px -100px;background:radial-gradient(ellipse at 30% 70%,#e5ece6ed 15%,#e4eae4b0 57%,transparent 75%)}h1{font-size:73px;margin:24px 0 21px}.intro{font-size:12px!important;margin-bottom:23px!important}.welcome>.primary,fieldset{max-width:310px}.welcome .eyebrow{font-size:8px;letter-spacing:1.5px}.welcome-note{font-size:9px}.hud{left:15px;bottom:140px;padding:16px;min-width:0;width:242px;background:#f3f3e6e0}.location h2{font-size:24px}.location p{font-size:9px}.location .eyebrow{font-size:8px}.instruments{margin:17px 0 14px;gap:16px}.metric{font-size:36px}.altitude{font-size:19px}.action-row{gap:5px}.pill{font-size:9px;padding:6px 8px;min-height:30px}.pill kbd{display:none}.compact{font-size:10px}.map-card{right:15px;bottom:157px;width:95px;padding:9px}.map-heading{font-size:6px;letter-spacing:.4px}.map-heading span:last-child{display:none}#minimap{height:94px}.map-foot{font-size:6px}.map-foot span:last-child{display:none}footer{left:20px;right:20px;bottom:15px}.keyboard-hints{display:none}.credits{font-size:7px}.credits>span{max-width:90px;text-align:right}.touch-controls{bottom:61px;left:15px;right:15px}.toast{top:85px;font-size:10px;width:max-content;max-width:85vw}.session-stats strong{font-size:15px}dialog{padding:30px 25px}dialog h2{font-size:38px}}@media(max-height:650px) and (min-width:650px){.welcome{top:50%;transform:translateY(-43%);left:7vw}.welcome h1{font-size:67px;margin:20px 0 13px}.welcome .intro{font-size:12px;margin-bottom:16px}.welcome fieldset{margin-bottom:9px}.welcome .primary{margin-top:13px}.topbar{padding:15px 25px}.hud{bottom:80px;padding:16px}.location p{max-width:230px}.instruments{margin:14px 0}.map-card{bottom:80px}.touch-controls{bottom:45px;left:370px}.keyboard-hints{display:none}footer{bottom:12px}.welcome-note{margin-top:10px}}@media(max-height:720px) and (max-width:600px){h1{font-size:60px;margin:16px 0}.intro{margin-bottom:16px!important}.segment button{padding:8px 12px}.welcome>.primary{margin-top:14px}.hud{bottom:130px}.location p{display:none}.instruments{margin:12px 0}.touch-controls{bottom:50px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.reference-scene{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 50%;z-index:1;pointer-events:none}.playing .reference-scene{display:none}.welcome:before{background:radial-gradient(ellipse at 30% 55%,#e5ece6f0 10%,#e4eae4b0 50%,transparent 73%)}.topbar{z-index:5}footer{z-index:3}.scenery-status{position:fixed;z-index:8;left:50%;top:95px;transform:translateX(-50%);display:flex;gap:14px;align-items:center;background:#f3f3e8ee;border:1px solid #c1cebe;border-radius:5px;padding:10px 14px;font-size:11px;box-shadow:0 4px 20px #163a2722}.scenery-status button{background:#204536;color:#f4f0e3;border:0;border-radius:3px;padding:6px 11px}.failure{z-index:30}#mountain:focus{outline:0}@media(max-width:600px){.scenery-status{font-size:10px;top:78px;max-width:90vw;width:max-content}.reference-scene{object-position:45% 50%}}
