.availability-tools { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 22px; color:var(--text-muted); font-size:13px; }
.availability-tools select, #source-select { background:var(--bg-surface); color:var(--text-main); border:1px solid var(--border); padding:10px; border-radius:8px; max-width:100%; }
.availability-tools label, .playback-options label { display:flex; align-items:center; gap:8px; }
.availability-badge { display:block; font-size:11px; color:var(--text-muted); padding:0 12px 12px; }
.availability-badge[data-state="available"] { color:#6ee7b7; }
.playback-options { display:flex; gap:16px; flex-wrap:wrap; font-size:13px; color:var(--text-muted); padding:12px 0; }
#playback-status { margin:0; padding:12px 0; color:var(--text-muted); font-size:13px; line-height:1.6; min-height:22px; }
#source-picker { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
#native-player { position:absolute; inset:0; width:100%; height:100%; background:#000; }
#player-empty { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:30px; color:var(--text-muted); }
[hidden] { display:none !important; }
#catalog-empty { color:var(--text-muted); padding:20px 0; line-height:1.6; }
#provider-health { color:var(--text-muted); font-size:12px; }
#download-options { align-items:center; gap:10px; }
#download-link { text-decoration:none; }
#download-link:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
button:disabled { opacity:.45; cursor:not-allowed; }
@media(max-width:650px) { #source-select { width:100%; } .controls-bar { gap:12px; flex-wrap:wrap; } }
