*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#081726;color:#eef6fc;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{color:inherit;border:1px solid #a2cbe42e;background:#102437a8;border-radius:7px;cursor:pointer;padding:10px 13px;font-size:14px;transition:background .15s,border-color .15s}button:hover{background:#23465e;border-color:#c1e6ff88}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #f7d84d;outline-offset:3px}[hidden]{display:none!important}#view{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#view:active{cursor:grabbing}.hud{position:fixed;z-index:2;pointer-events:none;text-shadow:0 1px 5px #06213a90}.hud button,.hud nav{pointer-events:auto}.top{top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;padding:26px 32px;background:linear-gradient(#061b3966,transparent)}.brand{display:flex;flex-direction:column;gap:7px}.brand strong{letter-spacing:.11em;font-size:19px}.brand strong span{color:#f4d44b;margin:0 7px}.sub{font-size:11px;letter-spacing:.32em;opacity:.65}.heading{position:absolute;left:50%;transform:translateX(-50%);text-align:center}.heading>span{font-size:10px;letter-spacing:.24em;opacity:.7}.heading>strong{display:block;font-size:30px;font-weight:400;letter-spacing:.03em;font-variant-numeric:tabular-nums}.compass{font-size:11px;letter-spacing:7px;opacity:.7;display:flex;gap:11px;align-items:center;justify-content:center}.compass i{height:6px;width:1px;background:white}.tools{display:flex;align-items:center;gap:8px}.tools>span{font-size:10px;letter-spacing:.1em;margin-right:8px;opacity:.7}.tools button{backdrop-filter:blur(12px);background:#09203544}.side{top:45%;text-align:center;min-width:100px}.side.left{left:28px}.side.right{right:28px}.side>span{font-size:10px;letter-spacing:.16em}.side strong{font-variant-numeric:tabular-nums;display:block;font-size:40px;font-weight:300;margin:5px 0}.side small{font-size:12px;opacity:.7}.tickline{margin:16px auto;width:56px;height:22px;opacity:.45;background:repeating-linear-gradient(90deg,white 0 1px,transparent 1px 14px);mask-image:linear-gradient(transparent,#000)}.bottom{bottom:0;left:0;right:0;padding:35px 32px 26px;display:flex;justify-content:space-between;align-items:flex-end;background:linear-gradient(transparent,#03132580)}.flightstate{width:190px;display:flex;gap:7px;flex-direction:column;font-size:12px;letter-spacing:.08em}.flightstate>span{color:#ffe887}.flightstate small{font-size:11px;letter-spacing:0;opacity:.7}.cameras{display:flex;padding:5px;background:#081a2ca1;border:1px solid #b5d8ff24;backdrop-filter:blur(12px);border-radius:10px;gap:3px}.cameras button{background:transparent;border-color:transparent;font-size:12px;padding:10px 12px}.cameras b{color:#a8c1d3;margin-right:7px;font-weight:400}.cameras button.active{background:#e9f6ff19;border-color:#ffffff20;color:#ffe582}.engine{width:160px;font-size:11px;letter-spacing:.08em}.engine span{display:flex;justify-content:space-between;gap:18px}.engine>div{height:3px;background:#ffffff24;margin:9px 0}.engine i{display:block;height:3px;width:65%;background:#f3d85a}.engine small{font-size:10px;letter-spacing:0;opacity:.6}.hints{bottom:105px;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap;opacity:.8;transition:opacity 1s}.hints span{margin-left:18px;opacity:.7}kbd{font:10px Arial;background:#12314866;border:1px solid #ffffff30;border-radius:3px;padding:4px;margin:0 4px 0 14px}#toast{position:fixed;z-index:20;left:50%;top:120px;transform:translateX(-50%);background:#071a2de8;border:1px solid #9bc8e745;padding:12px 22px;border-radius:8px;font-size:14px;pointer-events:none;opacity:0;transition:opacity .25s;max-width:90vw}#toast.show{opacity:1}#pauseBadge{position:fixed;left:50%;top:28%;transform:translateX(-50%);padding:20px 35px;border-radius:10px;background:#061426bb;letter-spacing:.2em;text-align:center;z-index:3}#pauseBadge small{display:block;font-size:12px;letter-spacing:0;margin-top:10px;opacity:.7}#panel{position:fixed;right:18px;top:85px;bottom:18px;width:370px;max-width:calc(100% - 28px);z-index:10;background:#071725f2;border:1px solid #9fc9e431;backdrop-filter:blur(24px);border-radius:13px;display:flex;flex-direction:column;box-shadow:0 15px 60px #02101f88;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:22px 23px 16px}.panel-head small{font-size:10px;letter-spacing:.16em;color:#8cabbf}.panel-head h1{font-size:24px;font-weight:400;margin:6px 0 0}.panel-head>button{border:0;font-size:23px;background:transparent;padding:4px 10px}.tabs{display:flex;padding:0 17px 14px;gap:4px;border-bottom:1px solid #9dc3e21c}.tabs button{flex:1;border:0;background:transparent;color:#91abba}.tabs button.active{background:#244058;color:#f7df78}#controls{padding:8px 23px 15px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:#355066 transparent}.control-group h2{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:#86a5ba;font-weight:400;margin:23px 0 18px}.control-row{margin-bottom:18px}.control-row label{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:9px;gap:10px}.control-row output{font-size:12px;color:#f7df86;font-variant-numeric:tabular-nums}.control-row input[type=range]{width:100%;height:3px;accent-color:#f2d468;cursor:pointer;display:block;margin:15px 0}.control-row select{width:100%;color:#e0eff9;background:#163047;border:1px solid #60829a55;border-radius:6px;padding:10px;font-size:14px}.control-row input[type=color]{height:27px;width:54px;padding:0;border:0;background:transparent;cursor:pointer}.control-row input[type=checkbox]{accent-color:#edcf55;width:18px;height:18px}.panel-footer{padding:16px 20px;border-top:1px solid #a2c9e324;display:flex;flex-wrap:wrap;gap:8px}.panel-footer .primary{width:100%}.primary{background:#e7cf67;color:#13212a;font-weight:600;border-color:#e7cf67}.primary:hover{background:#f7e49a;color:#101a22}.panel-footer>button:not(.primary){flex:1;font-size:12px}.panel-footer p{font-size:11px;color:#90acbe;margin:3px 0;line-height:1.4}dialog{background:#0b2034f5;color:#edf6fc;border:1px solid #9ac1e044;border-radius:15px;width:530px;max-width:92vw;max-height:90vh;padding:8px 25px 25px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#02101a77;backdrop-filter:blur(4px)}dialog .panel-head{padding:10px 0}dialog h2{font-size:25px;font-weight:400}dialog p{font-size:14px;line-height:1.65;color:#a9c0d0}dialog dl{display:grid;grid-template-columns:150px 1fr;font-size:14px;gap:14px;margin:24px 0}dialog dt{color:#ffe58a}dialog dd{margin:0;color:#d0dfeb}dialog .note{font-size:12px;color:#8daabd}dialog .primary{width:100%}#loading{position:fixed;inset:0;z-index:30;background:radial-gradient(ellipse at 50% 80%,#17456b,#061423 75%);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s}.load-brand{font-weight:bold;font-size:28px;letter-spacing:.16em}.load-brand span{display:block;color:#f6d65d;font-weight:400;font-size:12px;text-align:center;letter-spacing:.65em;margin-top:15px}.load-line{margin-top:50px;width:250px;height:2px;background:#ffffff20}.load-line i{display:block;background:#f6d65d;height:2px;width:5%;transition:width .4s}#loadText{font-size:14px;color:#a9c3d5;margin-top:20px}#loadDetail{font-size:11px;color:#638299;max-width:80vw;text-align:center}.touch-controls{display:none}.hide-hud .hud{opacity:0;pointer-events:none}.hide-hud .hud button{pointer-events:none}@media(max-width:900px){.brand strong{font-size:14px}.top{padding:18px}.tools>span,.tools button span,.compass,.hints span{display:none}.bottom{padding:18px}.flightstate{width:110px;font-size:10px}.engine{width:100px}.cameras button{font-size:11px;padding:9px 7px}.cameras b{display:none}.side{min-width:70px}.side.left{left:15px}.side.right{right:15px}.side strong{font-size:30px}.hints{bottom:87px;font-size:10px}.heading>strong{font-size:25px}.tools button{padding:7px 10px}.sub{font-size:9px}}@media(pointer:coarse){.touch-controls{display:flex;bottom:135px;left:25px;right:25px;justify-content:space-between;align-items:flex-end}.touch-controls button{touch-action:none;padding:12px 19px;user-select:none;background:#10283d66}.touch-controls>div:first-child{text-align:center}.touch-controls>div:last-child{display:flex;flex-direction:column;gap:8px}.hints{display:none}}@media(max-width:600px){.heading{top:65px}.side{top:36%}.flightstate,.engine{display:none}.bottom{justify-content:center}.brand strong{font-size:12px}.sub{font-size:8px}.cameras button{padding:10px}.hints{display:none}dialog dl{grid-template-columns:105px 1fr;font-size:12px}#panel{top:65px}#controls{padding:8px 18px}}
.side{padding:15px 13px;border-radius:8px;background:linear-gradient(90deg,#081b3038,#081b3005);text-shadow:0 1px 4px #041b2ecc}.side.right{background:linear-gradient(270deg,#081b3038,#081b3005)}#pauseBadge{top:100px;font-size:13px;padding:12px 24px}#pauseBadge small{font-size:11px;margin-top:7px}

.tabs{flex-wrap:wrap;gap:3px;padding:0 14px 12px}.tabs button{flex:1 0 28%;font-size:12px;padding:9px 7px}.panel-note{font-size:12px;line-height:1.6;color:#a6bfce;margin:18px 0}.camera-actions{display:flex;flex-wrap:wrap;gap:7px}.camera-actions button{flex:1 0 45%;font-size:12px}.camera-actions button:first-child{flex-basis:100%;border-color:#e7cf6770;color:#ffe792}#audioBtn{font-size:12px}#audioBtn[aria-pressed=true]{border-color:#e7cf6780;color:#ffe792}#timeLabel{font-variant-numeric:tabular-nums;color:#f5d883}.tools{flex-wrap:wrap;justify-content:flex-end}@media(max-width:600px){#audioBtn{font-size:10px;padding:8px 5px}.tools{gap:4px;max-width:210px}.tools button{padding:7px 8px}.brand strong{font-size:11px}.top{padding:14px 10px}#panel{top:69px}}

.control-row input:disabled{opacity:.35;cursor:not-allowed}

.flight-controls{position:relative;flex:none}
.timebar{--timebar-width:420px;--timebar-accent:#f5d883;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);width:min(var(--timebar-width),calc(100vw - 36px));padding:10px 16px 9px;border:1px solid #d7e8f624;border-radius:8px;background:#060f18b8;backdrop-filter:blur(14px);pointer-events:auto;user-select:none;text-shadow:none;transition:border-color .15s,background .15s}
.timebar:hover,.timebar.scrubbing{background:#07121ce6;border-color:#c9ddea57}
.timebar-heading{display:flex;align-items:center;gap:12px;height:16px;font-size:9px;letter-spacing:.14em;color:#c7d4de}
.timebar-heading label{cursor:ew-resize}.timebar-heading output{margin-left:auto;color:var(--timebar-accent);font-size:15px;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.timebar-status{margin-left:auto;font-size:8px;letter-spacing:.09em;color:#9bb0bd}.timebar-heading output{margin-left:0}
.timebar-track{position:relative;height:33px;margin:1px 1px 0}
.timebar-ticks{position:absolute;inset:0 1px 4px;pointer-events:none}
.timebar-ticks i{position:absolute;bottom:0;width:1px;height:7px;background:#dce7ed70}
.timebar-ticks i.half{height:11px;background:#dce7ed80}.timebar-ticks i.hour{height:17px;background:#dce7ed9c}.timebar-ticks i.major{height:24px;background:#e7f0f5d1}
#timeScrubber{appearance:none;-webkit-appearance:none;display:block;position:absolute;top:-5px;left:0;margin:0;padding:0;width:100%;height:44px;border:0;border-radius:2px;background:transparent;cursor:ew-resize;touch-action:none;pointer-events:auto;accent-color:var(--timebar-accent)}
#timeScrubber::-webkit-slider-runnable-track{height:30px;background:transparent}
#timeScrubber::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:3px;height:32px;margin-top:-1px;border:0;border-radius:2px;background:var(--timebar-accent);box-shadow:0 0 9px color-mix(in srgb,var(--timebar-accent) 50%,transparent)}
#timeScrubber::-moz-range-track{height:30px;background:transparent}
#timeScrubber::-moz-range-thumb{width:3px;height:32px;border:0;border-radius:2px;background:var(--timebar-accent);box-shadow:0 0 9px color-mix(in srgb,var(--timebar-accent) 50%,transparent)}
.timebar-labels{display:flex;justify-content:space-between;color:#a3b3bd;font-size:9px;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.has-timebar .hints{bottom:181px}
.hide-hud .timebar,.hide-hud #timeScrubber{pointer-events:none}
@media(max-width:900px){.has-timebar .hints{bottom:164px}}
@media(max-width:600px){.timebar{padding:9px 13px 8px;bottom:calc(100% + 10px)}.timebar-heading{gap:8px}.timebar-status{font-size:7px}}
@media(pointer:coarse){.has-timebar .touch-controls{bottom:180px}}
