/* ===== Radio Player Pro 2.0.0 (multiplayer) ===== */
.rpf-player{--bg:#0b1220;--fg:#e5e7eb;--bd:#1f2937;--mut:#9ca3af;--acc:#22d3ee;
  --fab-x: 18px; --fab-y: 18px;
  --fab-bg:#111827; --fab-fg:#e5e7eb; --fab-active-bg:#0ea5e9; --fab-active-fg:#ffffff;
  font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;max-width:960px;margin:18px auto;
  padding:16px;border-radius:18px;background:#0b1220;color:var(--fg);border:1px solid var(--bd);
  position:relative}
.rpf-player .rpf-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rpf-player .rpf-ctrls button{cursor:pointer;border:1px solid var(--bd);background:#0f172a;color:#e5e7eb;padding:8px 10px;border-radius:10px}
.rpf-player .rpf-ctrls .rpf-chip{font-size:.85rem;border-radius:999px;padding:6px 10px}
.rpf-player .rpf-vol input{vertical-align:middle;width:120px}
.rpf-player .rpf-now{display:flex;align-items:center;gap:12px}
.rpf-player .rpf-cover{width:56px;height:56px;border-radius:12px;background:#111;border:1px solid #1f2937;overflow:hidden}
.rpf-player .rpf-cover img{width:100%;height:100%;object-fit:cover;display:block}
.rpf-player .rpf-name{margin:0;font-weight:700;font-size:1.1rem;color:#ffffff}
.rpf-player .rpf-genres{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.rpf-player .rpf-genre{border:1px solid var(--bd);background:#0f172a;color:#e5e7eb;border-radius:999px;padding:6px 10px;cursor:pointer}
.rpf-player .rpf-genre.active{background:linear-gradient(90deg, rgba(34,211,238,.25), rgba(34,211,238,.05)); border-color:#334155}
.rpf-player .rpf-list-wrap{margin-top:10px}
.rpf-player .rpf-list{list-style:none;margin:0;padding:0;border:1px solid var(--bd);border-radius:12px;overflow:auto}
.rpf-player .rpf-item{display:grid;grid-template-columns:auto 56px 1fr auto;align-items:center;gap:10px;padding:10px 12px;background:#0f172a;border-bottom:1px solid var(--bd);cursor:pointer}
.rpf-player .rpf-item:last-child{border-bottom:none}
.rpf-player .rpf-num{opacity:.7}
.rpf-player .rpf-thumb{width:56px;height:40px;border-radius:8px;background:#111;border:1px solid #1f2937;overflow:hidden}
.rpf-player .rpf-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rpf-player .rpf-title{margin:0;color:#ffffff;font-weight:600}
.rpf-player .rpf-item.active{background:linear-gradient(90deg, rgba(34,211,238,.15), rgba(34,211,238,0));border-left:3px solid var(--acc)}
@media (max-width:680px){ .rpf-player .rpf-item{grid-template-columns:auto 40px 1fr auto} .rpf-player .rpf-thumb{width:40px;height:28px} }

.rpf-player.rpf-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:9999; margin:0; border-radius:10px 10px 0 0; padding:10px 14px; max-width:none; border-top:1px solid #334155; border-left:none; border-right:none; }
.rpf-player.rpf-sticky .rpf-genres, .rpf-player.rpf-sticky .rpf-list-wrap{ display:none; }
body { padding-bottom: 90px; }
@media (max-width:640px){ body{ padding-bottom: 110px; } }

.rpf-player.rpf-fab { background: transparent; border: none; padding: 0; max-width:none; }
.rpf-player.rpf-fab .rpf-fab-btn{
  position:fixed; z-index:10000; width:64px; height:64px; border-radius:999px; border:none;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  background:var(--fab-bg); color:var(--fab-fg); font-size:24px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:0; border:1px solid #374151; overflow:hidden;
}
.rpf-player.rpf-fab .rpf-fab-btn .rpf-fab-icon{ width:60%; height:60%; object-fit:contain; display:block; }
.rpf-player.rpf-fab .rpf-fab-btn img.rpf-fab-icon{ filter:none; }

.rpf-player.rpf-fab.corner-br .rpf-fab-btn{ right:var(--fab-x); bottom:var(--fab-y); }
.rpf-player.rpf-fab.corner-bl .rpf-fab-btn{ left:var(--fab-x); bottom:var(--fab-y); }
.rpf-player.rpf-fab.corner-tr .rpf-fab-btn{ right:var(--fab-x); top:var(--fab-y); }
.rpf-player.rpf-fab.corner-tl .rpf-fab-btn{ left:var(--fab-x); top:var(--fab-y); }

.rpf-player.rpf-fab .rpf-fab-panel{ position:fixed; z-index:10000; width:min(420px,96vw); max-height:min(70vh,560px); overflow:auto; background:#0b1220; color:#e5e7eb; border:1px solid #1f2937; border-radius:12px; padding:12px; display:none; box-shadow:0 12px 28px rgba(0,0,0,.45); }
.rpf-player.rpf-fab.panel-drawer.corner-br .rpf-fab-panel{ right:var(--fab-x); bottom:calc(var(--fab-y) + 74px); }
.rpf-player.rpf-fab.panel-drawer.corner-bl .rpf-fab-panel{ left:var(--fab-x); bottom:calc(var(--fab-y) + 74px); }
.rpf-player.rpf-fab.panel-drawer.corner-tr .rpf-fab-panel{ right:var(--fab-x); top:calc(var(--fab-y) + 74px); }
.rpf-player.rpf-fab.panel-drawer.corner-tl .rpf-fab-panel{ left:var(--fab-x); top:calc(var(--fab-y) + 74px); }
.rpf-player.rpf-fab.open .rpf-fab-panel{ display:block; }
.rpf-player.rpf-fab.open .rpf-fab-btn{ background:var(--fab-active-bg); color:var(--fab-active-fg); }

.rpf-player.rpf-fab .rpf-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.45); display:none; z-index:9999; }
.rpf-player.rpf-fab.panel-modal .rpf-fab-panel{ position:fixed; inset:auto; left:50%; top:50%; transform:translate(-50%,-50%); width:min(520px, 96vw); max-height:min(80vh, 640px); }
.rpf-player.rpf-fab.panel-modal.open .rpf-fab-panel{ display:block; }
.rpf-player.rpf-fab.panel-modal.open .rpf-overlay{ display:block; }