:root{--font-display: "Orbitron", sans-serif;--font-mono: "JetBrains Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 3rem;--text-4xl: 4rem;--font-bold: 700;--font-black: 900;--color-bg-deep: #0a0a0f;--color-bg-panel: #12121a;--color-accent-cyan: #00f0ff;--color-accent-yellow: #ffee00;--color-accent-rust: #ff6b35;--glow-cyan: rgba(0, 240, 255, .4);--glow-cyan-soft: rgba(0, 240, 255, .15);--glow-yellow: rgba(255, 238, 0, .4);--glow-success-soft: rgba(59, 255, 107, .4);--glow-rust: rgba(244, 126, 83, .4);--glow-rust-soft: rgba(255, 107, 53, .15);--border-cyan-subtle: rgba(0, 240, 255, .2);--border-cyan-hover: rgba(0, 240, 255, .4);--border-rust-subtle: rgba(255, 107, 53, .2);--border-rust-hover: rgba(255, 107, 53, .4);--color-text-primary: #e8e8f0;--color-text-secondary: #8888a0;--color-text-muted: #505060;--color-player-red: #ff3b3b;--color-player-blue: #3ba8ff;--color-player-green: #14b33c;--color-player-yellow: #ffee77;--color-player-purple: #bf5fff;--color-player-orange: #ff8c3b;--color-player-fallback: #fff;--color-success: #3bff6b;--color-error: #ff3b5c;--glow-error: rgba(255, 59, 92, .25);--glow-error-soft: rgba(255, 59, 92, .1);--border-error-subtle: rgba(255, 59, 92, .3);--border-error-hover: rgba(255, 59, 92, .5);--color-highlight-bg: rgba(0, 240, 255, .1);--color-highlight-rust-bg: rgba(255, 107, 53, .1);--color-btn-secondary-border: rgba(255, 255, 255, .1);--color-btn-secondary-bg: rgba(255, 255, 255, .05);--color-btn-secondary-hover-bg: rgba(255, 255, 255, .1);--color-btn-secondary-hover-border: rgba(255, 255, 255, .2);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-16: 4rem;--border-radius-sm: 2px;--border-radius-md: 4px;--glow-sm: 0 0 8px var(--glow-cyan-soft);--glow-md: 0 0 16px var(--glow-cyan), 0 0 32px var(--glow-cyan-soft);--glow-lg: 0 0 24px var(--glow-cyan), 0 0 48px var(--glow-cyan-soft);--panel-bg: linear-gradient(135deg, var(--color-bg-panel) 0%, rgba(18, 18, 26, .9) 100%);--panel-border: 1px solid rgba(0, 240, 255, .2);--panel-shadow: 0 4px 24px rgba(0, 0, 0, .5), var(--glow-sm);--editor-sidebar-width: 220px;--editor-grid-width: 660px;--color-banner-overlay: rgba(10, 10, 15, .85);--color-banner-bg: rgba(10, 10, 15, .95)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-mono);background:var(--color-bg-deep);color:var(--color-text-primary)}.btn-primary{min-height:3rem;padding:.75rem 1rem;border:none;border-radius:var(--border-radius-md);background:var(--color-accent-cyan);color:var(--color-bg-deep);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;box-shadow:0 0 20px var(--glow-cyan);transition:background-color .15s,box-shadow .15s}.btn-primary:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.btn-primary:not(:disabled):hover{background:var(--color-accent-yellow);box-shadow:0 0 30px var(--glow-yellow)}.btn-secondary{min-height:3rem;padding:.75rem 1rem;border:1px solid var(--color-btn-secondary-border);border-radius:var(--border-radius-md);background:var(--color-btn-secondary-bg);color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.btn-secondary:hover:not(:disabled){background:var(--color-btn-secondary-hover-bg);border-color:var(--color-btn-secondary-hover-border)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.phase-layout{display:grid;grid-template-columns:auto 320px;gap:var(--space-6);align-items:start;width:fit-content}.phase-layout>main{grid-column:1;justify-self:start}.phase-layout>aside,.phase-layout>.panel{grid-column:2}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;height:100dvh;padding:var(--space-6);background:var(--color-bg-deep);gap:var(--space-4)}.error-state h2{margin:0;font-family:var(--font-display);font-weight:var(--font-black);text-transform:uppercase;letter-spacing:.1em;color:var(--color-error);text-shadow:0 0 30px var(--glow-error)}.error-state p{margin:0;font-family:var(--font-mono);color:var(--color-text-secondary);text-align:center}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
