:root{--color-bg-primary: #0a0a0f;--color-bg-surface: #12121a;--color-bg-elevated: #1a1a28;--color-bg-overlay: rgba(10, 10, 15, .85);--color-text-primary: #e0e0e8;--color-text-secondary: #888899;--color-text-muted: #555566;--color-accent: #6366f1;--color-accent-hover: #818cf8;--color-accent-active: #4f46e5;--color-success: #22c55e;--color-warning: #eab308;--color-error: #ef4444;--color-border: rgba(255, 255, 255, .06);--color-border-hover: rgba(255, 255, 255, .12)}:root[data-theme=light]{--color-bg-primary: #f3f5f8;--color-bg-surface: #ffffff;--color-bg-elevated: #f7f9fc;--color-bg-overlay: rgba(243, 245, 248, .86);--color-text-primary: #111827;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-accent: #2563eb;--color-accent-hover: #3b82f6;--color-accent-active: #1d4ed8;--color-border: rgba(15, 23, 42, .12);--color-border-hover: rgba(15, 23, 42, .24)}:root{--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem}:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-md: 1rem;--font-size-lg: 1.25rem}:root{--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}:root{--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-md);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.galaxy-canvas-container[data-v-b381cb5c]{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-surface, #000);overflow:hidden}canvas[data-v-b381cb5c]{display:block}.webgl-error-overlay[data-v-b381cb5c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:#f55;background:#140a0acc;border-radius:12px;border:1px solid rgba(255,0,0,.2)}.error-icon[data-v-b381cb5c]{font-size:3rem;margin-bottom:1rem}.webgl-error-overlay h3[data-v-b381cb5c]{margin-bottom:.5rem;color:#fff}.webgl-error-overlay p[data-v-b381cb5c]{font-size:.9rem;margin-bottom:1.5rem;opacity:.8;max-width:300px}.webgl-error-overlay button[data-v-b381cb5c]{background:var(--accent, #6366f1);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-weight:600;transition:opacity .2s}.webgl-error-overlay button[data-v-b381cb5c]:hover{opacity:.9}.error-actions[data-v-b381cb5c]{display:flex;gap:1rem}.secondary-btn[data-v-b381cb5c]{background:transparent!important;border:1px solid rgba(255,255,255,.4)!important}.secondary-btn[data-v-b381cb5c]:hover{background:#ffffff1a!important}.debug-console[data-v-5801547e]{position:absolute;bottom:20px;right:20px;width:400px;max-width:90vw;height:300px;background-color:#12121ae6;border:1px solid var(--accent, #6366f1);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;font-family:monospace;box-shadow:0 4px 12px #00000080;z-index:1000}.debug-header[data-v-5801547e]{background-color:var(--accent, #6366f1);color:#fff;padding:4px 12px;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:space-between}.debug-close[data-v-5801547e]{border:0;background:transparent;color:inherit;cursor:pointer;font-size:.9rem;line-height:1}.debug-logs[data-v-5801547e]{flex:1;overflow-y:auto;padding:8px 12px;font-size:.8rem;color:var(--text-primary, #e0e0e8)}.debug-log[data-v-5801547e]{margin-bottom:4px;word-wrap:break-word}.log-input[data-v-5801547e]{color:#a0aec0}.log-output[data-v-5801547e]{color:#68d391}.log-error[data-v-5801547e]{color:#fc8181}.debug-input-area[data-v-5801547e]{display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.1);padding:8px 12px;background-color:#0000004d}.prompt-symbol[data-v-5801547e]{color:var(--accent, #6366f1);margin-right:8px;font-weight:700}.debug-input[data-v-5801547e]{flex:1;background:transparent;border:none;color:#fff;font-family:monospace;font-size:.85rem;outline:none}.hamburger-root[data-v-91ff7469]{--panel-bg: var(--color-bg-elevated);--panel-text: var(--color-text-primary);position:fixed;top:.75rem;right:.9rem;z-index:60}.backdrop[data-v-91ff7469]{position:fixed;inset:0;z-index:-1}.hamburger-btn[data-v-91ff7469]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;padding:0;border:1px solid var(--color-border-hover);border-radius:8px;background:color-mix(in oklab,var(--color-bg-elevated) 90%,transparent 10%);cursor:pointer;transition:background .15s}.hamburger-btn[data-v-91ff7469]:hover,.hamburger-btn.active[data-v-91ff7469]{background:color-mix(in oklab,var(--color-accent) 20%,var(--color-bg-elevated) 80%)}.hamburger-btn span[data-v-91ff7469]{display:block;width:16px;height:2px;background:var(--color-text-primary);border-radius:2px;transition:transform .15s,opacity .15s}.hamburger-btn.active span[data-v-91ff7469]:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger-btn.active span[data-v-91ff7469]:nth-child(2){opacity:0}.hamburger-btn.active span[data-v-91ff7469]:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.menu-panel[data-v-91ff7469]{position:absolute;top:calc(100% + .4rem);right:0;min-width:200px;background:var(--panel-bg);border:1px solid var(--color-border-hover);border-radius:10px;padding:.4rem;display:grid;gap:.15rem;box-shadow:0 8px 24px #00000059}.menu-section[data-v-91ff7469]{display:grid;gap:.1rem;padding-bottom:.3rem;border-bottom:1px solid var(--color-border)}.menu-section[data-v-91ff7469]:last-child{padding-bottom:0;border-bottom:none}.section-label[data-v-91ff7469]{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary);padding:.3rem .5rem .15rem}.menu-section button[data-v-91ff7469]{text-align:left;border:0;border-radius:6px;background:transparent;color:var(--panel-text);padding:.35rem .5rem;font-size:var(--font-size-sm);cursor:pointer;transition:background .1s}.menu-section button[data-v-91ff7469]:hover{background:color-mix(in oklab,var(--color-accent) 22%,transparent 78%)}:root[data-theme=light]{--panel-bg: #ffffff;--panel-text: #111827}.panel[data-v-0003ef1d]{position:fixed;z-index:40;background:var(--color-bg-elevated);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);backdrop-filter:blur(5px);box-shadow:0 12px 24px #00000047;display:flex;flex-direction:column}.panel-header[data-v-0003ef1d]{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;cursor:grab;border-bottom:1px solid var(--color-border)}.panel-header[data-v-0003ef1d]:active{cursor:grabbing}.panel-controls[data-v-0003ef1d]{display:flex;gap:.25rem}.panel-btn[data-v-0003ef1d]{width:24px;height:24px;border:1px solid var(--color-border-hover);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-primary)}.panel-opacity[data-v-0003ef1d]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border)}.panel-opacity label[data-v-0003ef1d]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.panel-opacity input[data-v-0003ef1d]{flex:1}.panel-content[data-v-0003ef1d]{flex:1;min-height:0;overflow:auto;padding:.75rem}.control-panel[data-v-02bdb117]{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;min-height:0}.group[data-v-02bdb117]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:color-mix(in oklab,var(--color-bg-surface) 85%,black 15%)}.group summary[data-v-02bdb117]{cursor:pointer;padding:.45rem .65rem;font-size:var(--font-size-sm);color:var(--color-text-primary)}.group[data-v-02bdb117] .group-body{padding:.5rem .65rem .7rem}.dashboard-panel[data-v-92516283]{display:flex;flex-direction:column;gap:.65rem}.widget[data-v-92516283]{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem;background:color-mix(in oklab,var(--color-bg-surface) 90%,black 10%)}.widget>header[data-v-92516283]{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:.45rem}.panel-restore[data-v-4b89d8c1]{position:fixed;right:1rem;bottom:1rem;z-index:35;display:flex;gap:.5rem}.panel-restore button[data-v-4b89d8c1]{border:1px solid var(--color-border-hover);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);padding:.35rem .55rem}.sim-bar[data-v-3fe9c254]{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.45rem .6rem;border:1px solid var(--color-border-hover);border-radius:10px;background:var(--color-bg-elevated)}.sim-btn[data-v-3fe9c254]{border:1px solid var(--color-border-hover);border-radius:7px;background:var(--color-bg-surface);color:var(--color-text-primary);padding:.33rem .6rem;font-size:var(--font-size-sm)}.sim-btn[data-v-3fe9c254]:hover{background:color-mix(in oklab,var(--color-accent) 22%,var(--color-bg-surface))}.fps-field[data-v-3fe9c254]{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-left:auto}.fps-field input[data-v-3fe9c254]{width:5.8rem;border:1px solid var(--color-border-hover);border-radius:7px;background:var(--color-bg-surface);color:var(--color-text-primary);padding:.3rem .45rem}.overlay[data-v-8a3cdcae]{position:fixed;inset:0;z-index:70;background:#00000073;display:grid;place-items:center}.dialog[data-v-8a3cdcae]{width:min(94vw,420px);background:var(--color-bg-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);padding:1.1rem;display:grid;gap:.9rem;max-height:90vh;overflow-y:auto}.dialog-header[data-v-8a3cdcae]{display:flex;justify-content:space-between;align-items:center}h3[data-v-8a3cdcae]{font-size:1rem;font-weight:600;margin:0}.close-btn[data-v-8a3cdcae]{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--color-text-secondary);padding:.1rem .3rem;border-radius:4px}.close-btn[data-v-8a3cdcae]:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.field-group[data-v-8a3cdcae]{display:grid;gap:1rem}.field[data-v-8a3cdcae]{display:grid;gap:.3rem}label[data-v-8a3cdcae]{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.slider-row[data-v-8a3cdcae]{display:flex;align-items:center;gap:.6rem}input[type=range][data-v-8a3cdcae]{flex:1;accent-color:var(--color-accent)}.value-pill[data-v-8a3cdcae]{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:4px;padding:.1rem .4rem;min-width:2.5rem;text-align:center}.select-input[data-v-8a3cdcae]{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:6px;padding:.3rem .55rem;color:var(--color-text-primary);font-size:var(--font-size-sm);width:100%}.text-input[data-v-8a3cdcae]{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:6px;padding:.3rem .55rem;color:var(--color-text-primary);font-size:var(--font-size-sm);width:100%;box-sizing:border-box}.text-input[data-v-8a3cdcae]:focus,.select-input[data-v-8a3cdcae]:focus{outline:2px solid var(--color-accent);outline-offset:1px}.radio-group[data-v-8a3cdcae]{display:flex;flex-direction:column;gap:.25rem}.radio-label[data-v-8a3cdcae]{display:flex;align-items:center;gap:.4rem;font-size:var(--font-size-sm);font-weight:400;cursor:pointer}.hint[data-v-8a3cdcae]{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.hint em[data-v-8a3cdcae]{font-style:normal;color:var(--color-text-primary)}.hint code[data-v-8a3cdcae]{font-family:monospace;background:var(--color-bg-elevated);border-radius:3px;padding:0 .2rem}.actions[data-v-8a3cdcae]{display:flex;justify-content:flex-end;gap:.5rem;border-top:1px solid var(--color-border);padding-top:.75rem}button[data-v-8a3cdcae]{border:1px solid var(--color-border-hover);border-radius:6px;background:var(--color-bg-elevated);color:var(--color-text-primary);padding:.3rem .7rem;cursor:pointer;font-size:var(--font-size-sm)}.primary[data-v-8a3cdcae]{background:var(--color-accent);border-color:var(--color-accent)}.rec-root[data-v-2bc0f630]{display:flex;align-items:center;gap:.3rem}.rec-unsupported[data-v-2bc0f630]{font-size:var(--font-size-xs);color:var(--color-text-secondary);max-width:180px}.rec-btn[data-v-2bc0f630]{display:flex;align-items:center;gap:.35rem;border:1px solid var(--color-border-hover);border-radius:6px;background:var(--color-bg-elevated);color:var(--color-text-primary);font-size:var(--font-size-xs);padding:.25rem .55rem;cursor:pointer;transition:background .15s;font-variant-numeric:tabular-nums}.rec-btn[data-v-2bc0f630]:hover{background:color-mix(in oklab,var(--color-accent) 20%,var(--color-bg-elevated) 80%)}.rec-btn.active[data-v-2bc0f630]{border-color:#ef4444;background:color-mix(in oklab,#ef4444 15%,var(--color-bg-elevated) 85%)}.rec-dot[data-v-2bc0f630]{width:8px;height:8px;border-radius:50%;background:#ef4444;flex-shrink:0}.rec-btn.active .rec-dot[data-v-2bc0f630]{animation:blink-2bc0f630 1s step-end infinite}@keyframes blink-2bc0f630{50%{opacity:0}}.settings-btn[data-v-2bc0f630]{border:1px solid var(--color-border-hover);border-radius:6px;background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:.85rem;padding:.2rem .45rem;cursor:pointer;line-height:1;transition:background .15s,color .15s}.settings-btn[data-v-2bc0f630]:not(:disabled):hover{background:color-mix(in oklab,var(--color-accent) 20%,var(--color-bg-elevated) 80%);color:var(--color-text-primary)}.settings-btn[data-v-2bc0f630]:disabled{opacity:.35;cursor:not-allowed}.overlay[data-v-29ea9cf9]{position:fixed;inset:0;z-index:70;background:#00000073;display:grid;place-items:center}.dialog[data-v-29ea9cf9]{width:min(92vw,480px);background:var(--color-bg-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);padding:1rem;display:grid;gap:.55rem}label[data-v-29ea9cf9]{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-sm)}.mode-field[data-v-29ea9cf9]{display:grid;gap:.35rem;align-items:start}select[data-v-29ea9cf9]{border:1px solid var(--color-border-hover);border-radius:6px;background:var(--color-bg-elevated);color:var(--color-text-primary);padding:.3rem .45rem}.theme-row[data-v-29ea9cf9],.actions[data-v-29ea9cf9]{display:flex;justify-content:space-between;align-items:center}button[data-v-29ea9cf9]{border:1px solid var(--color-border-hover);border-radius:6px;background:var(--color-bg-elevated);color:var(--color-text-primary);padding:.3rem .6rem}.primary[data-v-29ea9cf9]{background:var(--color-accent)}.overlay[data-v-1b73af8d]{position:fixed;inset:0;z-index:70;background:#00000073;display:grid;place-items:center}.dialog[data-v-1b73af8d]{width:min(95vw,640px);max-height:80vh;overflow:auto;background:var(--color-bg-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);padding:1rem;display:grid;gap:.55rem}.ranges[data-v-1b73af8d]{display:grid;gap:.4rem}.range-row[data-v-1b73af8d]{display:grid;grid-template-columns:1fr auto 1fr auto;gap:.4rem}label[data-v-1b73af8d]{display:grid;gap:.2rem;font-size:var(--font-size-sm)}input[data-v-1b73af8d],button[data-v-1b73af8d]{border:1px solid var(--color-border-hover);border-radius:6px;background:var(--color-bg-elevated);color:var(--color-text-primary);padding:.3rem .45rem}.actions[data-v-1b73af8d],.actions-row[data-v-1b73af8d]{display:flex;justify-content:flex-end}.primary[data-v-1b73af8d]{background:var(--color-accent)}.overlay[data-v-c2faf851]{position:fixed;inset:0;z-index:70;background:#00000073;display:grid;place-items:center}.dialog[data-v-c2faf851]{width:min(92vw,420px);background:var(--color-bg-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);padding:1rem;display:grid;gap:.55rem}label[data-v-c2faf851]{display:grid;gap:.2rem;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.value[data-v-c2faf851]{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:right}textarea[data-v-c2faf851],input[type=range][data-v-c2faf851]{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;padding:.24rem .35rem}.actions[data-v-c2faf851]{display:flex;justify-content:flex-end}button[data-v-c2faf851]{border:1px solid var(--color-border-hover);border-radius:6px;background:var(--color-bg-elevated);color:var(--color-text-primary);padding:.3rem .6rem}.primary[data-v-c2faf851]{background:var(--color-accent)}.overlay[data-v-cfe379e6]{position:fixed;inset:0;z-index:70;background:#00000073;display:grid;place-items:center}.dialog[data-v-cfe379e6]{width:min(95vw,520px);max-height:80vh;overflow:auto;background:var(--color-bg-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);padding:1.1rem 1.25rem;display:grid;gap:.9rem}h3[data-v-cfe379e6]{font-size:var(--font-size-md, 1rem);font-weight:600;margin:0}section[data-v-cfe379e6]{display:grid;gap:.4rem}h4[data-v-cfe379e6]{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:0}table[data-v-cfe379e6]{border-collapse:collapse;width:100%}td[data-v-cfe379e6]{padding:.22rem .5rem .22rem 0;font-size:var(--font-size-sm);color:var(--color-text-primary);vertical-align:top}td[data-v-cfe379e6]:first-child{white-space:nowrap;width:40%;color:var(--color-text-secondary)}kbd[data-v-cfe379e6]{display:inline-block;padding:.1rem .4rem;border:1px solid var(--color-border-hover);border-radius:4px;background:var(--color-bg-elevated);font-family:monospace;font-size:.8em}em[data-v-cfe379e6]{color:var(--color-text-secondary);font-style:normal}.actions[data-v-cfe379e6]{display:flex;justify-content:flex-end}button[data-v-cfe379e6]{border:1px solid var(--color-border-hover);border-radius:6px;background:var(--color-bg-elevated);color:var(--color-text-primary);padding:.3rem .6rem;cursor:pointer}.primary[data-v-cfe379e6]{background:var(--color-accent)}.overlay[data-v-60c9e33d]{position:fixed;inset:0;z-index:70;background:#00000073;display:grid;place-items:center}.dialog[data-v-60c9e33d]{width:min(92vw,380px);background:var(--color-bg-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);padding:1.25rem;display:grid;gap:.75rem}.logo-row[data-v-60c9e33d]{display:flex;align-items:baseline;gap:.6rem}h2[data-v-60c9e33d]{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin:0}.version[data-v-60c9e33d]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tagline[data-v-60c9e33d]{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.info-grid[data-v-60c9e33d]{display:grid;grid-template-columns:auto 1fr;gap:.3rem .75rem;font-size:var(--font-size-sm);border-top:1px solid var(--color-border);padding-top:.65rem}.label[data-v-60c9e33d]{color:var(--color-text-secondary);white-space:nowrap}.actions[data-v-60c9e33d]{display:flex;justify-content:flex-end;padding-top:.25rem}button[data-v-60c9e33d]{border:1px solid var(--color-border-hover);border-radius:6px;background:var(--color-bg-elevated);color:var(--color-text-primary);padding:.3rem .6rem;cursor:pointer}.primary[data-v-60c9e33d]{background:var(--color-accent)}.form-grid[data-v-22c45152]{display:grid;gap:.45rem}label[data-v-22c45152]{display:grid;gap:.2rem;font-size:var(--font-size-xs);color:var(--color-text-secondary)}input[data-v-22c45152],select[data-v-22c45152]{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;padding:.24rem .35rem}.form-grid[data-v-5a19f458]{display:grid;gap:.45rem}label[data-v-5a19f458]{display:grid;gap:.2rem;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.inline[data-v-5a19f458]{display:flex;align-items:center;gap:.4rem}input[data-v-5a19f458],select[data-v-5a19f458]{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;padding:.24rem .35rem}.form-grid[data-v-2968b852]{display:grid;gap:.45rem}label[data-v-2968b852]{display:grid;gap:.2rem;font-size:var(--font-size-xs);color:var(--color-text-secondary)}input[data-v-2968b852]{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;padding:.24rem .35rem}.form-grid[data-v-5fa4a92f]{display:grid;gap:.45rem}label[data-v-5fa4a92f]{display:grid;gap:.2rem;font-size:var(--font-size-xs);color:var(--color-text-secondary)}input[data-v-5fa4a92f]{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;padding:.24rem .35rem}.hint[data-v-5fa4a92f]{font-size:var(--font-size-xs);color:var(--color-text-muted)}.graph-wrap[data-v-1ec2c38d]{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}canvas[data-v-1ec2c38d]{width:100%;display:block;background:#000}.metrics-grid[data-v-21446eac]{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.metrics-grid p[data-v-21446eac]{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:6px;padding:.35rem .5rem}.metrics-grid span[data-v-21446eac]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.metrics-grid strong[data-v-21446eac]{font-size:var(--font-size-sm)}.progress-wrap[data-v-8dc8e006]{display:grid;gap:.35rem}.bar[data-v-8dc8e006]{height:10px;border:1px solid var(--color-border);border-radius:999px;overflow:hidden;background:var(--color-bg-primary)}.fill[data-v-8dc8e006]{height:100%;background:linear-gradient(90deg,#34d399,#10b981)}p[data-v-8dc8e006]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}#galacell-app{display:flex;flex-direction:column;height:100vh;position:relative;overflow:hidden}.app-header{padding:1rem 1.25rem .8rem;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-bg-surface) 92%,black 8%)}.app-header h1{font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.app-subtitle{color:var(--color-text-secondary);font-size:.85rem;margin-top:.25rem}.status-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border:1px solid color-mix(in oklab,var(--color-border) 50%,var(--accent, #6366f1) 50%);border-radius:999px;background:color-mix(in oklab,var(--color-bg-surface) 70%,var(--accent, #6366f1) 30%);color:var(--color-text-primary);font-size:.72rem;line-height:1.2}.status-badge-secondary{background:color-mix(in oklab,var(--color-bg-surface) 84%,white 16%);border-color:color-mix(in oklab,var(--color-border) 70%,white 30%)}.app-main{flex:1;display:flex;align-items:stretch;justify-content:center;padding:1rem;gap:.9rem;min-height:0;overflow:hidden}.app-main-docked{align-items:stretch}.app-main-docked .canvas-placeholder{flex:1;width:auto;min-width:0}.render-column{flex:1;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;gap:.55rem}.simulation-row{width:100%}.dock-panel{width:min(360px,26vw);min-width:280px;min-height:0;max-height:100%;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--color-border-hover);background:var(--color-bg-elevated);border-radius:12px;padding:.7rem}.dock-panel :deep(.control-panel),.dock-panel :deep(.dashboard-panel){flex:1;min-height:0;overflow:auto;padding-right:.15rem}.dock-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.dock-restore{position:absolute;right:1.25rem;bottom:1.25rem;z-index:30;display:flex;gap:.5rem}.dock-restore button{border:1px solid var(--color-border-hover);border-radius:6px;background:var(--color-bg-elevated);color:var(--color-text-primary);padding:.35rem .55rem}.canvas-placeholder{width:100%;flex:1;min-height:320px;background-color:var(--color-bg-surface);border:1px solid var(--color-border-hover);border-radius:12px;padding:0 10px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1rem;position:relative;overflow:hidden}.recording-row{width:100%;display:flex;align-items:center;padding:.1rem .25rem;min-height:28px}.loading-overlay{position:fixed;inset:0;z-index:80;background:#0000008c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--color-text-primary);font-size:var(--font-size-sm)}.loading-spinner{width:32px;height:32px;border:3px solid color-mix(in oklab,var(--color-accent) 40%,transparent 60%);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:3.5rem;left:50%;transform:translate(-50%);z-index:90;background:var(--color-bg-elevated);border:1px solid var(--color-border-hover);border-radius:8px;padding:.5rem 1rem;font-size:var(--font-size-sm);color:var(--color-text-primary);box-shadow:0 4px 12px #0000004d;max-width:80vw;text-align:center}.status-bar{display:flex;gap:1rem;align-items:center;padding:.45rem .8rem;border-top:1px solid var(--color-border);background:color-mix(in oklab,var(--color-bg-surface) 92%,black 8%);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.status-note{margin-left:auto;color:var(--color-text-primary)}@media(max-width:1100px){.app-main{padding:.75rem;flex-direction:column}.dock-panel{width:100%;min-width:0;max-height:36vh}.canvas-placeholder{min-height:42vh}.status-bar{flex-wrap:wrap;gap:.45rem .8rem}}
