/* Direct station controls stay visible on mobile; expand only when requested. */
.rh-radio-expand{border:0;border-radius:9px;background:transparent;color:#d0c8b8;display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;width:100%;padding:4px 12px;cursor:pointer;font:400 11px/1.4 'DM Sans',Arial,sans-serif}
.rh-radio-expand:hover{background:#ffffff0b;color:#fff}
.rh-radio-expand #rh-radio-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rh-radio-expand svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.rh-radio-dock{gap:0 20px;padding-bottom:4px}
.rf-open{overflow:hidden}
.rf-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#191b18;color:#eee8da;font-family:'DM Sans',Arial,sans-serif;overflow:auto;overscroll-behavior:contain;color-scheme:dark}
.rf-dialog::backdrop{background:#191b18}
.rf-shell{max-width:1120px;min-height:100%;margin:auto;padding:24px 48px 44px;box-sizing:border-box}
.rf-header{display:flex;justify-content:space-between;align-items:center;gap:24px}
.rf-logo{width:230px;height:82px;object-fit:contain;object-position:left center}
.rf-close{display:flex;align-items:center;gap:16px;background:transparent;color:inherit;border:1px solid #78786b;border-radius:30px;min-height:48px;padding:6px 20px;font:500 12px 'DM Sans',Arial,sans-serif;cursor:pointer}
.rf-close>span:last-child{font:30px/1 Arial,sans-serif}
.rf-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;padding:55px 0}
.rf-cover{aspect-ratio:1;margin:0;background:repeating-radial-gradient(circle at center,#242620 0 2px,#34372d 2px 3px,#242620 3px 9px);box-shadow:0 14px 55px #0006;max-width:440px;width:100%;border:1px solid #70706066}
.rf-cover img{width:100%;height:100%;object-fit:cover;display:block}
.rf-kicker{font-size:10px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:#d7af95;margin:0 0 24px}
.rf-dialog h2{font:800 clamp(32px,4vw,56px)/1.06 'Fraunces',Georgia,serif;letter-spacing:-.045em;margin:0 0 24px;color:#f4eee2}
.rf-track{font-size:20px;line-height:1.5;margin:0 0 16px;overflow-wrap:anywhere}
.rf-status{color:#c7c6b8;font-size:12px;margin:0 0 28px}
.rf-transport{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.rf-play{width:70px;height:70px;display:grid;place-items:center;border:0;border-radius:50%;background:#eee8da;color:#191b18;cursor:pointer;flex:none}
.rf-play svg{grid-area:1/1;width:28px;height:28px;fill:currentColor}.rf-play .rf-pause-icon{display:none;fill:none;stroke:currentColor;stroke-width:3}
.rf-playing .rf-play-icon{display:none}.rf-playing .rf-pause-icon{display:block}
.rf-output{display:flex;align-items:center;gap:9px;min-height:48px;border:0;background:transparent;color:#eee8da;padding:8px 0;font-size:12px;cursor:pointer;text-align:left}
.rf-output svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none}
.rf-stations{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.rf-stations button{border:1px solid #6d7061;color:#eee8da;background:transparent;border-radius:22px;min-height:44px;padding:10px 16px;font:500 12px 'DM Sans',Arial,sans-serif;cursor:pointer}
.rf-stations button[aria-pressed=true]{background:#eee8da;color:#191b18;border-color:#eee8da}
.rf-outputs{border-top:1px solid #5c5f50;padding:26px 0 10px;max-width:850px;margin:auto}
.rf-outputs h3{font:700 25px/1.2 'Fraunces',Georgia,serif;color:#eee8da;margin:0 0 25px}.rf-outputs p{font-size:14px;line-height:1.75;color:#d1ccbf;margin:0 0 18px}
.rf-device-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.rf-device-actions:empty{display:none}
.rf-device-actions button,.rf-network button{min-height:44px;padding:10px 16px;border:1px solid #8e8b7a;border-radius:4px;background:transparent;color:#eee8da;font-size:12px;cursor:pointer}
.rf-network label{display:block;font-size:11px;margin:22px 0 8px;color:#d1ccbf}.rf-network>div{display:flex;gap:12px}.rf-network input{width:100%;min-width:0;padding:10px;border:1px solid #6d7061;border-radius:4px;color:#eee8da;background:#20221d;font-size:12px}.rf-network button{flex:none}
.rf-dialog [hidden]{display:none!important}.rf-dialog :focus-visible{outline:2px solid #e7b58d;outline-offset:5px}
@media(max-width:767px){
 .rh-radio-dock,.rh-radio-dock.has-station{display:grid;bottom:calc(86px + env(safe-area-inset-bottom,0px));gap:0 8px;padding:6px 8px 0;border-radius:18px}
 .rh-radio-dock .rh-radio-cover{width:30px;height:30px;border-radius:5px}.rh-radio-stations button{font-size:10px;min-height:44px;gap:5px}
 .rh-radio-expand{min-height:44px;font-size:10px;padding:3px 6px}
 .rh-app-shell,.rh-app-shell.rh-radio-selected{padding-bottom:calc(194px + env(safe-area-inset-bottom,0px))}
 .rf-shell{padding:calc(12px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px))}
 .rf-logo{width:180px;height:64px}.rf-close{padding:4px 14px;gap:9px;min-height:44px}
 .rf-content{grid-template-columns:1fr;gap:25px;padding:22px 0 24px}.rf-cover{max-width:min(58vw,290px);margin:auto}
 .rf-copy{text-align:center}.rf-kicker{margin-bottom:15px;font-size:9px}.rf-dialog h2{font-size:35px;margin-bottom:14px}.rf-track{font-size:17px;margin-bottom:12px}.rf-status{font-size:11px;margin-bottom:20px}
 .rf-transport{justify-content:center;gap:20px}.rf-play{width:60px;height:60px}.rf-stations{justify-content:center;margin-top:24px;gap:9px}.rf-stations button{font-size:11px;padding:9px 14px}
 .rf-outputs{padding-top:24px}.rf-network>div{flex-direction:column}.rf-network button{align-self:flex-start}.rf-outputs p{font-size:15px}
}
@media(min-width:768px) and (max-height:700px){.rf-content{padding:22px 0;gap:45px}.rf-cover{max-width:330px}.rf-header .rf-logo{height:60px}.rf-dialog h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.rf-dialog *{scroll-behavior:auto!important;transition:none!important}}
.rf-playlist-actions{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 22px}.rf-playlist-actions a{display:inline-flex;align-items:center;min-height:46px;padding:12px 17px;border:1px solid #8e8b7a;border-radius:4px;background:#eee8da;color:#191b18;font:700 12px 'DM Sans',Arial,sans-serif;text-decoration:none}.rf-manual{border-top:1px solid #5c5f50;padding:10px 0}.rf-manual summary{min-height:46px;display:flex;align-items:center;cursor:pointer;font-size:12px;color:#c9c3b5}.rf-manual[open]>summary{margin-bottom:20px}
