#radioView { padding: 22px 0; }
#radioView[hidden],#radioFavorites[hidden],#radioRecent[hidden],#radioPlayer[hidden] { display:none; }
#radioView .radio-heading { margin:24px 0; }
#radioView h1 { font-size:32px; line-height:1.5; margin:0; }
#radioView h2 { font-size:22px; margin:24px 0 12px; }
#radioView p { line-height:1.7; }
.radio-feature { padding:24px 20px; border-top:3px solid #b34b70; background:#f9eaf0; }
.radio-feature h2 { margin:6px 0!important; }
.radio-feature p { margin:0 0 14px; color:#694451; font-size:18px; }
.radio-feature .radio-frequency { font-size:30px; }
.radio-filters { display:flex; overflow-x:auto; gap:8px; padding:22px 0; }
.radio-filters button { flex-shrink:0; min-height:44px; border:1px solid #dfc9d0; padding:8px 14px; border-radius:8px; background:#fffcf8; color:#624453; font:inherit; font-size:17px; }
.radio-filters button[aria-pressed="true"] { color:white; background:#963853; border-color:#963853; }
.radio-list { display:grid; gap:12px; }
.radio-station { padding:20px; border:1px solid #e8dfe0; border-radius:8px; background:#fffdfa; box-shadow:0 3px 12px #62475306; }
.radio-station h3 { font-size:21px; line-height:1.5; font-weight:600; margin:8px 0; overflow-wrap:anywhere; }
.radio-frequency { color:#865b6c; font-size:28px; font-weight:500; line-height:1.3; }
.radio-station p { margin:8px 0; color:#685b61; font-size:17px; }
.radio-station-top,.radio-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.radio-actions { margin-top:16px; }
.radio-icon { min-width:44px; min-height:44px; display:grid; place-items:center; border:1px solid #e4cdd5; background:#fffafc; color:#943753; border-radius:50%; font-size:28px; cursor:pointer; }
.radio-icon[aria-pressed="true"] { background:#f7dce6; }
.radio-station button:disabled { opacity:1; background:#eee9e5; color:#675c60; border:0; box-shadow:none; cursor:default; font-size:16px; }
#radioView button:focus-visible,#radioSheet a:focus-visible,#radioSheet button:focus-visible { outline:3px solid #386b5a; outline-offset:3px; }
#radioSheet { position:fixed; inset:auto 0 0; margin:0 auto; width:min(100%,430px); max-height:85svh; overflow:auto; border:0; border-radius:8px 8px 0 0; padding:24px 24px max(24px,env(safe-area-inset-bottom)); background:#fffaf6; color:#352d31; }
#radioSheet::backdrop { background:#34283170; }
#radioSheet form { display:flex; justify-content:flex-end; }
#radioSheet h2 { font-size:24px; overflow-wrap:anywhere; }
#radioSheet p { font-size:18px; }
#radioExternal { text-decoration:none; min-height:48px; }
#radioPlayer { position:fixed; z-index:150; bottom:86px; left:50%; transform:translateX(-50%); width:min(390px,calc(100% - 24px)); padding:16px; border:1px solid #dbc4cb; background:#fffaf8; box-shadow:0 6px 24px #35283122; border-radius:8px; display:grid; gap:8px; font-size:16px; }
.radio-player-actions { display:flex; gap:8px; }
#radioVolume { min-height:44px; padding:0; }
#radioSheet { max-height:94svh; padding:16px; }
.radio-frame-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.radio-frame-header h2 { margin:0; min-width:0; }
.radio-frame-header form { flex-shrink:0; }
#radioIframe { display:block; width:100%; height:55svh; min-height:220px; border:1px solid #dfc9d0; border-radius:6px; background:white; }
#radioSheet .meta { font-size:16px; line-height:1.6; }
.mobile-dock { grid-template-columns: minmax(0,1fr) minmax(0,1.7fr) minmax(0,1fr); }
.mobile-dock .dock-btn { font-size:16px; padding:8px 4px; min-width:0; border-radius:12px; }
.view-tabs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,1fr); gap:6px; }
.view-tabs .tab-btn { min-width:0; font-size:16px; padding:8px 4px; overflow-wrap:break-word; }
.view-tabs [data-view-button="radio"], .mobile-dock [data-view-button="radio"] { display:flex; align-items:center; justify-content:center; gap:4px; flex-wrap:wrap; }
#radioView .radio-feature { background:#efd0dc; border-color:#a23861; }
#radioView .radio-feature .radio-frequency { color:#843653; }
.radio-station { background:#f9e2eb; border-color:#e1b8c8; border-left:4px solid #ba567b; }
.radio-station[data-radio-tone="country"] { background:#faedce; border-color:#e2cc99; border-left-color:#af8433; }
.radio-station[data-radio-tone="news"],.radio-station[data-radio-tone="talk"],.radio-station[data-radio-tone="traffic"] { background:#deeee6; border-color:#b5d3c3; border-left-color:#4c8a70; }
.radio-station .radio-frequency { color:#73475a; }
.radio-station[data-radio-tone="country"] .radio-frequency { color:#785720; }
.radio-station[data-radio-tone="news"] .radio-frequency,.radio-station[data-radio-tone="talk"] .radio-frequency,.radio-station[data-radio-tone="traffic"] .radio-frequency { color:#356b54; }
.radio-station .btn:not(:disabled) { background:#fffaf9; border-color:#c994a8; color:#842e4c; }
