:root{font-family:Inter,Arial,sans-serif;color:#eff5ed;background:#9fbcc0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}#world{position:fixed;inset:0;width:100%;height:100%;display:block}#panel{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(6,28,36,.88),rgba(6,28,36,.25) 57%,transparent)}header{display:flex;justify-content:space-between;align-items:center;padding:36px 5vw}.brand{font-size:28px;font-weight:650;letter-spacing:-1px;color:inherit;text-decoration:none;pointer-events:auto}.tag,.eyebrow,.badge{font-size:11px;letter-spacing:2px}.tag{opacity:.7}.intro{position:absolute;left:7vw;top:25%;width:min(510px,85vw)}.eyebrow{color:#bce4cb}h1{font-size:clamp(44px,5.6vw,82px);font-weight:450;line-height:1.04;letter-spacing:-4px;margin:24px 0}p{font-size:14px;line-height:1.7;color:#d1ded9}.intro>p{max-width:360px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}button{cursor:pointer;border:0;border-radius:6px;padding:16px 22px;background:#d4f4bc;color:#17352f;font-weight:650;pointer-events:auto}button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:default}.secondary,.small{background:#0c232ab3;border:1px solid #ffffff40;color:#f1f6f0}.small{padding:8px 12px}#status{font-size:12px;max-width:450px}footer{position:absolute;bottom:35px;left:5vw;right:5vw;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px}small{display:block;font-size:11px;letter-spacing:0;opacity:.65;margin-top:7px}#controls{position:fixed;right:28px;bottom:100px;width:280px;background:#091e26de;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:22px;border:1px solid #ffffff25;border-radius:12px}#controls p{font-size:11px;color:#b9ccc7}label{display:block;font-size:12px;margin-top:24px}output{float:right;color:#d4f4bc}input{width:100%;accent-color:#d4f4bc;margin:15px 0}.control-title{font-size:11px;letter-spacing:1.5px;display:flex;align-items:center;justify-content:space-between}#telemetry{font-size:10px;letter-spacing:1px;color:#d4f4bc}#menu{position:fixed;top:22px;left:22px}body.flying #panel{display:none}body.flying #controls{opacity:.8}button:focus-visible,input:focus-visible{outline:3px solid #b9deed;outline-offset:4px}@media(max-width:800px){#controls{display:none}body.flying #controls{display:block;bottom:20px;right:20px;width:250px}.intro{top:24%}h1{letter-spacing:-2px}.tag{display:none}footer .badge{display:none}}#panel{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;pointer-events:auto;-webkit-overflow-scrolling:touch}#panel .intro{position:relative;left:auto;top:auto;margin:24px 7vw 28px;max-width:510px;width:min(510px,86vw)}#panel footer{position:relative;left:auto;right:auto;bottom:auto;margin:24px 5vw 30px;gap:20px;flex-wrap:wrap}#panel header{padding:22px 5vw}#panel h1{margin:15px 0;font-size:clamp(34px,5vw,64px)}#panel .actions{margin-top:18px}#panel button{min-height:44px}#windSettings{max-width:420px;padding:4px 0}#windSettings label{margin-top:10px}#windSettings input{display:block;width:100%;min-height:32px;touch-action:pan-x;pointer-events:auto;margin:7px 0 12px}@media(max-height:700px){#panel header{padding:12px 5vw}#panel .intro{margin-top:8px}#panel h1{font-size:34px;margin:8px 0}#panel .actions{margin-top:12px}#panel footer{margin-top:10px}}#wingSettings select{display:block;width:100%;min-height:44px;background:#102d33;color:#eff5ed;border:1px solid #b7d4dd;border-radius:6px;padding:8px;margin-top:9px;font-size:15px}#wingSettings label{margin-top:12px}#wingSettings input{touch-action:pan-x}#wingLoadInfo{font-size:12px;line-height:1.5}#weatherSettings{max-width:420px;padding:5px 0}#weatherSettings label{margin-top:12px}#weatherSettings select{display:block;width:100%;min-height:44px;padding:9px;background:#102d33;color:#eff5ed;border:1px solid #b7d4dd;border-radius:6px;font-size:15px}#mobileFlightControls{display:none}@media(pointer:coarse){body.flying #world{touch-action:none}#mobileFlightControls.active{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;flex-direction:column;align-items:center;gap:8px;padding:8px 12px calc(14px + env(safe-area-inset-bottom));pointer-events:none}#mobileFlightControls .mobileTop{color:#fff;background:#09232bc9;border-radius:8px;padding:6px 12px;font:12px Arial,sans-serif;text-align:center}#mobileFlightControls .mobileBrakeRow{display:flex;width:100%;justify-content:space-between;gap:12px}#mobileFlightControls button{touch-action:none;user-select:none;-webkit-user-select:none;pointer-events:auto;border:1px solid #d4f4bc7a;background:#12363be8;color:#efffe9;border-radius:13px;font-size:12px;padding:18px 8px;min-height:58px}#mobileFlightControls .mobileBrakeRow button{flex:1}#mobileFlightControls button.held{background:#92c273;color:#112f28}#touchViewCenter{min-height:38px!important;padding:8px 18px!important}body.flying #controls{bottom:auto;top:14px;right:14px;width:min(245px,48vw);padding:10px;z-index:24;max-height:30vh;overflow:auto}body.flying #controls label,body.flying #controls input,body.flying #controls #controlHelp,body.flying #controls p{display:none}body.flying #menu{z-index:35}}@media(pointer:coarse){#mobileFlightControls .mobileBrakeRow[hidden]{display:none}#mobileDroneRow button,#mobileDroneSide button{flex:1;min-width:0;padding:13px 5px;font-size:11px}#mobileFlightControls #mobileDroneRow,#mobileFlightControls #mobileDroneSide{gap:8px}#touchForward{background:#40744b!important;font-weight:750}#touchForward.held{background:#bbeca3!important}}body.mobile-flight #mobileFlightControls.active{display:flex!important;position:fixed;left:0;right:0;bottom:0;z-index:100;flex-direction:column;align-items:center;gap:8px;padding:8px 12px calc(12px + env(safe-area-inset-bottom));pointer-events:none}body.mobile-flight #mobileFlightControls .mobileBrakeRow{display:flex;width:100%;gap:8px;justify-content:space-between}body.mobile-flight #mobileFlightControls .mobileBrakeRow[hidden]{display:none!important}body.mobile-flight #mobileFlightControls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;min-height:52px;padding:12px 6px;background:#12363bea;color:#efffe9;border:1px solid #d4f4bc88;border-radius:12px;flex:1;font-size:11px}body.mobile-flight #mobileFlightControls button.held{background:#92c273;color:#112f28}body.mobile-flight #mobileFlightControls #touchForward{background:#40744b}body.mobile-flight #mobileFlightControls .mobileTop{font:12px Arial,sans-serif;color:#fff;text-align:center;background:#09232bd9;border-radius:8px;padding:7px 11px}body.mobile-flight #world{touch-action:none}body.mobile-flight #controls{bottom:auto;top:12px;right:12px;width:min(225px,48vw);padding:8px;max-height:22vh;overflow:auto;z-index:24}body.mobile-flight #controls label,body.mobile-flight #controls input,body.mobile-flight #controls #controlHelp,body.mobile-flight #controls p{display:none}#panel{background:linear-gradient(105deg,#05141ef0,#081e29d6,#081f2a47 78%,#081f2a1a)}#panel .intro{max-width:540px}#panel .eyebrow{color:#a9e9d3;letter-spacing:.18em;font-weight:700}#panel h1{font-weight:550;letter-spacing:-.045em;line-height:1.08}#panel .scene-selector,#panel #wingSettings,#panel #weatherSettings,#panel #windSettings{width:100%;max-width:480px}#panel label{color:#e6f2ee;font-size:13px;line-height:1.4;font-weight:650;letter-spacing:.01em;margin-top:18px}#panel select{display:block;width:100%;min-height:52px;margin:9px 0 10px;padding:12px 44px 12px 16px;appearance:none;-webkit-appearance:none;border-radius:12px;border:1px solid rgba(206,237,230,.35);background-color:#112f3b;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23d4f4bc' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;background-size:18px;color:#f3fbf8;font:500 15px/1.35 Inter,Arial,sans-serif;box-shadow:0 4px 18px #00000026,inset 0 1px #ffffff0d;cursor:pointer;pointer-events:auto}#panel select:hover{border-color:#d4f4bcb3;background-color:#173a45}#panel select:focus-visible{outline:2px solid #d4f4bc;outline-offset:3px}#panel select option{color:#f3fbf8;background:#102d38}#panel #wingSettings select,#panel #weatherSettings select{width:100%;min-height:52px;padding:12px 44px 12px 16px;margin:9px 0 10px;border-radius:12px;border:1px solid rgba(206,237,230,.35);background-color:#112f3b;font:500 15px/1.35 Inter,Arial,sans-serif}#panel button,#panel .actions a{border-radius:12px!important;min-height:50px;padding:13px 20px;font-size:14px;line-height:1.3;font-weight:700;text-align:center;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}#panel button:hover,#panel .actions a:hover{transform:translateY(-1px)}#panel button:active,#panel .actions a:active{transform:translateY(0)}#panel .secondary{background:#112f3be6;border:1px solid rgba(206,237,230,.35)}#panel .secondary:hover{border-color:#d4f4bc;background:#1b4550}#panel .actions a{display:inline-flex;align-items:center;justify-content:center}#panel input[type=range]{accent-color:#d4f4bc;cursor:pointer}#panel .scene-selector p,#panel #wingSettings p,#panel #weatherSettings p,#panel #windSettings p{color:#bdd1cb;font-size:12px;line-height:1.55}@media(max-width:600px){#panel .intro{width:calc(100% - 36px);margin:14px 18px 26px}#panel header{padding:18px}#panel select{font-size:14px}#panel .actions{gap:10px}#panel .actions button{flex:1 1 145px}}@media(prefers-reduced-motion:reduce){#panel button,#panel .actions a{transition:none}}#flowVisualization{margin-top:20px;padding:13px 16px;border:1px solid #cde9dc36;border-radius:12px;background:#0a222b85}#flowVisualization>label:first-child{font-weight:650;color:#e8f5ef;margin:0 0 12px}#flowVisualization .flow-toggle{display:flex;align-items:center;gap:12px;margin:7px 0;padding:10px 12px;border:1px solid #ffffff20;border-radius:9px;background:#102b348a;cursor:pointer;font-size:13px}#flowVisualization .flow-toggle input{appearance:auto;flex:none;width:19px;height:19px;margin:0;accent-color:#a8e6be;pointer-events:auto}#flowVisualization p{margin:8px 0 0;font-size:11px;line-height:1.5}#mobileFlightControls.active{display:flex;position:fixed;z-index:30;left:50%;right:auto;bottom:10px;transform:translate(-50%);width:min(520px,calc(100vw - 24px));flex-direction:column;align-items:center;gap:5px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));pointer-events:none}#mobileFlightControls.active .mobileBrakeRow{display:flex;width:100%;justify-content:center;gap:7px}#mobileFlightControls.active .mobileBrakeRow[hidden]{display:none!important}#mobileFlightControls.active .mobileBrakeRow button{flex:0 1 130px;min-width:0;max-width:145px}#mobileFlightControls.active button{touch-action:none;user-select:none;-webkit-user-select:none;pointer-events:auto;min-height:38px;padding:8px 10px;background:#12363bd9;color:#efffe9;border:1px solid #d4f4bc88;border-radius:9px;font:650 11px/1.15 Inter,Arial,sans-serif}#mobileFlightControls.active button.held{background:#92c273;color:#112f28}#mobileFlightControls.active #touchParaAccelerate,#mobileFlightControls.active #touchForward{background:#356e49;color:#efffe9}#mobileFlightControls.active #touchParaAccelerate.held,#mobileFlightControls.active #touchForward.held{background:#bbeca3;color:#112f28}#mobileFlightControls.active .mobileTop{color:#fff;background:#09232bb5;border-radius:7px;font:10px/1.3 Arial,sans-serif;text-align:center;padding:4px 8px}#mobileFlightControls.active #touchViewCenter{flex:none;min-height:28px!important;padding:4px 11px!important;font-size:10px}@media(pointer:coarse){#mobileFlightControls.active,body.mobile-flight #mobileFlightControls.active{display:flex!important;left:50%;right:auto;bottom:4px;transform:translate(-50%);width:min(520px,calc(100vw - 16px));gap:5px;padding:5px 6px calc(6px + env(safe-area-inset-bottom))}#mobileFlightControls.active .mobileBrakeRow,body.mobile-flight #mobileFlightControls.active .mobileBrakeRow{justify-content:center;gap:6px}#mobileFlightControls.active button,body.mobile-flight #mobileFlightControls.active button{min-height:38px;padding:7px 6px;border-radius:9px;font-size:10px}#mobileFlightControls.active .mobileBrakeRow button,body.mobile-flight #mobileFlightControls.active .mobileBrakeRow button{flex:1 1 0;max-width:145px;min-width:0}#mobileFlightControls.active .mobileTop,body.mobile-flight #mobileFlightControls.active .mobileTop{font:10px/1.3 Arial,sans-serif;padding:4px 6px}}#flightRadioStatus{position:fixed;top:68px;left:22px;z-index:28;padding:7px 11px;max-width:min(310px,70vw);border-radius:9px;background:#071f25c7;color:#dcf4d8;border:1px solid #c5edc43a;font:600 11px/1.35 Arial,sans-serif;pointer-events:none;display:none}body.flying #flightRadioStatus{display:block}#panel #radioUnlock{background:#0f303ad9;color:#d4f4bc;border:1px solid #cde7c97a}@media(max-width:700px){body.flying #flightRadioStatus{top:54px;left:12px;font-size:10px}}#landingOverlay{display:none;position:fixed;inset:0;z-index:120;align-items:center;justify-content:center;background:#041018ad;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:16px;pointer-events:auto}body.landed #landingOverlay{display:flex}#landingOverlay .landingCard{width:min(460px,94vw);padding:28px;border:1px solid #d4f4bc80;border-radius:18px;background:#0d2b34;color:#edf9ee;text-align:center;box-shadow:0 20px 60px #0008}#landingOverlay h2{font-size:27px;margin:4px 0 13px}#landingOverlay p{font-size:14px;line-height:1.5;margin:0 0 20px}#landingOverlay button{display:block;width:100%;min-height:46px;padding:11px 13px;margin:10px 0;border-radius:10px;background:#d4f4bc;color:#17352f;font-size:14px}#landingSettings{background:#244952!important;color:#f5faf5!important;border:1px solid #d4f4bc77!important}#forecastFlightSelection[hidden],#historicFlightSelection[hidden]{display:none!important}#forecastFlightSelection{padding:9px 0 14px;margin:8px 0;border-bottom:1px solid #ffffff2d}#forecastFlightSelection label{display:block;margin:10px 0 5px}#forecastFlightSelection input[type=date],#forecastFlightSelection select,#historicFlightSelection input[type=date],#historicFlightSelection select{display:block;width:100%;max-width:420px;min-height:44px;border:1px solid #b7d4dd;border-radius:7px;padding:8px 10px;background:#102d33;color:#eff5ed;color-scheme:dark;font-size:16px;touch-action:auto;pointer-events:auto}#forecastFlightSelection p{margin:8px 0 2px;font-size:12px;line-height:1.5}#flightReviewOverlay{display:none;position:fixed;inset:0;z-index:170;pointer-events:none;color:#ecf8ec;font:14px/1.45 Arial,sans-serif}body.reviewing #flightReviewOverlay{display:flex;flex-direction:column;justify-content:space-between}#flightReviewOverlay .reviewTop,#flightReviewOverlay .reviewBottom{pointer-events:auto;background:#071c24e8;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border:1px solid #b8dcb04c;border-radius:13px;box-shadow:0 8px 32px #0005}#flightReviewOverlay .reviewTop{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:18px;max-width:min(820px,calc(100% - 36px));padding:15px 18px}#flightReviewOverlay .reviewTop strong{letter-spacing:1.7px;font-size:13px;color:#d4f4bc}#flightReviewOverlay .reviewTop p{margin:6px 0 0;color:#d0e3df;font-size:12px;line-height:1.6}#flightReviewOverlay .reviewBottom{align-self:center;width:min(860px,calc(100% - 28px));margin:0 14px calc(18px + env(safe-area-inset-bottom));padding:14px 18px}#flightReviewOverlay .reviewLegend{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:12px}.reviewRed{color:#ee5353}.reviewBlue{color:#66b6f5}.reviewGreen{color:#62e5a2}.reviewYellow{color:#ffe454}#flightReviewOverlay #reviewMoment{margin:8px 0 2px;font-size:13px;color:#f5fbf5}#flightReviewOverlay #reviewTimeline{width:100%;margin:7px 0 13px;min-height:28px;accent-color:#c5f4a3;pointer-events:auto;touch-action:pan-x}#flightReviewOverlay .reviewActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#flightReviewOverlay button{font-size:12px;padding:10px 14px;min-height:42px}#flightReviewOverlay .reviewActions label{display:flex;align-items:center;gap:8px;margin:0;color:#d0e3df;font-size:12px}#flightReviewOverlay #reviewZoom{width:100px;min-height:28px;margin:0}#stopFlightButton{display:none;position:fixed;top:20px;right:22px;z-index:110;border:1px solid #e6c1a88a;border-radius:9px;background:#60312ade;color:#fff1e9;font-size:12px;padding:11px 14px;min-height:42px}body.flying:not(.landed):not(.reviewing) #stopFlightButton{display:block}body.reviewing #controls,body.reviewing #menu,body.reviewing #mobileFlightControls,body.reviewing #flightRadioStatus,body.reviewing #stopFlightButton{display:none!important}@media(max-width:700px){#flightReviewOverlay .reviewTop{margin:8px;padding:11px 12px}#flightReviewOverlay .reviewTop strong{font-size:11px}#flightReviewOverlay .reviewBottom{margin-bottom:8px;padding:11px 12px}#flightReviewOverlay .reviewActions{gap:5px}#flightReviewOverlay button{padding:9px 11px;font-size:11px}#stopFlightButton{top:12px;right:10px;font-size:11px;padding:9px 10px}}
