:root { --nr-pink:#ff4d9d; --nr-purple:#9b5cff; --nr-bg:rgba(9,5,18,.96); --nr-text:#fff; }
#nemesisRadio, #nemesisRadio * { box-sizing:border-box; }
#nemesisRadio { position:fixed; right:18px; bottom:18px; width:min(360px,calc(100vw - 24px)); z-index:2147483000; color:var(--nr-text); font:500 14px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif; }
.nr-launcher { display:none; margin-left:auto; border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:11px 17px; color:#fff; background:linear-gradient(135deg,#7025b8,#e62d78); box-shadow:0 0 22px rgba(255,77,157,.48); cursor:pointer; gap:7px; align-items:center; }
.nr-player { overflow:hidden; border:1px solid rgba(255,120,215,.34); border-radius:20px; background:radial-gradient(circle at 10% 0%,rgba(121,42,160,.58),var(--nr-bg) 52%); box-shadow:0 16px 55px rgba(0,0,0,.6),0 0 25px rgba(203,61,255,.18); backdrop-filter:blur(16px); }
.nr-collapsed .nr-player { display:none; }
.nr-collapsed .nr-launcher { display:flex; }
.nr-header { display:flex; justify-content:space-between; align-items:center; padding:11px 13px; border-bottom:1px solid rgba(255,255,255,.09); color:#ff9ddd; font-size:12px; font-weight:800; letter-spacing:.08em; }
.nr-header button,.nr-controls button,.nr-tools button,.nr-favorite,.nr-list button { border:0; color:#fff; background:transparent; cursor:pointer; }
.nr-header button { width:30px; height:30px; border-radius:8px; font-size:18px; }
.nr-header button:hover,.nr-header button:focus-visible { background:rgba(255,255,255,.12); }
.nr-track { display:grid; grid-template-columns:64px 1fr 38px; gap:11px; align-items:center; padding:13px; }
.nr-cover { width:64px; height:64px; border-radius:13px; object-fit:cover; background:#160d20; box-shadow:0 0 17px rgba(255,77,157,.34); }
.nr-track-copy { min-width:0; }
.nr-title { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; color:#fff; }
.nr-next { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:5px; color:#cdbbd8; font-size:11px; }
.nr-favorite { width:38px; height:38px; border-radius:50%; font-size:25px; color:#d5c4dc; }
.nr-favorite.is-active,.nr-list-star { color:#ffd75c; }
.nr-progress-row { display:grid; grid-template-columns:38px 1fr 38px; gap:8px; align-items:center; padding:0 13px 9px; color:#cbb9d3; font-size:10px; }
.nr-progress,.nr-volume { accent-color:var(--nr-pink); cursor:pointer; }
.nr-progress { width:100%; }
.nr-controls { display:flex; justify-content:center; gap:7px; align-items:center; padding:4px 12px 10px; }
.nr-controls button { width:42px; height:40px; border-radius:12px; background:rgba(255,255,255,.07); font-size:17px; }
.nr-controls .nr-play { width:50px; height:50px; border-radius:50%; background:linear-gradient(135deg,var(--nr-purple),var(--nr-pink)); box-shadow:0 0 18px rgba(255,77,157,.38); font-size:21px; }
.nr-controls button:hover,.nr-controls button:focus-visible,.nr-tools button:hover,.nr-tools button:focus-visible { transform:translateY(-1px); background-color:rgba(255,255,255,.15); }
.nr-controls button.is-active,.nr-tools button.is-active { color:#ff94d2; background:rgba(255,77,157,.18); }
.nr-tools { display:grid; grid-template-columns:38px 1fr auto; gap:8px; align-items:center; padding:0 13px 12px; }
.nr-tools button { min-height:34px; border-radius:9px; padding:5px 9px; background:rgba(255,255,255,.06); }
.nr-volume { width:100%; }
.nr-list { max-height:310px; border-top:1px solid rgba(255,255,255,.1); background:rgba(3,1,8,.58); }
.nr-list-head { display:flex; justify-content:space-between; align-items:center; padding:10px 13px; }
.nr-favorites-only { border-radius:8px!important; padding:6px 9px!important; background:rgba(255,255,255,.07)!important; }
.nr-favorites-only.is-active { color:#ffd75c!important; background:rgba(255,215,92,.12)!important; }
.nr-list-items { max-height:220px; overflow:auto; padding:0 7px; scrollbar-color:#8e3ca0 transparent; }
.nr-list-row { display:grid; grid-template-columns:1fr 38px; align-items:center; border-radius:9px; }
.nr-list-row:hover,.nr-list-row.is-current { background:rgba(255,77,157,.12); }
.nr-list-select { min-width:0; padding:9px!important; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nr-list-star { height:34px; font-size:19px; }
.nr-empty { padding:10px; text-align:center; color:#cbb9d3; }
.nr-shortcuts { display:block; padding:8px 12px 11px; color:#988aa2; font-size:9px; }
.nr-status { min-height:0; margin:0; padding:0 13px; color:#ffb0dc; font-size:11px; text-align:center; }
.nr-status:not(:empty) { min-height:28px; padding-bottom:10px; }
#nemesisRadio button:focus-visible,#nemesisRadio input:focus-visible { outline:2px solid #fff; outline-offset:2px; }
@media (max-width:600px) {
  #nemesisRadio { right:6px; bottom:max(6px,env(safe-area-inset-bottom)); width:min(310px,calc(100vw - 12px)); pointer-events:none; }
  .nr-player,.nr-launcher { pointer-events:auto; }
  .nr-player { max-height:calc(100dvh - 12px); overflow-y:auto; overscroll-behavior:contain; border-radius:17px; }
  .nr-header { position:sticky; top:0; z-index:3; background:rgba(25,10,32,.96); }
  .nr-track { grid-template-columns:54px 1fr 36px; padding:10px; }
  .nr-cover { width:54px; height:54px; }
  .nr-controls { padding-bottom:7px; }
  .nr-list { max-height:255px; }
  .nr-shortcuts { display:none; }
  #nemesisRadio.nr-mini { width:220px; }
  #nemesisRadio.nr-mini .nr-player { width:220px; max-height:none; overflow:hidden; }
  #nemesisRadio.nr-mini .nr-controls { gap:4px; }
  #nemesisRadio.nr-mini .nr-controls .nr-shuffle,#nemesisRadio.nr-mini .nr-controls .nr-repeat { display:none; }
  #nemesisRadio.nr-mini .nr-controls button { width:38px; height:36px; }
  #nemesisRadio.nr-mini .nr-controls .nr-play { width:44px; height:44px; }
}
@media (prefers-reduced-motion:reduce) { #nemesisRadio *,#nemesisRadio *::before,#nemesisRadio *::after { animation:none!important; transition:none!important; } }
.nr-video-shell{width:100%;min-height:200px;background:#000;overflow:hidden}
.nr-video-shell iframe{display:block;width:100%!important;min-height:200px;border:0}
#nemesisRadio.nr-mini .nr-track,#nemesisRadio.nr-mini .nr-progress-row,#nemesisRadio.nr-mini .nr-tools,#nemesisRadio.nr-mini .nr-list,#nemesisRadio.nr-mini .nr-status{display:none!important}
#nemesisRadio.nr-mini .nr-player{width:260px}
#nemesisRadio.nr-mini .nr-video-shell,#nemesisRadio.nr-mini .nr-video-shell iframe{display:block!important;min-height:200px;height:200px!important}
#nemesisRadio.nr-mini .nr-controls{padding:8px}
@media (max-width:600px) {
  #nemesisRadio.nr-mini,#nemesisRadio.nr-mini .nr-player { width:220px; }
}
