:root{--bg-primary:#060714;--text-primary:#f0f3fc;--text-secondary:#8c97b8;--accent-cyan:#38ef7d;--accent-pink:#ff2a85;--accent-gold:#ffbe3b;--accent-indigo:#6366f1;--panel-bg:#0a0e1cb8;--panel-border:#ffffff14;--panel-glow:#6366f126;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-kanji:"Zen Kaku Gothic New", sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body,#root{background-color:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow:hidden}.canvas-container{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.overlay-layer{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:24px 32px;display:flex;position:absolute;top:0;left:0}.interactive{pointer-events:auto}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--panel-border);box-shadow:0 8px 32px 0 #00000073, 0 0 20px 0 var(--panel-glow);border-radius:16px}.header-brand{align-items:center;gap:16px;display:flex}.brand-badge{color:#ff5e9c;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:#ff2a8526;border:1px solid #ff2a8566;border-radius:6px;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.brand-title{letter-spacing:-.02em;align-items:baseline;gap:8px;font-size:1.5rem;font-weight:800;display:flex}.brand-kanji{font-family:var(--font-kanji);color:#f37;text-shadow:0 0 16px #f379;font-size:1.25rem;font-weight:900}.brand-subtitle{color:var(--text-secondary);font-size:.8rem;font-weight:400}.control-bar{justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:960px;margin:0 auto;padding:12px 20px;display:flex}.button-group{align-items:center;gap:8px;display:flex}.control-btn{color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:.82rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.control-btn:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-1px)}.control-btn.active{background:linear-gradient(135deg,#6366f166,#ff2a854d);border-color:#ff2a8580;box-shadow:0 0 14px #ff2a854d}.telemetry-card{flex-direction:column;gap:4px;min-width:180px;padding:14px 20px;display:flex}.telemetry-label{font-family:var(--font-mono);text-transform:uppercase;color:var(--text-secondary);letter-spacing:.1em;font-size:.65rem}.telemetry-value{font-family:var(--font-mono);color:#fff;align-items:baseline;gap:4px;font-size:1.4rem;font-weight:700;display:flex}.telemetry-unit{color:var(--text-secondary);font-size:.75rem}.slider-container{color:var(--text-secondary);font-size:.78rem;font-family:var(--font-mono);align-items:center;gap:10px;display:flex}.slider-container input[type=range]{appearance:none;background:#ffffff26;border-radius:2px;outline:none;width:90px;height:4px}.slider-container input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#ff2a85;border-radius:50%;width:12px;height:12px;box-shadow:0 0 8px #ff2a85}.vignette-overlay{z-index:2;background:radial-gradient(circle,#0000 55%,#04050fb3 100%);width:100%;height:100%;position:absolute;top:0;left:0;pointer-events:none!important}.film-grain{opacity:.04;z-index:3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;position:absolute;top:0;left:0;pointer-events:none!important}.overtake-speedlines-overlay{z-index:15;background:radial-gradient(circle,#0000 35%,#00e5ff14 75%,#38ef7d2e 100%);width:100%;height:100%;animation:.65s cubic-bezier(.1,.9,.2,1) forwards overtakePulse;position:absolute;top:0;left:0;pointer-events:none!important}@keyframes overtakePulse{0%{opacity:0;transform:scale(1.04)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}
