
.radio-network-player{position:fixed;left:0;right:0;bottom:0;z-index:2147482000;background:linear-gradient(180deg,rgba(3,9,24,.15),rgba(3,9,24,.35));padding:0 0 max(.85rem,env(safe-area-inset-bottom));pointer-events:none}
.radio-network-player *{box-sizing:border-box}
.radio-player-shell{pointer-events:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.9fr) minmax(260px,.95fr);gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.08);border-radius:28px;background:rgba(6,13,31,.88);backdrop-filter:blur(18px);box-shadow:0 18px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.03);position:relative;overflow:visible}
.radio-player-shell::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(76,122,255,.15),transparent 28%,transparent 72%,rgba(147,92,255,.12));pointer-events:none}
body{padding-bottom:154px}
.radio-player-primary,.radio-player-center,.radio-player-actions{position:relative;z-index:1}
.radio-player-primary{display:flex;align-items:center;gap:1rem;min-width:0}
.radio-player-play{width:64px;height:64px;border-radius:50%;border:0;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#93bcff,#4f7ff0 58%,#274ca7 100%);color:#fff;box-shadow:0 16px 34px rgba(47,88,185,.42);position:relative;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease}
.radio-player-play:hover{transform:translateY(-2px) scale(1.02)}
.radio-player-play i{font-size:1.5rem;position:relative;z-index:2}
.radio-player-play-rings,.radio-player-play-rings::before,.radio-player-play-rings::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.18);animation:playerPulse 2.7s ease-out infinite}
.radio-player-play-rings::before{animation-delay:.8s}
.radio-player-play-rings::after{animation-delay:1.6s}
.radio-player-art-wrap{position:relative;flex:0 0 auto}
.radio-player-art{width:72px;height:72px;border-radius:22px;object-fit:cover;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 34px rgba(30,76,168,.24)}
.radio-live-pill{position:absolute;right:-10px;bottom:-8px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;padding:.32rem .55rem;border-radius:999px;background:rgba(255,80,115,.16);color:#ffb6c7;border:1px solid rgba(255,107,145,.24)}
.radio-live-dot{width:10px;height:10px;border-radius:999px;background:#ff5d83;box-shadow:0 0 0 0 rgba(255,93,131,.7);animation:liveDot 1.9s infinite}
.radio-player-kicker{display:flex;align-items:center;gap:.55rem;color:#dfe8ff;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.35rem}
.radio-player-copy{min-width:0}
.radio-player-title{font-size:1.08rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.radio-player-meta{font-size:.92rem;color:#a7b7d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.radio-player-progress-row,.radio-volume-label,.radio-player-metrics{display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.radio-player-status,.radio-player-short,.radio-player-metrics,.radio-player-meta{font-size:.84rem}
.radio-player-status,.radio-player-short,.radio-volume-label,.radio-player-metrics{color:#9eb1d9}
.radio-player-progress{position:relative;height:10px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin:.5rem 0 .7rem}
.radio-player-progress::after{content:"";position:absolute;inset:0;width:var(--progress,18%);background:linear-gradient(90deg,rgba(147,188,255,.94),rgba(61,114,235,.90));box-shadow:0 0 20px rgba(93,144,245,.24);transition:width .35s ease}
.radio-player-metrics{flex-wrap:wrap}
.radio-player-metrics strong{color:#fff}
.radio-player-actions{display:flex;align-items:center;gap:1rem;justify-content:flex-end;min-width:0}
.radio-volume-wrap{min-width:124px;max-width:140px;flex:0 0 140px}
.radio-volume{width:100%;accent-color:#8fb9ff}
.radio-channel-switcher{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}
.radio-channel-chip{display:inline-flex;align-items:center;gap:.55rem;padding:.72rem .9rem;border-radius:999px;border:1px solid rgba(179,204,255,.12);background:rgba(255,255,255,.04);color:#eff4ff;font-weight:700;letter-spacing:.02em;transition:transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;position:relative;overflow:visible}
.radio-channel-chip:hover{transform:translateY(-2px);background:rgba(255,255,255,.07)}
.radio-channel-chip.is-active{background:linear-gradient(135deg,rgba(76,122,255,.22),rgba(123,92,255,.22));border-color:rgba(147,188,255,.34);box-shadow:0 12px 28px rgba(61,114,235,.18)}
.radio-channel-chip.is-switching{animation:chipSwitch .55s ease}
.chip-visualizer{display:inline-flex;align-items:flex-end;gap:2px;height:14px}
.chip-visualizer span{display:block;width:3px;border-radius:999px;background:linear-gradient(180deg,#9bc1ff,#5c7ff1);height:5px;transition:height .25s ease, opacity .25s ease;opacity:.55}
.radio-channel-chip.is-active .chip-visualizer span:nth-child(1){height:9px;opacity:1;animation:equalizer 1.1s ease-in-out infinite}
.radio-channel-chip.is-active .chip-visualizer span:nth-child(2){height:13px;opacity:1;animation:equalizer 1s ease-in-out infinite .15s}
.radio-channel-chip.is-active .chip-visualizer span:nth-child(3){height:8px;opacity:1;animation:equalizer 1.2s ease-in-out infinite .3s}
@keyframes playerPulse{0%{transform:scale(.88);opacity:0}35%{opacity:.35}100%{transform:scale(1.5);opacity:0}}
@keyframes liveDot{0%{box-shadow:0 0 0 0 rgba(255,93,131,.7)}70%{box-shadow:0 0 0 10px rgba(255,93,131,0)}100%{box-shadow:0 0 0 0 rgba(255,93,131,0)}}
@keyframes equalizer{0%,100%{transform:scaleY(.72)}50%{transform:scaleY(1.18)}}
@keyframes chipSwitch{0%{transform:scale(.96);filter:brightness(.9)}50%{transform:scale(1.03);filter:brightness(1.08)}100%{transform:scale(1)}}
@media (max-width: 1140px){.radio-player-shell{grid-template-columns:1fr;gap:.9rem}.radio-player-actions{justify-content:space-between}.radio-channel-switcher{justify-content:flex-start}.radio-volume-wrap{max-width:none;flex:1 1 150px}}
@media (max-width: 680px){body{padding-bottom:210px}.radio-network-player{padding:0 0 max(.6rem,env(safe-area-inset-bottom))}.radio-player-shell{border-radius:24px;padding:.85rem}.radio-player-primary{gap:.75rem}.radio-player-play{width:56px;height:56px}.radio-player-art{width:60px;height:60px;border-radius:18px}.radio-player-title{font-size:.98rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.radio-player-meta{white-space:normal}.radio-player-actions{align-items:stretch;flex-direction:column}.radio-volume-wrap{width:100%;max-width:none;flex:none}.radio-channel-switcher{width:100%}.radio-channel-chip{flex:1 1 calc(33.333% - .5rem);justify-content:center;padding:.68rem .72rem;font-size:.83rem}}

.radio-station-drawer-wrap{position:relative;display:flex;justify-content:flex-end;flex:1 1 auto;z-index:2147483000}
.radio-station-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:.8rem;min-width:180px;padding:.82rem 1rem;border-radius:18px;border:1px solid rgba(179,204,255,.14);background:rgba(255,255,255,.04);color:#fff;font-weight:800;letter-spacing:.02em;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.radio-station-toggle i{margin-right:.35rem}
.radio-station-toggle-current{padding:.28rem .6rem;border-radius:999px;background:rgba(93,144,245,.16);border:1px solid rgba(147,188,255,.18);font-size:.78rem;color:#dce7ff}
.radio-station-drawer{position:absolute;right:0;bottom:calc(100% + .8rem);width:min(360px,92vw);padding:1rem;border-radius:24px;border:1px solid rgba(179,204,255,.14);background:rgba(6,13,31,.995);box-shadow:0 24px 50px rgba(0,0,0,.38);backdrop-filter:blur(18px);z-index:2147483001}
.radio-station-drawer[hidden]{display:none}
.radio-station-drawer-head{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.9rem}
.radio-station-drawer-head strong{font-size:.96rem}
.radio-station-drawer-head span{font-size:.8rem;color:#9eb1d9}
.radio-station-drawer .radio-channel-switcher{justify-content:flex-start}
.radio-player-actions{align-items:flex-end}
@media (max-width:1140px){.radio-player-actions{align-items:stretch}.radio-station-drawer-wrap{justify-content:stretch}.radio-station-toggle{width:100%}}
@media (max-width:680px){.radio-station-drawer{left:0;right:0;width:auto}.radio-channel-chip{flex:1 1 calc(50% - .5rem)}}

.radio-network-player.is-drawer-open,.radio-network-player.is-drawer-open .radio-player-shell{overflow:visible}
