:root{font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;color:#33414b;background:#eef2f4;font-synthesis:none;--ink:#33414b;--red:#c85a2a;--paper:#eef2f4;--line:#33414b35;--muted:#33414b99}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;overflow:hidden;height:100vh;height:100dvh}button,select,input{font:inherit}button{cursor:pointer;color:inherit}button:hover{background-color:#dde5e9}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:3px}
#scene{position:fixed;inset:0;width:100%;height:100%;outline:none}main{position:fixed;inset:0;pointer-events:none}main button{pointer-events:auto}#hud{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
footer{position:absolute;bottom:18px;right:20px}.instruments{display:flex;gap:21px;background:#eef2f499;padding:9px 13px}.instruments>div{min-width:60px}.instruments strong{display:block;font:24px/1 ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-variant-numeric:tabular-nums;letter-spacing:-1px}.instruments span{display:block;font-size:9px;color:var(--muted);margin-top:4px}.collective{position:relative;padding-right:10px}.collective>i{position:absolute;right:0;top:0;bottom:0;width:3px;background:#33414b60}.collective>i:after{content:'';position:absolute;left:-2px;right:-2px;top:50%;border-top:1px solid var(--ink)}.collective em{position:absolute;bottom:0;width:100%;height:0;background:var(--red)}
.nav{position:absolute;left:14px;bottom:14px;background:#eef2f480;padding:4px}#map{width:108px;height:108px;display:block}.menu-toggle{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);background:transparent;border:0;padding:5px 9px;color:var(--ink);font-size:11px;opacity:.55}.menu-toggle:hover{opacity:1;background:#eef2f480}
.mission-live{position:absolute;top:26px;left:20px;width:140px}.mission-live strong{font-size:12px;font-weight:500}.progress{height:2px;background:#33414b25;margin-top:7px}#progress-fill{height:2px;background:var(--red);width:0}.mission-live.completed #progress-fill{background:#3e8276}
#notification{position:absolute;top:85px;left:50%;transform:translateX(-50%);max-width:min(440px,90vw);padding:10px 14px;background:#eef2f4ee;border-left:2px solid var(--red);font-size:13px;line-height:1.5;z-index:20;opacity:0;transition:opacity .15s}#notification.show{opacity:1}
dialog{margin:auto;border:0;border-radius:1px;background:var(--paper);color:var(--ink);width:min(570px,calc(100vw - 28px));max-height:86vh;padding:0;box-shadow:0 12px 60px #33414b25}dialog::backdrop{background:#33414b30}.dialog-head{padding:20px 22px 14px;display:flex;align-items:center;justify-content:space-between}h2{font-size:20px;font-weight:600;letter-spacing:-.6px;margin:0}.close{background:none;border:0;font-size:23px;padding:0 5px}.setup-scroll{padding:0 22px 20px;max-height:calc(86vh - 110px);overflow:auto;scrollbar-color:#89afbf transparent}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:18px;position:sticky;top:0;background:var(--paper);z-index:1}.tabs button{background:none;font-size:13px;color:var(--muted);padding:12px 0;border:0;border-bottom:2px solid transparent}.tabs .active{border-color:var(--red);color:var(--red)}
p{font-size:13px;line-height:1.55;margin:15px 0}.muted,.preset-note{font-size:12px;color:var(--muted)}h3{font-size:13px;font-weight:600;margin:22px 0 10px}.binding-row,.slider-row,.select-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;border-bottom:1px solid #33414b45;font-size:13px}.binding-row button{background:#eef2f4;border:1px solid var(--line);padding:4px 10px;min-width:76px;font-size:13px}.slider-row>span{flex:1}.slider-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4}.slider-row input{width:120px;accent-color:var(--red);height:12px}.slider-row output{font-size:12px;text-align:right;min-width:55px;font-variant-numeric:tabular-nums}.select-row select{color:var(--ink);background:#eef2f4;border:1px solid var(--line);font-size:13px;padding:7px;max-width:250px}.check{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:13px}.check input{accent-color:var(--red)}
.secondary{background:#eef2f4;border:1px solid var(--line);font-size:12px;padding:8px 12px;margin:9px 6px 0 0}.secondary span{margin-left:12px;color:var(--muted)}.fly{display:block;width:100%;background:var(--red);color:#fff;border:0;padding:12px;font-size:15px;margin-top:22px}.fly:hover{background:#a6421a}.drag-flight{display:block;background:none;border:0;padding:0;font-size:12px;text-decoration:underline;text-underline-offset:3px;margin:15px auto 0}.reference-tests{margin-bottom:4px}a{font-size:12px;color:var(--ink);text-underline-offset:3px}.dialog-foot{padding:13px 22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;font-size:11px;color:var(--muted)}.project-links{display:flex;flex-wrap:wrap;gap:8px 16px}.project-links a{font-size:11px;color:var(--muted)}.project-links a:hover{color:var(--ink)}#save-status:empty{display:none}
@media(max-width:720px){footer{left:auto;right:12px;bottom:18px}.instruments{gap:10px;padding:7px 9px}.instruments>div{min-width:45px}.instruments strong{font-size:21px}.nav{bottom:80px;left:12px}#map{width:80px;height:80px}.menu-toggle{left:15px;transform:none}.slider-row input{width:85px}.tabs{gap:18px}.select-row select{max-width:210px}.mission-live{top:18px;left:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.binding-row>span{flex:1}.binding-row button{font-family:inherit;font-size:12px}details{margin-top:14px}summary{cursor:pointer;color:var(--muted);font-size:12px;padding:6px 0}#calibration>a{display:inline-block;margin:12px 0 0 12px}.instruments,.mission-live,#notification,.menu-toggle{font-family:inherit}.mission-live strong{font-size:11px}#notification{font-size:12px}.menu-toggle{font-size:10px}
