.rp-dialog,.rp-dock{--rp-bg:#282827;--rp-ink:#f4f0e7;--rp-muted:#c3beae;--rp-gold:#ead184;--rp-line:#d8bd6d40;color:var(--rp-ink);font-family:inherit}
html.light-mode .rp-dialog,html.light-mode .rp-dock{--rp-bg:#faf8ef;--rp-ink:#302f29;--rp-muted:#66604e;--rp-gold:#866820;--rp-line:#96792840}
.rp-dialog{box-sizing:border-box;margin:auto;width:min(410px,calc(100vw - 28px));max-height:88dvh;overflow:auto;padding:22px;border:1px solid var(--rp-line);border-radius:26px;background:radial-gradient(ellipse at top,#c4a95720,transparent 65%),var(--rp-bg);box-shadow:0 24px 90px #0007;text-align:center;scrollbar-width:thin;scrollbar-color:var(--rp-gold) transparent}
.rp-dialog::backdrop{background:#101010a6;backdrop-filter:blur(8px)}.rp-header,.rp-actions,.rp-controls,.rp-volume{display:flex;align-items:center;justify-content:center;gap:12px}.rp-header{justify-content:space-between;margin-bottom:18px}.rp-header h2{font-size:18px;color:var(--rp-ink);margin:0}.rp-actions{gap:6px}.rp-button{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid var(--rp-line);border-radius:50%;color:var(--rp-gold);background:#bca45d12;cursor:pointer;transition:background .2s,transform .2s}.rp-button:hover{background:#c4a95730;transform:translateY(-1px)}.rp-button:disabled{opacity:.35;cursor:default}.rp-button:focus-visible,.rp-reopen:focus-visible,.rp-stations select:focus-visible{outline:2px solid var(--rp-gold);outline-offset:3px}.rp-visual{position:relative;margin:0 auto 18px;width:128px}.rp-art{width:128px;height:128px;object-fit:cover;border-radius:24px;background:#ffffff0a;border:1px solid var(--rp-line);padding:0;box-sizing:border-box;box-shadow:0 12px 30px #0002}.rp-live{display:block;font-size:9px;letter-spacing:2px;color:var(--rp-gold);margin-top:12px}.rp-dialog h3{font-size:23px;color:var(--rp-ink);margin:0 0 7px}.rp-description{font-size:12px;line-height:1.6;color:var(--rp-muted);margin:0}.rp-status{min-height:20px;font-size:11px;color:var(--rp-gold);margin:12px 0}.rp-controls{gap:22px;margin:16px 0}.rp-play{width:60px;height:60px;font-size:21px;background:var(--rp-gold);color:var(--rp-bg);box-shadow:0 6px 24px #bda65f35}.rp-volume{margin:18px auto;max-width:240px;color:var(--rp-gold)}.rp-volume input{width:100%;accent-color:var(--rp-gold);cursor:pointer}.rp-stations{display:block;text-align:left;font-size:11px;color:var(--rp-muted);border-top:1px solid var(--rp-line);padding-top:15px}.rp-stations select{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:11px;border:1px solid var(--rp-line);border-radius:12px;background:var(--rp-bg);color:var(--rp-ink);font:inherit;font-size:13px}
.rp-dock{position:fixed;z-index:1000;left:50%;transform:translateX(-50%);width:min(380px,calc(100vw - 100px));box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--rp-line);border-radius:18px;background:color-mix(in srgb,var(--rp-bg) 92%,transparent);backdrop-filter:blur(18px);box-shadow:0 8px 32px #0004;transition:bottom .3s ease-in-out}.rp-dock[hidden]{display:none}.rp-reopen{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-align:left;background:none;border:0;color:var(--rp-ink);cursor:pointer;padding:0}.rp-reopen img{width:40px;height:40px;border-radius:12px;object-fit:cover;overflow:hidden;flex-shrink:0}.rp-reopen span{min-width:0}.rp-reopen strong,.rp-reopen small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-reopen strong{font-size:12px}.rp-reopen small{font-size:9px;color:var(--rp-muted);margin-top:3px}.rp-dock .rp-button{width:30px;height:30px;font-size:12px}.rp-playing .rp-live{animation:rp-pulse 2s ease-in-out infinite}.rp-status .fa-circle-o-notch{animation:rp-spin 1s linear infinite}.rp-button .fa-circle-o-notch{animation:rp-spin 1s linear infinite}@keyframes rp-pulse{50%{opacity:.5}}@keyframes rp-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.rp-dialog{padding:18px}.rp-visual{width:104px}.rp-art{width:104px;height:104px}.rp-dock{left:12px;transform:none;width:calc(100vw - 84px);gap:5px;padding:8px}.rp-reopen{gap:7px}.rp-reopen img{width:32px;height:32px}.rp-reopen strong{font-size:11px}.rp-dock .rp-button{width:27px;height:27px}.rp-controls{margin:12px 0}}@media(prefers-reduced-motion:reduce){.rp-dock,.rp-button{transition:none}.rp-playing .rp-live,.rp-button .fa-circle-o-notch{animation:none}}

.rp-dialog::-webkit-scrollbar{width:4px}.rp-dialog::-webkit-scrollbar-track{margin-block:24px;background:transparent}.rp-dialog::-webkit-scrollbar-thumb{background:var(--rp-gold);border-radius:100%}

/* Spacious circular artwork selector, with quieter neighbouring stations. */
.rp-visual{width:100%;max-width:366px}
.rp-carousel{--rp-drag:0px;--rp-offset:124px;position:relative;display:flex;align-items:center;justify-content:center;height:164px;overflow:hidden;touch-action:pan-y;user-select:none;isolation:isolate;border-radius:22px;cursor:grab;perspective:650px}
.rp-carousel:focus-visible{outline:2px solid var(--rp-gold);outline-offset:2px}
.rp-carousel>.rp-art{width:132px;height:132px;position:relative;z-index:3;flex-shrink:0;transform:translateX(var(--rp-drag));transition:transform .3s ease;box-shadow:0 14px 26px #0005,0 0 0 2px var(--rp-line),0 0 22px #c4a95718;pointer-events:none}
.rp-side{position:absolute;top:50%;left:50%;width:84px;height:84px;padding:0;border:1px solid var(--rp-line);border-radius:18px;background:var(--rp-bg);overflow:hidden;opacity:.45;filter:saturate(.55);z-index:1;cursor:pointer;transition:opacity .25s,filter .25s,transform .3s;box-shadow:0 8px 16px #0003}
.rp-side[hidden]{display:none}.rp-side img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.rp-side-left{transform:translate(calc(-50% - var(--rp-offset) + var(--rp-drag)), -44%) rotateY(18deg) scale(.92)}
.rp-side-right{transform:translate(calc(-50% + var(--rp-offset) + var(--rp-drag)), -44%) rotateY(-18deg) scale(.92)}
.rp-side:hover,.rp-side:focus-visible{opacity:.85;filter:saturate(1)}.rp-side:focus-visible{outline:2px solid var(--rp-gold);outline-offset:-3px}
.rp-dragging{cursor:grabbing}.rp-dragging>.rp-art,.rp-dragging>.rp-side{transition:none}.rp-carousel-single{cursor:default}
.rp-swipe-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:3px 0 12px;color:var(--rp-muted);font-size:10px;line-height:1.5}.rp-swipe-hint[hidden]{display:none}.rp-swipe-hint>.fa{font-size:14px;color:var(--rp-gold);animation:rp-swipe-cue 2.5s ease-in-out 3}.rp-swipe-hint>.fa:first-child{--rp-cue:-3px}.rp-swipe-hint>.fa:nth-child(3){--rp-cue:3px}.rp-station-count{font-size:9px;font-variant-numeric:tabular-nums;padding:0 3px;color:var(--rp-gold)}
.rp-visual .rp-live{margin-top:0}
@keyframes rp-swipe-cue{50%{transform:translateX(var(--rp-cue));opacity:.45}}
@media(max-width:480px){.rp-carousel{height:140px;--rp-offset:110px}.rp-carousel>.rp-art{width:110px;height:110px;border-radius:22px}.rp-side{width:76px;height:76px;border-radius:17px}.rp-swipe-hint{font-size:9px;gap:6px}}
@media(max-width:350px){.rp-carousel{--rp-offset:100px}.rp-carousel>.rp-art{width:100px;height:100px}.rp-side{width:68px;height:68px}}
@media(prefers-reduced-motion:reduce){.rp-carousel>.rp-art,.rp-side{transition:none}.rp-swipe-hint>.fa{animation:none}}

#radioFab #radioSpinner{object-fit:cover;flex-shrink:0}#radioFab #radioSpinner.spin{animation:rp-spin 6s linear infinite;transform-origin:center}@media(prefers-reduced-motion:reduce){#radioFab #radioSpinner.spin{animation:none}}

#radioFab.rp-has-logo>i,#radioFab.rp-has-logo>svg{display:none!important}#radioFab.rp-has-logo #radioSpinner{display:block!important;visibility:visible;opacity:1;width:30px;height:30px;min-width:30px;border-radius:50%;object-fit:cover}

/* Inset tapered scrollbar, clipped within the rounded dialog. */
.rp-dialog{padding:0;overflow:hidden}
.rp-scroll-body{box-sizing:border-box;max-height:calc(88dvh - 2px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:22px;scrollbar-width:none}
.rp-scroll-body::-webkit-scrollbar{display:none}
.rp-scroll-body:focus-visible{outline:1px solid var(--rp-line);outline-offset:-6px;border-radius:24px}
.rp-scroll-rail{position:absolute;right:5px;top:24px;bottom:24px;width:5px;overflow:hidden}
.rp-scroll-rail[hidden]{display:none}
.rp-scroll-thumb{width:100%;border-radius:50%;background:linear-gradient(to bottom,transparent,var(--rp-gold) 16%,var(--rp-gold) 84%,transparent);clip-path:polygon(50% 0,100% 18%,100% 82%,50% 100%,0 82%,0 18%);opacity:.7;touch-action:none;cursor:grab}
.rp-scroll-thumb:active{opacity:1;cursor:grabbing}
@media(max-width:480px){.rp-scroll-body{padding:18px}.rp-scroll-rail{top:22px;bottom:22px;right:4px;width:4px}}
