
html[data-theme="light"]{
  --bg0:#f6f7ff;
  --bg1:#eef2ff;
  --card:#ffffffcc;
  --card2:#ffffffc2;
  --stroke:#d7dcff;
  --stroke2:#cfd6ff;
  --text:#0d1222;
  --muted:#4d5a88;
  --muted2:#5c69a3;

  --shadow: 0 20px 60px rgba(8,10,20,.12);
  --shadow2: 0 10px 30px rgba(8,10,20,.10);
}

:root{
  --bg0:#070812;
  --bg1:#0b1022;
  --card:#0f1734cc;
  --card2:#0c122ac2;
  --stroke:#2b3a78aa;
  --stroke2:#1d2754aa;
  --text:#e7ecff;
  --muted:#a9b3de;
  --muted2:#7c88c7;
  --accent:#7c5cff;
  --accent2:#43d3ff;
  --good:#41f0a2;
  --warn:#ffc14a;
  --bad:#ff4d6d;

  --r12:12px;
  --r16:16px;
  --r20:20px;

  --shadow: 0 20px 60px rgba(0,0,0,.45);
  --shadow2: 0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 700px at 20% 10%, #2a1b7a55, transparent 60%),
              radial-gradient(900px 650px at 80% 20%, #0aa5ff33, transparent 55%),
              radial-gradient(900px 650px at 50% 90%, #7c5cff22, transparent 55%),
              linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow:hidden;
}

.bg{position:fixed; inset:0; pointer-events:none; z-index:-1}
.bg__grid{
  position:absolute; inset:-2px;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity:.13;
  filter: blur(.2px);
}
.bg__glow{
  position:absolute;
  width:1100px; height:1100px;
  left:-250px; top:-260px;
  background: radial-gradient(circle at 30% 30%, rgba(124,92,255,.45), transparent 60%),
              radial-gradient(circle at 70% 60%, rgba(67,211,255,.25), transparent 55%);
  filter: blur(40px);
  opacity:.75;
  animation: drift 14s ease-in-out infinite alternate;
}
@keyframes drift{
  from{transform: translate(0,0) scale(1)}
  to{transform: translate(120px,90px) scale(1.05)}
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 18px 22px;
}
.brand{display:flex; gap:14px; align-items:center}
.brand__mark{
  width:44px; height:44px; border-radius: 14px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.25), transparent 60%),
              linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 10px 25px rgba(124,92,255,.35);
  position:relative;
}
.brand__mark::after{
  content:"";
  position:absolute; inset:11px;
  border-radius: 12px;
  background: rgba(10,14,28,.55);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
}
.brand__title{font-weight:700; letter-spacing:.2px}
.brand__subtitle{font-size:12px; color:var(--muted); margin-top:2px}

.topbar__right{display:flex; gap:10px; align-items:center}

.layout{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 16px;
  padding: 0 16px 16px 16px;
  height: calc(100vh - 78px);
}

.panel{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--r20);
  box-shadow: var(--shadow2);
  backdrop-filter: blur(14px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:0;
}

.panel__header{padding: 14px 14px 10px 14px; border-bottom:1px solid rgba(255,255,255,.08)}
.panel__footer{
  padding: 10px 14px;
  border-top:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.12);
}
.hint{font-size:12px; color:var(--muted)}
kbd{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 8px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.25);
}

.search{display:flex; align-items:center; gap:8px}
.search__input{
  flex:1;
  height:44px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  color: var(--text);
  padding: 0 14px;
  outline:none;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.25);
}
.search__input::placeholder{color: rgba(231,236,255,.55)}
.search__input:focus{border-color: rgba(124,92,255,.55); box-shadow: 0 0 0 4px rgba(124,92,255,.18)}
.search__clear{
  width:44px;height:44px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.14);
  color: var(--muted);
  cursor:pointer;
}
.search__clear:hover{background: rgba(255,255,255,.07)}

.filters{margin-top:10px; display:flex; flex-direction:column; gap:10px}

.pillset{display:flex; gap:8px; flex-wrap:wrap}
.pill{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.12);
  color: var(--muted);
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  cursor:pointer;
  font-weight:600;
  font-size: 12px;
}
.pill:hover{background: rgba(255,255,255,.07); color:var(--text)}
.pill.is-active{
  background: linear-gradient(135deg, rgba(124,92,255,.35), rgba(67,211,255,.18));
  border-color: rgba(124,92,255,.55);
  color: var(--text);
}

