@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Roboto+Mono:wght@300;400;500;700&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--c-bg-deepest:#04060a;--c-bg-dark:#070d18;--c-bg-panel:#0a1220;--c-bg-card:#0d1626;--c-bg-hover:#0d1a2d;--c-bg-selected:#0f2d50;--c-border-faint:#0d1520;--c-border:#1e293b;--c-border-bright:#263040;--c-text-dim:#1e293b;--c-text-muted:#334155;--c-text-subtle:#475569;--c-text-mid:#64748b;--c-text-base:#94a3b8;--c-text-bright:#e2e8f0;--c-cyan:#22d3ee;--c-cyan-dim:#22d3ee1f;--c-green:#22c55e;--c-amber:#f59e0b;--c-red:#ef4444;--c-yellow:#ffe040;--c-font-mono:"Roboto Mono", "Courier New", monospace;--c-font-ui:"Inter", "Segoe UI", system-ui, sans-serif}html,body{background:var(--c-bg-deepest);width:100vw;height:100vh;color:var(--c-text-base);font-family:var(--c-font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default;-webkit-user-select:none;user-select:none;font-size:10px;overflow:hidden}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--c-bg-dark)}::-webkit-scrollbar-thumb{background:#1e3a5f;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--c-cyan)}input[type=range]{appearance:none;background:var(--c-border-bright);cursor:pointer;border-radius:1px;outline:none;height:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--c-cyan);cursor:pointer;border-radius:50%;width:10px;height:10px;transition:transform .1s;box-shadow:0 0 4px #22d3ee66}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.3)}input[type=range]::-moz-range-thumb{background:var(--c-cyan);cursor:pointer;border:none;border-radius:50%;width:10px;height:10px}.vp-canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.drag-over{outline-offset:-2px;outline:2px solid var(--c-cyan)!important}.tab-bar{border-bottom:1px solid var(--c-border);background:var(--c-bg-dark);flex-shrink:0;display:flex}.tab-btn{font-size:9px;font-family:var(--c-font-ui);color:var(--c-text-mid);cursor:pointer;white-space:nowrap;letter-spacing:.2px;background:0 0;border:none;border-bottom:2px solid #0000;padding:5px 10px;font-weight:500;transition:color .1s,border-color .1s}.tab-btn:hover{color:var(--c-text-base)}.tab-btn.active{color:var(--c-cyan);border-bottom-color:var(--c-cyan);background:#22d3ee0a}.prow{border-bottom:1px solid var(--c-border-faint);align-items:center;gap:4px;min-height:22px;padding:3px 8px;display:flex}.prow:hover{background:var(--c-bg-hover)}.plbl{color:var(--c-text-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-family:var(--c-font-ui);flex:0 0 90px;overflow:hidden}.pinput{border:1px solid var(--c-border-bright);color:var(--c-text-base);font-family:var(--c-font-mono);background:#060b14;border-radius:2px;outline:none;flex:1;min-width:0;height:18px;padding:1px 5px;font-size:9.5px;transition:border-color .1s}.pinput:focus{border-color:var(--c-cyan);color:var(--c-text-bright)}.pinput:hover{border-color:#334155}.punit{color:var(--c-text-muted);font-size:8.5px;font-family:var(--c-font-mono);flex:none;min-width:24px}.pgroup-title{color:var(--c-text-muted);letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--c-border-faint);background:var(--c-bg-dark);margin-top:2px;padding:4px 8px 2px;font-size:8px;font-weight:700}.coil-btn{color:var(--c-text-mid);cursor:pointer;font-size:8px;font-family:var(--c-font-mono);background:#1c2a3e;border:1px solid #263040;border-radius:2px;padding:3px 2px;transition:all .1s}.coil-btn.on{color:var(--c-cyan);background:#22d3ee26;border-color:#22d3ee66}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--c-bg-panel);border:1px solid #1e3a5f;border-radius:2px;flex-direction:column;max-height:88vh;animation:.18s slideUp;display:flex;overflow:hidden;box-shadow:0 24px 80px #000000b3,0 0 0 1px #22d3ee14}#toast-root{z-index:2000;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:fixed;bottom:28px;right:16px}.toast{font-size:11px;font-family:var(--c-font-ui);pointer-events:auto;border-radius:2px;max-width:320px;padding:7px 14px;animation:.2s toastIn,.3s 2.9s forwards toastOut}.toast.info{color:#94a3b8;background:#1e3a5f;border:1px solid #22d3ee44}.toast.success{color:#86efac;background:#14532d;border:1px solid #22c55e44}.toast.warn{color:#fcd34d;background:#451a03;border:1px solid #f59e0b44}.toast.error{color:#fca5a5;background:#450a0a;border:1px solid #ef444444}.vp-label-tl{pointer-events:none;z-index:10;position:absolute;top:5px;left:6px}.plane-badge{font-family:var(--c-font-mono);letter-spacing:1px;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.plane-cor{color:var(--c-yellow);background:#ffe04014;border:1px solid #ffe0404d}.plane-sag{color:#60d0ff;background:#60d0ff14;border:1px solid #60d0ff4d}.plane-tra{color:var(--c-green);background:#22c55e14;border:1px solid #22c55e4d}.plane-3d{color:var(--c-cyan);background:#22d3ee14;border:1px solid #22d3ee4d}kbd{font-family:var(--c-font-mono);color:var(--c-cyan);white-space:nowrap;background:#1c2a3e;border:1px solid #334155;border-radius:2px;padding:1px 5px;font-size:8.5px;display:inline-block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translate(12px)}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.3}}@keyframes rowPulse{0%,to{background:#22d3ee0a}50%{background:#22d3ee14}}@keyframes scanLine{0%{top:-4px}to{top:100%}}@keyframes glowPulse{0%,to{box-shadow:0 0 4px var(--c-cyan)}50%{box-shadow:0 0 10px var(--c-cyan), 0 0 20px #22d3ee4d}}select{border:1px solid var(--c-border-bright);color:var(--c-text-base);font-family:var(--c-font-mono);cursor:pointer;background:#060b14;border-radius:2px;outline:none;padding:1px 4px;font-size:9.5px}select:focus{border-color:var(--c-cyan)}button{font-family:var(--c-font-ui)}a{color:var(--c-cyan);text-decoration:none}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=number]{-moz-appearance:textfield}
