:root{--accent: #9151F1;--accent-glow: rgba(145, 81, 241, .35);--bg-primary: rgba(20, 20, 26, 1);--bg-secondary: rgba(30, 30, 38, 1);--text-primary: #f0f0f5;--text-secondary: #909098;--border: rgba(255, 255, 255, .08);--font-ui: system-ui, -apple-system, sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, monospace;--visualizer-bg: linear-gradient(135deg, rgba(20, 20, 26, .82) 0%, rgba(20, 20, 26, .68) 100%);color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg-primary: rgba(224, 224, 230, 1);--bg-secondary: rgba(210, 210, 218, 1);--text-primary: #1a1a22;--text-secondary: #606068;--border: rgba(0, 0, 0, .08);--visualizer-bg: linear-gradient(135deg, rgba(224, 224, 230, .88) 0%, rgba(224, 224, 230, .75) 100%);color-scheme:light}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-ui);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none;overflow:hidden}#root{height:100%;display:flex;align-items:flex-start;justify-content:center}@media(min-width:600px){body{background:#0a0a0e}@media(prefers-color-scheme:light){body{background:#bebec8}}#root{padding:24px 0;box-sizing:border-box;align-items:center}.nmfr-player{height:100%!important;border:1px solid var(--border)!important;border-radius:26px!important;overflow:hidden!important}.nmfr-player[data-collapsed=true]{height:auto!important}.nmfr-player[data-collapsed=true] .station-browser{flex:none}}button{font-family:var(--font-ui);cursor:pointer;border:none;background:none;padding:0;color:inherit}input{font-family:var(--font-ui);outline:none;border:none}a{color:var(--accent);text-decoration:none}.station-actions{opacity:0;transition:opacity .15s;flex-shrink:0}.station-row:hover .station-actions{opacity:1}@media(hover:none){.station-actions{opacity:1}}@media(hover:none){.volume-slider,.station-collapse-btn{display:none}}@keyframes slideUpDrawer{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes bufferPulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 14px 4px var(--accent-glow)}}@keyframes rowEntrance{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