.filterrow{display:grid; grid-template-columns: 1fr 1fr 1fr; gap:10px}
.select{display:flex; flex-direction:column; gap:6px}
.select__label{font-size:11px; color: var(--muted)}
select{
  height:40px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.14);
  color: var(--text);
  padding: 0 10px;
  outline:none;
}
select:focus{border-color: rgba(124,92,255,.55); box-shadow: 0 0 0 4px rgba(124,92,255,.16)}

.stats{display:flex; align-items:center; justify-content:space-between; margin-top:10px}
.stats__left,.stats__right{display:flex; gap:8px; align-items:center; flex-wrap:wrap}

.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.16);
  font-size: 12px;
}
.chip--muted{color: var(--muted)}

.btn{
  height:40px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.16);
  color: var(--text);
  cursor:pointer;
  font-weight:600;
}
.btn--ghost{background: rgba(0,0,0,.10)}
.btn--ghost:hover{background: rgba(255,255,255,.07)}
.btn--primary{
  background: linear-gradient(135deg, rgba(124,92,255,.9), rgba(67,211,255,.65));
  border-color: rgba(124,92,255,.6);
  box-shadow: 0 12px 25px rgba(124,92,255,.22);
}
.btn--primary:hover{filter: brightness(1.05)}
.btn:active{transform: translateY(1px)}
.btn[disabled]{opacity:.55; cursor:not-allowed}

.list{padding: 10px; overflow:auto; min-height:0}
.list::-webkit-scrollbar{width:10px}
.list::-webkit-scrollbar-thumb{background: rgba(255,255,255,.10); border-radius: 999px}
.list::-webkit-scrollbar-track{background: rgba(0,0,0,.15)}

.card{
  display:grid;
  grid-template-columns: 44px 1fr auto;
  gap: 12px;
  align-items:center;
  padding: 10px 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.10);
  margin-bottom: 10px;
  transition: transform .08s ease, background .12s ease, border-color .12s ease;
}
.card:hover{background: rgba(255,255,255,.05); border-color: rgba(124,92,255,.25)}
.card.is-playing{
  background: linear-gradient(135deg, rgba(124,92,255,.18), rgba(67,211,255,.10));
  border-color: rgba(124,92,255,.45);
}
.card__img{
  width:44px; height:44px; border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.card__img img{width:100%; height:100%; object-fit:cover; display:block}
.card__img .dot{
  width:10px; height:10px; border-radius: 999px;
  background: rgba(255,255,255,.35);
}
.card__main{min-width:0}
.card__title{
  font-weight:700;
  font-size: 13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}
.card__sub{
  margin-top:4px;
  font-size: 12px;
  color: var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}
.card__right{display:flex; gap:8px; align-items:center}
.small{
  height:34px;
  padding: 0 10px;
  border-radius: 12px;
  font-size: 12px;
}
.iconbtn{
  width:34px; height:34px;
  border-radius: 12px;
  display:inline-flex;
  align-items:center; justify-content:center;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.10);
  color: var(--text);
  cursor:pointer;
}
.iconbtn:hover{background: rgba(255,255,255,.07)}
.iconbtn.is-fav{color: #ffd36e; border-color: rgba(255,211,110,.35)}

.skeleton{padding: 10px}
.skeleton__line{
  height: 54px;
  border-radius: 16px;
  background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.10), rgba(255,255,255,.04));
  background-size: 200% 100%;
  animation: shimmer 1.2s infinite;
  margin-bottom: 10px;
}
@keyframes shimmer{
  0%{background-position: 0% 0}
  100%{background-position: 200% 0}
}

.now{display:flex; gap:16px; padding: 16px; align-items:flex-start}
.now__art{
  width: 120px; height:120px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.16);
  overflow:hidden;
  position:relative;
  box-shadow: 0 14px 35px rgba(0,0,0,.35);
  flex: 0 0 auto;
}
.now__art img{width:100%; height:100%; object-fit:cover; display:block}
.now__artBadge{
  position:absolute;
  bottom:10px; left:10px;
  font-size: 11px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.45);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(231,236,255,.92);
  letter-spacing:.6px;
  font-weight:700;
}

