:root{--bg:#060814;--panel:#0e1426eb;--line:#a0beff2e;--text:#e8eefc;--muted:#9aa8c7;--accent:#ffd166;--good:#7dff9a;--bad:#ff6b6b;--orange:#ff8a3d;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none;margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#view{display:block;position:fixed;inset:0}#screen{z-index:10;touch-action:pan-y;position:fixed;inset:0;overflow:auto}#screen[hidden],[hidden]{display:none!important}#screen:has(>.panel){background:#03050c8c;place-items:center;padding:16px;display:grid}h1,h2,h3{margin:0;line-height:1.15}.btn{appearance:none;border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#1e2846d9;border-radius:12px;min-height:46px;padding:12px 18px;font-weight:600;transition:transform 80ms,background .15s}.btn:hover{background:#2d3a62f2}.btn:active{transform:scale(.97)}.btn:focus-visible,.ctl:focus-visible,.part-btn:focus-visible,.mission:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:default}.btn.primary{color:#20160a;background:linear-gradient(#ffd166,#f5a524);border-color:#0000}.btn.primary:hover{background:linear-gradient(#ffdc85,#f7b342)}.btn.small{min-height:38px;padding:8px 12px;font-size:14px}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:#ffb0b0;border-color:#ff6b6b80}.btn.toggle[aria-pressed=true]{background:#ffd1662e;border-color:#ffd16699}.menu{flex-direction:column;gap:10px;margin-top:18px;display:flex}.fine{color:var(--muted);margin-top:18px;font-size:13px}.title{text-align:center;min-height:100%;padding:calc(24px + var(--safe-t)) 16px calc(36px + var(--safe-b));background:linear-gradient(#06081426 0%,#06081433 40%,#060814eb 78%);flex-direction:column;justify-content:flex-end;align-items:center;display:flex}.title h1{letter-spacing:-.02em;background:linear-gradient(#fff,#ffd166);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(40px,9vw,72px)}.title .tag{color:var(--muted);max-width:420px;margin:8px 0 0}.title .menu{width:min(320px,100%)}.page{max-width:760px;min-height:100%;padding:calc(14px + var(--safe-t)) 16px calc(28px + var(--safe-b));background:#060814e0;margin:0 auto}.page.narrow{max-width:620px}.page-top{align-items:center;gap:8px;margin:0 -8px 14px;display:flex}.page h3{color:var(--accent);margin:20px 0 6px;font-size:16px}.page p{margin:6px 0}.brief{font-size:17px}.objs{margin:4px 0;padding-left:22px}.missions{flex-direction:column;gap:10px;display:flex}.mission{appearance:none;text-align:left;border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#161e38e6;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;display:flex}.mission:hover:not(:disabled){background:#222e54f2}.mission:disabled{opacity:.45;cursor:default}.mission .m-no{width:36px;height:36px;color:var(--accent);background:#ffd16626;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.mission.done .m-no{color:var(--good);background:#7dff9a2e}.mission .m-text{flex-direction:column;flex:1;min-width:0;display:flex}.mission small{color:var(--muted)}.mission .m-best{color:var(--muted);font-size:13px}.chips{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.chip{border:1px solid var(--line);background:#1e2846e6;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:13px;display:inline-flex}.howto-sec{border-top:1px solid var(--line);margin-top:14px;padding-top:4px}.keys{border-collapse:collapse;font-size:14px}.keys td{padding:4px 12px 4px 0}kbd{border:1px solid var(--line);background:#ffffff14;border-radius:6px;padding:2px 6px;font:600 12px ui-monospace,monospace}.panel{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:18px;width:min(400px,100%);max-height:100%;padding:22px;animation:.18s ease-out pop;overflow:auto;box-shadow:0 20px 60px #00000080}.panel p{color:var(--muted);margin:10px 0 0}.panel .chips{justify-content:center}@keyframes pop{0%{opacity:0;transform:scale(.94)}}#toast{left:50%;top:calc(86px + var(--safe-t));z-index:30;border:1px solid var(--line);text-align:center;pointer-events:none;background:#0e1426eb;border-radius:12px;max-width:min(92vw,520px);padding:9px 16px;font-size:14px;font-weight:600;animation:.18s ease-out toast-in;position:fixed;transform:translate(-50%)}#toast.toast-good{color:#c9ffd6;border-color:#7dff9a80}#toast.toast-bad{color:#ffc4c4;border-color:#ff6b6b99}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-6px)}}.builder{padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);background:radial-gradient(at 50% 30%,#18213c,#080b18 70%);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.b-top{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:8px 10px;display:flex}.b-title{flex-direction:column;flex:1;min-width:0;display:flex}.b-title span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.b-body{grid-template-columns:1fr minmax(300px,380px);min-height:0;display:grid}.b-grid{min-width:0;min-height:0;position:relative}.b-canvas{touch-action:none;cursor:crosshair;position:absolute;inset:0}.b-side{border-left:1px solid var(--line);touch-action:pan-y;flex-direction:column;gap:10px;min-height:0;padding:10px 12px;display:flex;overflow:auto}.b-palette{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;display:grid}.part-btn{appearance:none;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#161e38d9;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-height:64px;padding:6px 4px;font:600 11px system-ui,sans-serif;display:flex}.part-btn span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.part-btn[aria-pressed=true]{border-color:var(--accent);background:#ffd16629}.erase-icon{width:36px;height:36px;color:var(--bad);place-items:center;font-size:20px;display:grid}.b-info{color:var(--muted);background:#ffffff08;border-radius:10px;padding:8px 10px;font-size:13px}.b-info strong{color:var(--text);font-size:14px}.b-info p{margin:2px 0 0}.b-info .facts{color:#c9d4ee}.stat-head{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.stat-head div{background:#ffffff0a;border-radius:10px;flex-direction:column;padding:6px 8px;display:flex}.stat-head small{color:var(--muted);font-size:11px}.stat-head b{font-size:15px}.bad{color:var(--bad)}.stages{flex-direction:column;gap:4px;margin-top:8px;display:flex}.stage-row{grid-template-columns:18px 1fr auto auto;align-items:center;gap:8px;font-size:12px;display:grid}.stage-no{color:var(--orange);font-weight:700}.stage-bar{background:#ffffff12;border-radius:4px;height:8px;overflow:hidden}.stage-bar span{background:linear-gradient(90deg, var(--orange), var(--accent));height:100%;display:block}.stage-twr{color:var(--muted)}.stage-twr.bad{color:var(--bad)}.guide{color:var(--muted);margin:8px 0 0;font-size:11px}.notes{margin:8px 0 0;padding-left:18px;font-size:12px}.notes .err{color:#ffb0b0}.notes .warn{color:#ffd9a0}.b-bottom{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.b-launch{min-width:120px;margin-left:auto}.b-examples{bottom:calc(64px + var(--safe-b));z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:6px;max-width:280px;padding:12px;display:flex;position:absolute;left:10px}.b-examples small{color:var(--muted)}@media (max-width:760px){.b-body{grid-template-rows:minmax(220px,1fr) auto;grid-template-columns:1fr}.b-side{border-left:0;border-top:1px solid var(--line);max-height:42vh;padding:8px 10px}.b-palette{touch-action:pan-x;padding-bottom:4px;display:flex;overflow-x:auto}.part-btn{flex:none;width:70px}.b-info{display:none}.stat-head b{font-size:14px}.b-bottom .btn.small{padding:8px 10px}.b-launch{flex:1;min-width:0}.b-bottom{flex-wrap:nowrap}.b-bottom .lbl{display:none}}.hud{z-index:5;pointer-events:none;padding:calc(8px + var(--safe-t)) calc(8px + var(--safe-r)) calc(10px + var(--safe-b)) calc(8px + var(--safe-l));position:fixed;inset:0}.hud button,.hud .thr-track{pointer-events:auto}.hud-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.readout{font-variant-numeric:tabular-nums;background:#060a169e;border-radius:12px;grid-template-columns:auto auto;gap:2px 12px;min-width:170px;padding:8px 12px;display:grid}.readout div{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.readout small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.readout b{font-size:15px}.readout .vs{color:var(--muted);font-size:12px}.readout .orbit-read{grid-column:1/-1}.readout .orbit-read b{color:var(--accent);margin-right:6px}.readout .where{color:var(--muted);grid-column:1/-1;font-size:12px;font-weight:500}.objective{text-align:center;background:#060a168c;border-radius:12px;flex-direction:column;flex:1;align-items:center;max-width:420px;padding:6px 12px;display:flex}.objective .mname{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.objective .obj{font-size:14px}.hud-corner{align-items:center;gap:6px;display:flex}.warp{background:#060a169e;border-radius:12px;align-items:center;gap:4px;padding:3px;display:flex}.warp-label{text-align:center;font-variant-numeric:tabular-nums;min-width:40px}.ctl{appearance:none;color:var(--text);cursor:pointer;touch-action:none;background:#10182eb8;border:1px solid #c8d7ff40;border-radius:14px;min-width:44px;min-height:44px;padding:6px 10px;font:600 14px system-ui,sans-serif}.ctl.small{min-width:38px;min-height:38px;padding:4px 8px}.ctl:active,.ctl.held{background:#ffd1664d}.ctl:disabled{opacity:.35}.hud-left{left:calc(10px + var(--safe-l));bottom:calc(12px + var(--safe-b));flex-direction:column;gap:8px;display:flex;position:absolute}.hud-left .row{gap:8px;display:flex}.turns{gap:10px;display:flex}.ctl.turn{border-radius:50%;width:76px;height:76px;font-size:30px}.ctl.assist{min-width:120px}.ctl.assist[data-mode=pro]{color:var(--good)}.ctl.assist[data-mode=retro]{color:#ff9e9e}.ctl.assist[data-mode=free]{color:var(--muted)}.ctl[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.hud-right{right:calc(10px + var(--safe-r));bottom:calc(12px + var(--safe-b));align-items:flex-end;gap:10px;display:flex;position:absolute}.hud-right .col{flex-direction:column;gap:8px;display:flex}.ctl.stage{background:#3c1e0abf;border-color:#ff8a3d99;border-radius:50%;width:88px;height:88px;font-size:16px}.ctl.stage.nudge{background:#ff8a3d73;animation:.9s ease-in-out infinite nudge}@keyframes nudge{50%{box-shadow:0 0 0 8px #ff8a3d40}}.ctl.chute.on{color:#ffb0b0;border-color:#e5484d99}.throttle{grid-template-rows:auto 1fr auto;grid-template-columns:auto 10px;place-items:center;gap:6px;display:grid}.throttle>.ctl:first-child{grid-area:1/1}.thr-track{touch-action:none;cursor:ns-resize;background:#10182eb8;border:1px solid #c8d7ff40;border-radius:14px;grid-area:2/1;width:54px;height:min(190px,30vh);position:relative;overflow:hidden}.thr-fill{opacity:.85;background:linear-gradient(#ffd166,#ff8a3d);position:absolute;bottom:0;left:0;right:0}.thr-label{text-align:center;text-shadow:0 1px 2px #000;font-size:12px;position:absolute;top:6px;left:0;right:0}.throttle>.ctl:nth-of-type(2){grid-area:3/1}.fuel{background:#ffffff14;border-radius:4px;grid-area:2/2;width:8px;height:min(190px,30vh);position:relative;overflow:hidden}.fuel-fill{background:var(--orange);position:absolute;bottom:0;left:0;right:0}.fuel-fill.low{background:var(--bad)}@media (max-width:760px){.readout{grid-template-columns:auto;gap:0 10px;min-width:0;padding:6px 9px}.readout b{font-size:13px}.readout small{font-size:10px}.objective{left:50%;top:calc(100px + var(--safe-t));width:min(92vw,420px);padding:4px 10px;position:absolute;transform:translate(-50%)}.objective .obj{font-size:13px}.ctl.turn{width:68px;height:68px}.ctl.stage{width:76px;height:76px}.ctl.assist{min-width:0}.hud-left .zoom{display:none}#toast{top:calc(142px + var(--safe-t))}}@media (max-height:520px){.thr-track,.fuel{height:34vh}.ctl.turn{width:60px;height:60px}.ctl.stage{width:68px;height:68px}}
