/* Visual refinement; player behavior and effect settings are unchanged. */
:root { --g: 16px; }
.view { padding: 22px 28px 42px; }
.home-heading { margin: 12px 0 28px; }
.home-eyebrow { color: #a0a0aa; font-size: 10px; font-weight: 750; letter-spacing: .2em; }
.home-heading h1.h { font-size: clamp(26px, 3vw, 38px); letter-spacing: -.035em; margin: 9px 0 8px; }
.home-heading p { margin: 0; color: #96969f; font-size: 14px; }
.hero { min-height: 164px; border-radius: 24px; padding: 28px 30px; gap: 24px; border: 1px solid rgba(255,255,255,.06); background: radial-gradient(ellipse at 0% 100%, #671421 0, transparent 65%), radial-gradient(ellipse at 100% 0%, #33151e 0, transparent 65%), #150d12; }
.hero h3 { font-size: 32px; letter-spacing: -.04em; }
.hero p { font-size: 14px; color: #b7a7ae; max-width: 380px; }
.hero .bars { opacity: .22; right: 38px; gap: 6px; }
.hero .bars i { width: 4px; }
.hero .fab.big { box-shadow: 0 8px 30px rgba(255,43,61,.23); }
.chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; gap: 7px; scrollbar-width: thin; }
.chips .chip { flex: none; font-size: 12px; font-weight: 550; padding: 8px 13px; border: 1px solid rgba(255,255,255,.05); background: rgba(255,255,255,.035); color: #b4b4bd; }
.chips .chip:hover { background: rgba(255,255,255,.09); color: white; }
h2.h { font-size: 20px; letter-spacing: -.025em; margin-top: 30px; }
.cards { grid-auto-columns: 150px; gap: 18px; padding: 8px 4px 12px; }
.card { margin: 0; padding: 8px; border-radius: 16px; }
.card .t { font-size: 13px; margin-top: 12px; }
.card .a { font-size: 12px; margin-top: 3px; }
.side { padding: 12px; }
.nav a { font-size: 14px; border-radius: 12px; }
.nav a.on { background: rgba(255,255,255,.065); }
.side-h { margin-top: 28px; font-size: 10px; letter-spacing: .14em; }
.side .lg-rim1, .player .lg-rim1 { opacity: .18; }
.side .lg-rim2, .player .lg-rim2 { box-shadow: inset 0 0 0 1px rgba(255,255,255,.085), inset 0 1px 0 rgba(255,255,255,.065); }
.lg { box-shadow: 0 10px 30px rgba(0,0,0,.22); }
.main::-webkit-scrollbar { width: 6px; }
.main::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 9px; }
@media(max-width: 1000px) { .view { padding: 18px 16px 36px; } .hero .bars { display:none; } .cards { grid-auto-columns: 136px; } }

/* Consistent optical size and quiet selected states for player tools. */
.player .icon-btn:not(.like) { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; }
.player .icon-btn svg { width: 19px; height: 19px; stroke-width: 1.7; }
.player .icon-btn.on::after { display: none; }
.player .icon-btn.on { background: rgba(255,43,61,.10); }
.player .icon-btn:hover { background: rgba(255,255,255,.08); }

/* A filled heart is the selected state; no second indicator below it. */
.like.on::after, #pLike.on::after { display: none !important; content: none !important; }
#pLike { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
#pLike svg, .like svg { transform-origin: center; }
.heart-burst { position: fixed; pointer-events: none; z-index: 10000; width: 0; height: 0; color: #ff344e; }
.heart-burst i { position: absolute; width: 5px; height: 5px; left: -2.5px; top: -2.5px; border-radius: 50%; background: currentColor; }
.heart-burst b { position: absolute; width: 26px; height: 26px; left: -13px; top: -13px; border: 2px solid currentColor; border-radius: 50%; }
#emberScene { position:absolute; inset:0; width:100%; height:100%; display:none; pointer-events:none; }
.np.ember-mode #emberScene { display:block; }
.np.ember-mode .np-body { bottom:calc(var(--player-h) + var(--g) + 32px); }
.np.ember-mode:not(.has-lyrics) .np-left { flex-direction:column; gap:28px; text-align:center; }
.np.ember-mode:not(.has-clip) .np-cover { border-radius:50%; box-shadow:0 0 0 1.5px rgba(255,255,255,.8), 0 0 15px rgba(255,60,95,.18), 0 20px 55px #0008; }
.np.ember-mode:not(.has-lyrics) .np-cover { width:min(35vh, 330px); border-radius:50%; }
.np.ember-mode.has-lyrics:not(.has-clip) .np-cover { border-radius:50%; }
.np.ember-mode:not(.has-lyrics) .np-meta h1 { font-size:clamp(26px, 3vw, 44px); margin:0 0 12px; }
.np.ember-mode .np-album { display:none; }
.np.ember-mode.has-clip:not(.has-lyrics) .np-cover { width:min(60vw, 820px); aspect-ratio:16 / 9; border-radius:20px; }
.np.ember-mode .np-artist { font-size:18px; color:#d7d7dd; }
#emberHint { margin:4px 0 14px; font-size:13px; }
@media (max-width:700px) {
  .np.ember-mode.has-lyrics .np-left { display:flex; }
  .np.ember-mode.has-lyrics .np-cover { display:none; }
  .np.ember-mode.has-lyrics .np-body { gap:20px; }
}

/* Monochrome theme. Keep artwork in its original colors. */
:root {
  --bg:#070707; --bg2:#0c0c0c; --panel:#111; --raise:#191919;
  --text:#f3f3f3; --mute:#969696; --dim:#606060;
  --red:#f2f2f2; --red-d:#bcbcbc; --red-glow:rgba(255,255,255,.13);
}
body { background:var(--bg); }
.chips .chip.on, .chips .chip.on:hover { background:#eee; color:#111; }
.hero { background:radial-gradient(ellipse at 0% 100%,#292929,transparent 65%),radial-gradient(ellipse at 100% 0%,#1e1e1e,transparent 65%),#111; }
.hero p { color:#aaa; }
.hero .fab.big { box-shadow:0 8px 30px rgba(255,255,255,.10); }
.fab, .btn.red, .eq-presets .chip.on { color:#101010; }
.fab:hover, .btn.red:hover { background:#dcdcdc; }
.fab.loading::after { border-color:rgba(0,0,0,.2); border-top-color:#111; }
.player .icon-btn.on { color:#f5f5f5; background:rgba(255,255,255,.10); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.heart-burst { color:#f5f5f5; }
.eq-fill { box-shadow:0 0 10px rgba(255,255,255,.18); }
.switch input:checked + i::after { background:#181818; }
.icon-btn.np-lyr.on, .icon-btn.np-clip.on { color:#fff; background:rgba(255,255,255,.13); }
.np.ember-mode:not(.has-clip) .np-cover { box-shadow:0 0 0 1.5px rgba(255,255,255,.8),0 0 15px rgba(255,255,255,.12),0 20px 55px #0008; }
.np.ember-mode .np-artist { color:#d7d7d7; }
.np-bg img { filter:grayscale(1) blur(90px) brightness(.35); }
.src.yt, .src.sc, .src.local { color:#bcbcbc; background:rgba(255,255,255,.07); }
.likes-cover { background:linear-gradient(140deg,#444,#1e1e1e 70%,#0b0b0b); }
.local-cover { background:linear-gradient(140deg,#343434,#181818 70%,#080808); }
.av-ph { background:radial-gradient(circle at 30% 25%,#555,#191919); }
.a-hero-ph, .prof-glow { background:radial-gradient(90% 120% at 20% 0%,#333,transparent 65%),#0b0b0b; }
.a-hero.loading .a-hero-bg { background:linear-gradient(120deg,#191919,#0c0c0c); }
.pl-kind .verified { background:#e6e6e6; color:#181818; }
.auth-err { color:#d5d5d5; }