.now__meta{min-width:0; flex:1}
.now__title{
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .1px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}
.now__sub{margin-top:6px; color: var(--muted); font-size: 12px}
.now__chips{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px}

.controls{display:flex; gap:10px; margin-top: 14px; flex-wrap:wrap}

.sliders{margin-top: 12px; display:flex; flex-direction:column; gap:10px}
.sliderrow{display:grid; grid-template-columns: 90px 1fr 48px; gap:10px; align-items:center}
.sliderrow__label{font-size: 12px; color: var(--muted)}
.sliderrow__value{font-size: 12px; color: var(--muted); text-align:right}
input[type="range"]{
  width:100%;
  accent-color: var(--accent2);
}

.meter{display:flex; flex-direction:column; gap:8px}
.meter__bar{
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  overflow:hidden;
}
.meter__fill{
  height:100%;
  width:0%;
  background: linear-gradient(90deg, rgba(67,211,255,.95), rgba(124,92,255,.95));
  transition: width .18s ease;
}
.meter__text{font-size: 12px; color: var(--muted)}

.vizWrap{
  margin: 0 16px 16px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  position:relative;
  overflow:hidden;
  min-height: 240px;
}
#viz{display:block; width:100%; height:260px}
.vizHint{
  position:absolute;
  left: 14px; bottom: 12px;
  font-size: 12px;
  color: rgba(231,236,255,.75);
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
}

.details{
  margin: 0 16px 16px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.14);
  padding: 12px;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.details__row{display:grid; grid-template-columns: 84px 1fr; gap:10px; align-items:start}
.details__label{font-size: 12px; color: var(--muted)}
.details__value{font-size: 12px; color: rgba(231,236,255,.92); line-height: 1.35}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace}
.details__value a{color: rgba(67,211,255,.92); text-decoration:none}
.details__value a:hover{text-decoration:underline}

.modal{border:none; padding:0; background: transparent}
.modal::backdrop{background: rgba(0,0,0,.55); backdrop-filter: blur(6px)}
.modal__card{
  width:min(720px, calc(100vw - 30px));
  margin: 6vh auto 0 auto;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(15,23,52,.92), rgba(10,14,30,.92));
  box-shadow: var(--shadow);
  overflow:hidden;
}
.modal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.modal__title{font-weight:800}
.modal__body{padding: 14px 14px 16px 14px; color: rgba(231,236,255,.92)}
.modal__steps{margin:0; padding-left: 18px}
.modal__text{margin-top: 8px; color: var(--muted)}
.modal__divider{height:1px; background: rgba(255,255,255,.08); margin: 12px 0}
.code{
  margin: 10px 0 0 0;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.25);
  overflow:auto;
}

@media (max-width: 980px){
  body{overflow:auto}
  .layout{grid-template-columns: 1fr; height:auto}
  .panel{min-height: 560px}
}

/* Virtual list */
.list{position:relative}
.list__viewport{position:relative; min-height:0}
.list__spacer{height:0px}
.list__items{position:absolute; left:0; top:0; right:0}

.modal--player .modal__card--player{
  width:min(860px, calc(100vw - 30px));
}
.modal__body--player{padding: 12px 12px 14px 12px}

/* Animated page background canvas */
.bgCanvas{
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -5;
  pointer-events: none;
}

/* Viz as background in player panel */
.panel--right{
  position: relative;
  overflow: hidden;
}
.panel--right > *:not(.vizWrap){
  position: relative;
  z-index: 2;
}
.vizWrap{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .65;
  filter: blur(.2px) saturate(1.05);
}
#viz{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  mix-blend-mode: screen;
}
.vizHint{
  position:absolute;
  left: 12px;
  bottom: 10px;
  right: 12px;
  font-size: 12px;
  opacity: .55;
  text-align: left;
}

/* Polish v5 */
:root{
  --glass: rgba(255,255,255,.06);
  --glass2: rgba(255,255,255,.10);
  --glassStroke: rgba(255,255,255,.12);
  --glassStroke2: rgba(255,255,255,.08);
  --glowA: rgba(124,92,255,.35);
  --glowB: rgba(67,211,255,.30);
  --noise: url('data:image/png;base64,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');
}

html[data-theme="light"]{
  --glass: rgba(0,0,0,.04);
  --glass2: rgba(0,0,0,.06);
  --glassStroke: rgba(0,0,0,.10);
  --glassStroke2: rgba(0,0,0,.07);
  --glowA: rgba(124,92,255,.22);
  --glowB: rgba(67,211,255,.20);
}

