: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}
