/* A small, opt-in gramophone above the contact bar, away from the left guide. */
.radio-player{position:fixed;right:20px;bottom:106px;z-index:29;width:142px;text-align:center;color:#29445d;isolation:isolate}
.radio-gramophone{display:block;width:112px;height:112px;object-fit:contain;margin:0 auto -9px;filter:drop-shadow(0 3px 3px #31281c25);position:relative;z-index:1}
.radio-controls{background:#fffdf9;border:1px solid #e4d6c4;border-radius:18px;padding:13px 9px 8px;box-shadow:0 5px 22px #2b42621a}
.radio-controls strong{display:block;font-size:15px;line-height:1.3}
.radio-genre{display:block;font-size:10px;margin:3px 0 6px}
.radio-controls button{display:block;min-height:44px;width:100%;border:0;border-radius:22px;background:#8c4564;color:white;font:inherit;font-weight:650;font-size:13px;cursor:pointer}
.radio-controls button[hidden]{display:none}
.radio-controls button:focus-visible{outline:3px solid #1b6eac;outline-offset:3px}
.radio-player[data-state=playing] button{background:#255975}
.radio-status{display:block;font-size:10px;line-height:1.4;margin-top:5px;overflow-wrap:anywhere}
.radio-status:empty{display:none}
.radio-source{display:inline-block;font-size:10px;padding:5px 8px;text-decoration:underline;text-underline-offset:3px;color:#5b5061}
.guide-open .radio-player{visibility:hidden}
@media(max-width:700px){.radio-player{right:10px;bottom:calc(78px + env(safe-area-inset-bottom,0px));width:130px}.radio-gramophone{width:86px;height:86px;margin-bottom:-9px}.radio-controls{padding:11px 7px 4px;border-radius:16px}.radio-controls strong{font-size:13px}.radio-genre{font-size:9px;margin:2px 0 4px}.radio-status{font-size:9px}}
@media(max-height:500px){.radio-player{width:120px;bottom:90px}.radio-gramophone{display:none}.radio-genre{display:none}}
@media print{.radio-player{display:none}}