/* Subtle grain layer */
body::before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -4;
  background-image: var(--noise);
  opacity: .22;
  mix-blend-mode: overlay;
  animation: noiseDrift 8s linear infinite;
}
@keyframes noiseDrift{
  0%{ transform: translate3d(0,0,0) }
  100%{ transform: translate3d(-64px,32px,0) }
}

/* Soft aurora shine */
body::after{
  content:"";
  position: fixed;
  inset: -20%;
  pointer-events: none;
  z-index: -4;
  background:
    radial-gradient(closest-side at 20% 20%, rgba(124,92,255,.22), transparent 60%),
    radial-gradient(closest-side at 80% 35%, rgba(67,211,255,.18), transparent 60%),
    radial-gradient(closest-side at 55% 85%, rgba(124,92,255,.12), transparent 70%);
  filter: blur(20px) saturate(1.05);
  animation: aurora 14s ease-in-out infinite alternate;
}
@keyframes aurora{
  from{ transform: translate3d(-2%, -1%, 0) rotate(-1deg); opacity: .9; }
  to{ transform: translate3d(2%, 1%, 0) rotate(1deg); opacity: 1; }
}

/* Stronger glass cards */
.panel, .card, .topbar, .modal__card{
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.panel{
  background: linear-gradient(180deg, var(--glass2), var(--glass));
  border: 1px solid var(--glassStroke);
  box-shadow: var(--shadow);
}
.card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035));
  border: 1px solid var(--glassStroke2);
}
html[data-theme="light"] .card{
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.62));
}

/* Player cover LIVE badge */
.cover{ position: relative; }
.cover .liveBadge{
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.95);
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
}
.cover .liveDot{
  display:inline-block;
  width:8px; height:8px;
  border-radius:999px;
  margin-right:6px;
  background: rgb(255,70,70);
  box-shadow: 0 0 10px rgba(255,70,70,.55);
}

/* Pills like in mock */
.pills{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .02em;
  color: rgba(231,236,255,.92);
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.12);
}
html[data-theme="light"] .pill{ color: rgba(13,18,34,.92); background: rgba(255,255,255,.60); border-color: rgba(0,0,0,.10);}

/* Controls buttons style */
.btn--hero{
  background: linear-gradient(135deg, rgba(124,92,255,.85), rgba(67,211,255,.55));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 14px 40px rgba(124,92,255,.18);
}
.btn--hero:hover{ transform: translateY(-1px); }

/* Make viz feel like background waves */
.vizWrap{ opacity: .55; }
.panel--right::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(1200px 420px at 15% 20%, rgba(124,92,255,.18), transparent 60%),
    radial-gradient(900px 360px at 75% 35%, rgba(67,211,255,.14), transparent 60%);
  z-index: 0;
  pointer-events:none;
  filter: blur(8px);
}

/* FX toggle */
html[data-fx="off"] .bgCanvas{ display:none; }
html[data-fx="off"] .vizWrap{ opacity:.08; filter:none; }
html[data-fx="off"] body::before,
html[data-fx="off"] body::after{ display:none; }

@media (prefers-reduced-motion: reduce){
  .bgCanvas{ display:none; }
  body::before, body::after{ display:none; }
}

/* Sharded catalog v8 */
.hint{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-size: 12px;
  opacity: .85;
}
html[data-theme="light"] .hint{
  background: rgba(255,255,255,.70);
  border-color: rgba(0,0,0,.10);
  color: rgba(10,14,26,.92);
}
.btn--active{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.18);
}
html[data-theme="light"] .btn--active{
  background: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.12);
}

/* loading hint */
#hintBar{ opacity:0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; }
#hintBar.hint--show{ opacity:1; transform: translateY(0); }
html[data-loading="1"] #hintBar{ opacity:1; transform: translateY(0); }

/* PoW progress bar (v12) */
#powBar{
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  overflow: hidden;
  margin-top: 10px;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .18s ease, transform .18s ease;
}
#powFill{
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: rgba(255,255,255,.55);
  box-shadow: 0 0 18px rgba(255,255,255,.25);
  transition: width .12s linear;
}
html[data-loading="1"] #powBar{ opacity: 1; transform: translateY(0); }
