:root{--bg: #111214;--card: #1b1d21;--line: #2a2d33;--text: #e9e9ec;--muted: #8d9099;--accent: #ff5a36;--error: #ff7b7b;--radius: 14px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}.page{max-width:640px;margin:0 auto;padding:32px 16px 64px}.head h1{margin:0;font-size:28px;letter-spacing:-.02em}.head p{margin:4px 0 0}.card{margin-top:20px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.card h2{margin:0 0 8px;font-size:18px}.muted{color:var(--muted)}.error{color:var(--error)}.error:empty{display:none}.on-air h2{margin-top:4px;font-size:24px}.label{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.dot{width:9px;height:9px;border-radius:50%;background:var(--line)}.on-air[data-state=playing] .dot{background:var(--accent);box-shadow:0 0 10px var(--accent)}.artists{margin:0 0 12px;font-size:17px}.controls,.station{display:flex;gap:10px;margin-top:16px}.controls form{margin:0}.btn{display:inline-block;padding:9px 18px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn-quiet{background:var(--line);color:var(--text)}select{flex:1;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit}.listen{text-align:center;padding-top:20vh}.listen h1{margin-bottom:24px;font-size:32px;letter-spacing:-.02em}.player{display:flex;align-items:center;gap:16px;margin-top:12px}.listen .player{justify-content:center}.play{position:relative;flex:none;width:56px;height:56px;border:0;border-radius:50%;background:var(--accent);cursor:pointer}.play:before{content:"";position:absolute;top:50%;left:50%;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff;transform:translate(-38%,-50%)}.player[data-state=playing] .play:before,.player[data-state=playing] .play:after{width:6px;height:20px;border:0;background:#fff;transform:translate(-50%,-50%)}.player[data-state=playing] .play:before{margin-left:-5px}.player[data-state=playing] .play:after{content:"";position:absolute;top:50%;left:50%;margin-left:5px}.player[data-state=loading] .play{opacity:.6}.volume{width:140px;accent-color:var(--accent);cursor:pointer}.history{margin:0;padding:0;list-style:none}.history li{padding:6px 0;border-top:1px solid var(--line)}.history li:first-child{border-top:0}.time{display:inline-block;width:3.2em;color:var(--muted);font-variant-numeric:tabular-nums}
