:root{--motion-fast:.16s;--motion-base:.24s;--motion-slow:.36s;--bg:#120030;--accent1:#f0f;--accent2:#0ff;--accent3:#ff6b35;--text-label:#ffffff73;--text-muted:#fff9}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg);width:100%;height:100%;margin:0;font-family:system-ui,sans-serif;overflow:hidden}.app{width:100%;height:100%;position:relative}.scene-canvas{width:100%;height:100%;display:block}.chrome-layer{pointer-events:none;z-index:10;position:fixed;inset:0}.chrome{pointer-events:none;font-family:system-ui,sans-serif;position:fixed}.hero-stats{color:var(--accent1);top:24px;left:24px}.hero-stats__peak{font-size:48px;font-weight:700;line-height:1}.hero-stats__peak-label{color:var(--text-label);text-transform:lowercase;margin-top:4px;font-size:11px}.hero-stats__rms{color:#ffffff80;margin-top:10px;font-size:14px}.data-stamp{color:var(--text-label);font-size:10px;bottom:20px;left:16px}.legend{color:var(--text-muted);gap:14px;font-size:9px;display:flex;bottom:44px;left:50%;transform:translate(-50%)}.legend__item{align-items:center;gap:5px;display:inline-flex}.legend__dot{border-radius:50%;width:7px;height:7px}.legend__dot--bass{background:var(--accent1);box-shadow:0 0 8px var(--accent1)}.legend__dot--mid{background:var(--accent2);box-shadow:0 0 8px var(--accent2)}.legend__dot--high{background:var(--accent3);box-shadow:0 0 8px var(--accent3)}.description{text-align:center;max-width:65ch;color:var(--text-label);margin:0;font-size:11px;bottom:68px;left:50%;transform:translate(-50%)}.quiet-zone{z-index:100;text-align:center;opacity:1;background:#120030d1;border:1px solid #ff00ff59;border-radius:8px;padding:16px 20px;transition:opacity .3s;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 40px #ff00ff59}.quiet-zone__value{color:var(--accent2);font-size:28px;font-weight:700}.quiet-zone__meta{color:var(--text-muted);margin-top:6px;font-size:12px}.quiet-zone__close{pointer-events:auto;color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:4px;margin-top:10px;padding:4px 10px;font-family:system-ui,sans-serif;font-size:11px}.mic-activation{z-index:50;flex-direction:column;align-items:center;gap:12px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.mic-button{border:2px solid var(--accent1);cursor:pointer;width:60px;height:60px;box-shadow:0 0 24px var(--accent1), 0 0 40px #f0f6;background:#120030d9;border-radius:50%;place-items:center;padding:0;animation:2s ease-in-out infinite mic-pulse;display:grid}.mic-button__dot{background:var(--accent1);width:14px;height:14px;box-shadow:0 0 12px var(--accent1);border-radius:50%}.mic-button__label{color:var(--text-muted);font-family:system-ui,sans-serif;font-size:12px}.onboarding-glow{pointer-events:none;z-index:40;background:radial-gradient(circle,#ff00ff59 0%,#f0f0 70%);border-radius:50%;width:180px;height:180px;animation:3s ease-out forwards onboarding-pulse;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.scene-background{background:linear-gradient(#120030 0%,#1a0045 100%);position:fixed;inset:0;overflow:hidden}.scene-background__gradient{background:repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 4px);position:absolute;inset:0}.scene-background__scanlines{opacity:.5;background:repeating-linear-gradient(#ffffff0d 0 1px,#0000 1px 4px);position:absolute;inset:0}.scene-background__grid{transform-origin:bottom;opacity:.35;background-image:linear-gradient(#ff00ff1f 1px,#0000 1px),linear-gradient(90deg,#00ffff1a 1px,#0000 1px);background-size:40px 24px;height:34%;position:absolute;bottom:0;left:0;right:0;transform:perspective(500px)rotateX(68deg)}body:before{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(#ffffff08 0 1px,#0000 1px 3px);position:fixed;inset:0}.tabular-nums{font-variant-numeric:tabular-nums}@keyframes mic-pulse{0%,to{box-shadow:0 0 16px var(--accent1), 0 0 32px #ff00ff59}50%{box-shadow:0 0 28px var(--accent1), 0 0 48px #ff00ff8c}}@keyframes onboarding-pulse{0%{opacity:.9;transform:translate(-50%,-50%)scale(.6)}to{opacity:0;transform:translate(-50%,-50%)scale(1.8)}}
