*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0b0e14;--panel: #141924;--panel2: #1a2130;--line: #263046;--text: #dde4f0;--dim: #7d89a0;--accent: #ffb03a;--accent2: #4fd1ff;--good: #5ee08a;--bad: #ff6b5e;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--sans: -apple-system, "Helvetica Neue", Segoe UI, sans-serif}html,body{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}body{background:var(--bg);color:var(--text);font-family:var(--sans)}button{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.screen{position:fixed;top:0;right:0;bottom:0;left:0}.screen[hidden]{display:none}.vab-wrap{display:flex;flex-direction:column;height:100%}.vab-header{display:flex;align-items:baseline;gap:14px;padding:12px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#161c29,#10141e)}.vab-header h1{font-size:18px;letter-spacing:3px;font-weight:800}.vab-header h1 span{color:var(--accent)}.vab-header .sub{color:var(--dim);font-size:12px;letter-spacing:1px}.vab-body{display:flex;flex:1;min-height:0}.palette{width:235px;overflow-y:auto;padding:12px;border-right:1px solid var(--line);background:var(--panel)}.palette h3{font-size:10px;letter-spacing:2px;color:var(--dim);text-transform:uppercase;margin:14px 0 6px 2px}.palette h3:first-child{margin-top:0}.part-btn{display:flex;align-items:center;gap:10px;width:100%;padding:7px 9px;margin-bottom:6px;text-align:left;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .12s,transform .08s,background .12s}.part-btn:hover{border-color:var(--accent);background:#212a3d}.part-btn:active{transform:scale(.97)}.part-btn canvas{flex:0 0 auto;border-radius:4px}.part-btn .pname{font-size:12px;font-weight:600}.part-btn .pinfo{font-size:10px;color:var(--dim);margin-top:2px}.build-area{flex:1;position:relative;min-width:0}.build-area canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer}.build-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:11px;color:var(--dim);letter-spacing:.5px;background:#0b0e14b3;padding:5px 12px;border-radius:20px;pointer-events:none;white-space:nowrap}.statsbar{width:265px;overflow-y:auto;padding:14px;border-left:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:12px}.statsbar h3{font-size:10px;letter-spacing:2px;color:var(--dim);text-transform:uppercase}.readouts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.readout{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.readout .lbl{font-size:9px;letter-spacing:1.5px;color:var(--dim);text-transform:uppercase}.readout .val{font-family:var(--mono);font-size:16px;margin-top:2px}.stage-row{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:12px}.stage-row .srname{font-weight:700;font-size:11px;letter-spacing:1px;color:var(--accent2)}.stage-row .srstats{font-family:var(--mono);font-size:12px;margin-top:3px;display:flex;justify-content:space-between}.twr-low{color:var(--bad)}.twr-ok{color:var(--good)}.dv-note{font-size:10px;color:var(--dim);line-height:1.5}.btnrow{display:flex;gap:8px;flex-wrap:wrap}.btn{padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:border-color .12s,transform .08s}.btn:hover{border-color:var(--accent2)}.btn:active{transform:scale(.96)}.launch-btn{margin-top:auto;padding:16px;border:none;border-radius:10px;background:linear-gradient(180deg,#ffb844,#f08514);color:#241300;font-size:17px;font-weight:900;letter-spacing:3px;cursor:pointer;box-shadow:0 4px 24px #ff962859;transition:transform .1s,box-shadow .15s,filter .15s}.launch-btn:hover{transform:translateY(-1px);box-shadow:0 6px 32px #ff962880}.launch-btn:active{transform:translateY(1px)}.launch-btn:disabled{filter:grayscale(1) brightness(.6);cursor:not-allowed;box-shadow:none}#flight{background:#000}#flight canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hud-top{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;gap:8px;pointer-events:none}.hud-box{background:#0a0e16b8;border:1px solid rgba(80,100,140,.35);border-radius:8px;padding:6px 12px;min-width:92px;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hud-box .lbl{font-size:8px;letter-spacing:2px;color:var(--dim);text-transform:uppercase}.hud-box .val{font-family:var(--mono);font-size:15px;margin-top:1px;white-space:nowrap}.hud-left{position:absolute;left:14px;bottom:14px;width:210px;background:#0a0e16b8;border:1px solid rgba(80,100,140,.35);border-radius:10px;padding:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hud-left .row{display:flex;justify-content:space-between;font-size:11px;margin-bottom:5px}.hud-left .row .lbl{color:var(--dim);letter-spacing:1px}.hud-left .row .val{font-family:var(--mono)}.bar{height:8px;border-radius:4px;background:#232a3a;overflow:hidden;margin:3px 0 9px}.bar>div{height:100%;border-radius:4px;transition:width .1s linear}.bar-fuel>div{background:linear-gradient(90deg,#38b26a,#7ce49a)}.bar-thr>div{background:linear-gradient(90deg,#f08514,#ffcf6a)}.stage-hint{font-size:10px;color:var(--accent);letter-spacing:1px;text-align:center;margin-top:4px}.hud-help{position:absolute;right:14px;bottom:14px;background:#0a0e16b8;border:1px solid rgba(80,100,140,.35);border-radius:10px;padding:10px 14px;font-size:10.5px;color:var(--dim);line-height:1.75;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hud-help b{color:var(--text);font-family:var(--mono);font-weight:600}.toasts{position:absolute;top:84px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{background:#0e1420e0;border:1px solid rgba(90,120,170,.4);padding:7px 18px;border-radius:20px;font-size:13px;animation:toastlife 4s forwards}.toast.big{font-size:20px;font-weight:800;letter-spacing:2px;color:var(--accent);border-color:var(--accent);padding:12px 28px;box-shadow:0 0 40px #ffb03a4d;animation-duration:6s}.toast.bad{color:var(--bad);border-color:var(--bad)}@keyframes toastlife{0%{opacity:0;transform:translateY(-8px)}6%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:0}}.touch-ui{display:none}body.coarse .touch-ui{display:block}body.coarse .hud-help{display:none}body.coarse .hud-left{bottom:116px}.tc-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;min-height:58px;border-radius:14px;background:#0d121ed1;color:var(--text);border:1px solid rgba(95,115,155,.5);font-size:21px;font-weight:700;cursor:pointer;touch-action:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tc-btn small{font-size:8px;letter-spacing:1.5px;color:var(--dim);margin-top:1px;font-weight:700}.tc-btn:active{background:#2a3550;transform:scale(.94)}.tc-col{position:absolute;top:76px;right:12px;display:flex;flex-direction:column;gap:9px}.tc-steer{position:absolute;bottom:16px;left:16px;display:flex;gap:14px}.tc-hold{min-width:76px;min-height:76px;font-size:28px}.tc-main{position:absolute;bottom:16px;right:84px;display:flex;align-items:flex-end;gap:14px}.tc-stage{min-width:108px;min-height:76px;background:linear-gradient(180deg,#ffb844,#f08514);color:#241300;font-size:16px;letter-spacing:2px;border:none;box-shadow:0 4px 20px #ff962859}.tc-stage:active{background:linear-gradient(180deg,#ffca6a,#ff9a2a)}.tc-pulse{animation:tcpulse 1.1s ease-in-out infinite}@keyframes tcpulse{0%,to{box-shadow:0 4px 20px #ff962859}50%{box-shadow:0 4px 34px #ffb03ad9}}.tc-thr{display:flex;flex-direction:column;align-items:center;gap:5px}.tc-thr>small{font-size:8px;letter-spacing:1.5px;color:var(--dim);font-weight:700}.tc-thrstrip{position:relative;width:50px;height:150px;border-radius:12px;background:#0d121ed1;border:1px solid rgba(95,115,155,.5);overflow:hidden;touch-action:none;cursor:pointer}.tc-thrfill{position:absolute;left:0;right:0;bottom:0;height:100%;background:linear-gradient(180deg,#ffcf6a,#f08514)}@media(max-width:1180px){.palette{width:200px}.statsbar{width:236px}.hud-top{gap:5px}.hud-box{min-width:76px;padding:5px 8px}.hud-box .val{font-size:13px}}@media(max-width:860px){.palette{width:172px}.statsbar{width:210px}.part-btn .pinfo{display:none}.hud-box:nth-child(5){display:none}}.endcard{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#05070c8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.endcard .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px 36px;text-align:center;max-width:420px}.endcard h2{font-size:22px;letter-spacing:2px;margin-bottom:10px}.endcard p{color:var(--dim);font-size:13px;line-height:1.6;margin-bottom:18px;font-family:var(--mono)}
