@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#333b34;background:#e6d5bf;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b26337;outline-offset:4px}[hidden]{display:none!important}#app{position:relative;width:100%;height:100svh;min-height:500px;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;top:max(32px,env(safe-area-inset-top));left:36px;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:700}.eyebrow span{margin:0 8px;opacity:.4}h1{font-family:Manrope,sans-serif;font-size:clamp(36px,5vw,58px);font-weight:500;letter-spacing:-3px;line-height:1.1;margin:13px 0 10px}h1 span{color:#a76139}header p{font-size:12px;opacity:.65;margin:0}.top-actions{position:absolute;right:28px;top:30px;display:flex;gap:8px}.top-actions button,#close-lab{border:1px solid #36463725;background:#f6ead84d;border-radius:50%;width:40px;height:40px;font-size:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.altitude{position:absolute;right:32px;top:35%;width:42px;text-align:center}#meters{font-size:26px;font-family:Manrope,sans-serif}.altitude small{display:block;font-size:10px;opacity:.55}.track{position:relative;height:130px;background:#394c3820;width:3px;margin:18px auto}.track i{position:absolute;bottom:0;width:100%;background:#485943;height:0}.track b{position:absolute;width:9px;height:1px;left:-3px;background:#6f7a5a}.altitude label{font-size:8px;letter-spacing:2px;writing-mode:vertical-rl;margin-top:4px}#message{position:absolute;top:24%;left:50%;transform:translate(-50%);text-align:center;width:90%;font-size:11px;letter-spacing:1px;color:#5e6453;pointer-events:none}footer{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));width:min(340px,calc(100% - 64px));left:50%;transform:translate(-50%)}.energy-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;font-weight:700}.energy-track{height:3px;background:#37453526;margin:9px 0 18px;border-radius:3px;overflow:hidden}#energy{display:block;width:100%;height:100%;background:#4c634d;transition:background .3s}#push{display:flex;align-items:center;justify-content:space-between;width:100%;height:64px;border:1px solid #ffffff25;border-radius:8px;background:#344b3b;color:#fff9eb;box-shadow:0 6px 22px #273c3320;font-size:15px;letter-spacing:.4px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#push.active{background:#526945;transform:translateY(2px);box-shadow:none}.push-icon{margin:0 22px;font-size:23px;opacity:.5}footer p{text-align:center;font-size:11px;margin:14px 0 15px;color:#555d4d}.footer-note{text-align:center;font-size:8px;letter-spacing:2.5px;opacity:.5}.footer-note span{margin:0 8px}#lab{position:absolute;right:24px;top:82px;width:280px;padding:20px;background:#f6eee0ed;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff80;box-shadow:0 16px 60px #31362b26;border-radius:14px;z-index:4;font-size:12px}.lab-title{display:flex;align-items:center;justify-content:space-between;font-weight:700;margin-bottom:14px}#close-lab{width:28px;height:28px;font-size:20px}#lab label{display:flex;justify-content:space-between;align-items:center;margin:17px 0;gap:10px}#lab .check{justify-content:flex-start}#lab input{accent-color:#405b43}#lab input[type=range]{width:130px}#lab select{max-width:160px;font-size:10px;padding:8px;border:1px solid #a4a58e;border-radius:5px;background:transparent}#lab p{font-size:10px;line-height:1.6;opacity:.65}#finish{position:absolute;inset:0;background:#d8cbb49c;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:grid;place-items:center;z-index:5}.finish-card{text-align:center;padding:40px;background:#f5ecdc;border-radius:16px;box-shadow:0 20px 90px #31372b30;width:min(350px,88%)}h2{font:500 40px Manrope,sans-serif;letter-spacing:-2px;margin:18px 0}.finish-card p{font-size:14px;line-height:1.7;opacity:.7}.finish-card strong{display:block;font-size:12px;margin:20px}.finish-card button{border:0;border-radius:7px;padding:16px 28px;background:#344b3b;color:#fff}#error{position:absolute;inset:30%;padding:24px;background:#fff;z-index:10}@media(max-width:600px){header{left:24px;top:max(26px,env(safe-area-inset-top))}.top-actions{right:18px;top:24px;gap:5px}.top-actions button{width:34px;height:34px;font-size:21px}.eyebrow{font-size:8px;letter-spacing:1.7px}h1{font-size:39px;letter-spacing:-2px}.altitude{right:15px;top:35%}#message{top:23%;font-size:10px}footer{bottom:max(20px,env(safe-area-inset-bottom))}#push{height:59px}#lab{right:16px}}@media(max-height:650px){header p,.footer-note{display:none}h1{font-size:32px;margin-top:8px}footer{bottom:12px}#push{height:48px}footer p{margin:8px 0}.energy-track{margin-bottom:10px}#message{top:22%}.track{height:90px}}#scene-fade{position:absolute;inset:0;background:#080a08;opacity:0;pointer-events:none;z-index:20}.cinematic header,.cinematic .top-actions,.cinematic .altitude,.cinematic #message,.cinematic footer{opacity:0;pointer-events:none}header,.top-actions,.altitude,#message,footer{transition:opacity .2s}.cinematic #world{pointer-events:none}#app{height:100svh;height:100dvh;min-height:0}body{overscroll-behavior:none}.top-actions{top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right))}.top-actions button,#close-lab{min-width:44px;min-height:44px;touch-action:manipulation}#lab{max-width:calc(100% - 32px);max-height:calc(100% - 100px - env(safe-area-inset-top));overflow-y:auto;top:calc(76px + env(safe-area-inset-top))}@media(max-width:600px){header{left:20px;top:calc(18px + env(safe-area-inset-top))}.eyebrow{font-size:7px;letter-spacing:1px;max-width:155px}.eyebrow span{margin:0 4px}h1{font-size:36px;margin:24px 0 6px}header p{font-size:11px}.top-actions{gap:4px}.top-actions button{width:44px;height:44px;background:#f6ead8b3}.altitude{top:calc(132px + env(safe-area-inset-top));right:20px;width:auto;display:flex;align-items:baseline;gap:5px;padding:6px 10px;border-radius:20px;background:#f6ead899}.altitude #meters{font-size:18px}.altitude small{font-size:10px}.altitude .track,.altitude label{display:none}#message{top:calc(181px + env(safe-area-inset-top));font-size:10px;letter-spacing:.2px;width:calc(100% - 40px)}footer{width:calc(100% - 40px);max-width:380px;bottom:calc(14px + env(safe-area-inset-bottom))}#push{height:60px;border-radius:12px}footer p{line-height:1.5;margin:10px 0 0}.footer-note{display:none}.energy-track{margin-bottom:12px}#lab{right:16px;width:calc(100% - 32px)}#lab select{font-size:16px;max-width:65%}#lab input[type=checkbox]{width:22px;height:22px}#lab input[type=range]{height:32px}#error{inset:20% 20px}}@media(max-width:600px)and (max-height:700px){header p{display:none}h1{font-size:30px;margin-top:21px}.altitude{top:calc(105px + env(safe-area-inset-top))}#message{top:calc(149px + env(safe-area-inset-top))}footer{bottom:calc(10px + env(safe-area-inset-bottom))}#push{height:54px}footer p{font-size:10px}.energy-track{margin:7px 0 10px}}@media(max-height:500px)and (min-aspect-ratio:1/1){header{top:calc(16px + env(safe-area-inset-top));left:calc(18px + env(safe-area-inset-left))}h1{font-size:28px;margin:8px 0}header p,.footer-note,#message,.altitude .track,.altitude label{display:none}.altitude{top:80px;right:24px}.altitude #meters{font-size:20px}footer{left:auto;right:calc(18px + env(safe-area-inset-right));transform:none;width:230px;bottom:calc(12px + env(safe-area-inset-bottom))}#push{height:48px}footer p{font-size:10px;margin:7px 0 0}.energy-track{margin:7px 0 10px}#lab{top:68px;max-height:calc(100% - 80px)}.finish-card{padding:16px}.finish-card h2{font-size:30px;margin:8px}.finish-card p,.finish-card strong{margin:8px}}@media(max-width:600px){#message{width:max-content;max-width:calc(100% - 32px);padding:6px 10px;border-radius:16px;background:#f6ead8bd}}@media(max-height:500px)and (min-aspect-ratio:1/1){#push-label{white-space:nowrap}.push-icon{margin:0 12px}}
