/* ============================================================================
 * NeonWave desktop skin — Spotify-like layout, tinted by the current cover.
 * Loaded after style.css. Cover colour comes from Music.applyCoverTheme()
 * (--nw-cover-r/g/b) and the artwork from --ambient-image.
 * ========================================================================== */

:root {
    --sk-bg: #000;
    --sk-panel: #121212;
    --sk-elev: #1f1f1f;
    --sk-hover: #2a2a2a;
    --sk-text: #fff;
    --sk-sub: #b3b3b3;
    --sk-cover: rgb(var(--nw-cover-r, 83), var(--nw-cover-g, 83), var(--nw-cover-b, 83));
    --sk-cover-deep: rgb(calc(var(--nw-cover-r, 83) * 0.55), calc(var(--nw-cover-g, 83) * 0.55), calc(var(--nw-cover-b, 83) * 0.55));
    --sk-cover-soft: rgba(var(--nw-cover-r, 83), var(--nw-cover-g, 83), var(--nw-cover-b, 83), 0.55);
    --accent: var(--sk-cover);
    --accent-bright: #fff;
    --text-primary: #fff;
    --text-secondary: #b3b3b3;
    --text-muted: #a7a7a7;
    --radius: 8px;
    --radius-sm: 6px;
}

body {
    background: var(--sk-bg) !important;
    color: var(--sk-text);
    font-family: Inter, "Segoe UI", system-ui, sans-serif;
}
/* The neon orbs/grid of the old theme */
body::before, body::after { display: none !important; }

/* ─── Top bar ─────────────────────────────────────────────────────────── */
.top-bar {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    height: 64px;
    padding: 0 16px !important;
}
.top-brand { opacity: 0.95; }
.top-search-group { gap: 8px !important; }
.top-search-group .top-icon-btn,
.top-bar .top-icon-btn {
    width: 48px; height: 48px; border-radius: 50% !important;
    background: var(--sk-elev) !important; border: 0 !important; color: var(--sk-sub) !important;
    box-shadow: none !important;
}
.top-bar .top-icon-btn:hover { color: #fff !important; transform: scale(1.04); }
.top-search-wrap {
    height: 48px; border-radius: 500px !important;
    background: var(--sk-elev) !important;
    border: 1px solid transparent !important; box-shadow: none !important;
    min-width: 420px;
}
.top-search-wrap:hover { background: var(--sk-hover) !important; border-color: #3a3a3a !important; }
.top-search-wrap:focus-within { border-color: #fff !important; background: var(--sk-hover) !important; }
.top-search-wrap input, .neon-input { color: #fff !important; font-size: 15px !important; }
.top-search-wrap input::placeholder { color: #a7a7a7 !important; }

/* ─── Layout: three rounded panels on black ───────────────────────────── */
.middle-row { gap: 8px !important; padding: 0 8px 8px !important; }
.sidebar, .main-content, .now-playing-panel {
    background: var(--sk-panel) !important;
    border: 0 !important; border-radius: 8px !important;
    box-shadow: none !important; backdrop-filter: none !important;
}

/* ─── Library rail (collapsed like the screenshot, click the icon to expand) */
.sidebar { width: 72px !important; padding: 8px !important; overflow-x: hidden; transition: width 0.25s ease; }
.sidebar .sidebar-header { justify-content: center; padding: 8px 0 12px !important; }
.sidebar .sidebar-header .lib-title { font-size: 0 !important; gap: 0 !important; color: var(--sk-sub) !important; cursor: pointer; }
.sidebar .sidebar-header .lib-title svg { width: 24px; height: 24px; }
.sidebar .sidebar-filters,
.sidebar .library-section-title, .sidebar .lib-section-title,
.sidebar .library-item .info, .sidebar .library-item button,
.sidebar .library-empty, .sidebar .lib-empty, .sidebar p { display: none !important; }
.sidebar .library-item {
    padding: 4px !important; margin: 0 0 4px !important; justify-content: center;
    background: transparent !important; border: 0 !important; border-radius: 6px !important;
}
.sidebar .library-item:hover { background: var(--sk-hover) !important; }
.sidebar .library-item .img-box { width: 48px !important; height: 48px !important; border-radius: 4px !important; flex-shrink: 0; }
.sidebar .library-item .img-box img { border-radius: 4px; }
/* Expanded state */
.sidebar.sk-expanded { width: 300px !important; }
.sidebar.sk-expanded .sidebar-header { justify-content: space-between; }
.sidebar.sk-expanded .sidebar-header .lib-title { font-size: 16px !important; gap: 10px !important; text-transform: none; letter-spacing: 0; color: #fff !important; }
.sidebar.sk-expanded .sidebar-filters { display: flex !important; }
.sidebar.sk-expanded .library-item { justify-content: flex-start; padding: 8px !important; }
.sidebar.sk-expanded .library-item .info { display: block !important; }
.sidebar.sk-expanded .library-item button { display: inline-flex !important; }
.sidebar.sk-expanded p, .sidebar.sk-expanded .library-section-title, .sidebar.sk-expanded .lib-section-title { display: block !important; }
.sidebar-filter-btn {
    background: var(--sk-elev) !important; color: #fff !important; border: 0 !important;
    border-radius: 500px !important; font-weight: 600 !important;
}
.sidebar-filter-btn.is-accent, .sidebar-filter-btn:hover { background: #fff !important; color: #000 !important; }

/* ─── Main panel: cover-tinted header + blurred artwork, like playlist pages */
.main-content { position: relative; overflow: hidden auto; isolation: isolate; }
.main-content::before {
    content: ""; position: absolute; inset: 0 0 auto 0; height: 420px; z-index: -1; pointer-events: none;
    background: linear-gradient(180deg, var(--sk-cover-soft) 0%, rgba(18, 18, 18, 0.6) 55%, var(--sk-panel) 100%);
}
body.has-ambient-artwork .main-content::after {
    content: ""; position: absolute; inset: -60px -60px auto -60px; height: 520px; z-index: -2; pointer-events: none;
    background: var(--ambient-image) center / cover no-repeat;
    filter: blur(70px) saturate(1.3); opacity: 0.45;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
}
.main-gradient-bg { display: none !important; }
.main-filter-btn, .lib-filter-pill {
    background: rgba(255, 255, 255, 0.07) !important; color: #fff !important; border: 0 !important;
    border-radius: 500px !important; font-weight: 600 !important; padding: 6px 14px !important;
}
.main-filter-btn:hover { background: rgba(255, 255, 255, 0.12) !important; }
.main-filter-btn.active, .lib-filter-pill.active { background: #fff !important; color: #000 !important; }
.section-title, .search-block-title { font-weight: 800 !important; letter-spacing: -0.02em; }
.section-title::before { display: none !important; }

/* Cards / tiles */
.track-card, .album-card, .shortcut-card, .search-card {
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    border-radius: 8px !important; transition: background 0.2s ease;
}
.track-card:hover, .album-card:hover, .shortcut-card:hover { background: var(--sk-hover) !important; }

/* Track list rows, Spotify table style */
.track-list-header, .album-tracklist-header {
    color: var(--sk-sub) !important; border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    font-size: 12px !important; text-transform: none !important; letter-spacing: 0 !important;
}
.track-row, .album-track-row {
    border-radius: 4px !important; background: transparent !important; border: 0 !important;
}
.track-row:hover, .album-track-row:hover { background: rgba(255, 255, 255, 0.1) !important; }
.track-row .title, .track-row-copy .title { color: #fff !important; font-weight: 500 !important; }
.track-row .artist, .track-row-copy .artist { color: var(--sk-sub) !important; }

/* Hero (playlist / album) gets the cover colour wash */
.playlist-hero, .album-hero, .artist-profile-hero {
    background: linear-gradient(180deg, var(--sk-cover-soft), transparent) !important;
    border: 0 !important; box-shadow: none !important;
}
.playlist-hero-glow { display: none !important; }
.premium-action-btn.is-primary, .play-big-btn {
    background: var(--sk-cover) !important; color: #000 !important; border: 0 !important;
}

/* ─── Right panel: lyrics on the cover colour (screenshot) ────────────── */
.now-playing-panel.visible { width: 420px !important; padding: 0 !important; overflow: hidden !important; }
.now-playing-panel.visible {
    background:
        radial-gradient(120% 80% at 0% 0%, rgba(255, 255, 255, 0.10), transparent 60%),
        linear-gradient(180deg, var(--sk-cover) 0%, var(--sk-cover-deep) 100%) !important;
}
.now-playing-panel .np-scroll { padding: 16px 20px 24px !important; }
.now-playing-panel .np-header { padding: 16px 20px 0 !important; }
.now-playing-panel .np-box {
    background: rgba(0, 0, 0, 0.18) !important; border: 0 !important; border-radius: 8px !important;
    box-shadow: none !important; backdrop-filter: none !important;
}
.now-playing-panel .np-lyrics-container { background: transparent !important; padding: 8px 4px !important; }
.now-playing-panel .np-lyrics-header { color: rgba(255, 255, 255, 0.85) !important; }
.np-bg-veil { background: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, 0.25)) !important; }

/* ─── Player bar ──────────────────────────────────────────────────────── */
.player-footer {
    background: var(--sk-bg) !important; border: 0 !important; box-shadow: none !important;
    height: 80px; padding: 0 16px !important;
}
.player-ambient { display: none !important; }
.player-footer .thumb, .player-footer .thumb img { border-radius: 4px !important; }
.player-footer .title { color: #fff !important; font-weight: 500 !important; }
.player-footer .artist { color: var(--sk-sub) !important; font-size: 12px !important; }
.player-controls .control-btn { color: var(--sk-sub) !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.player-controls .control-btn:hover { color: #fff !important; transform: scale(1.06); }
.play-pause-btn {
    width: 32px !important; height: 32px !important; border-radius: 50% !important;
    background: #fff !important; color: #000 !important; box-shadow: none !important; border: 0 !important;
}
.play-pause-btn svg { fill: #000 !important; color: #000 !important; width: 16px !important; height: 16px !important; }
.play-pause-btn:hover { transform: scale(1.06); }
.progress-time { color: var(--sk-sub) !important; font-size: 12px !important; }
.progress-container { height: 4px !important; background: #4d4d4d !important; border-radius: 2px !important; }
.progress-container .progress-bar, .progress-container .progress-fill, #progressBar {
    background: #fff !important; border-radius: 2px !important; box-shadow: none !important;
}
.progress-container:hover .progress-bar, .progress-container:hover #progressBar { background: var(--sk-cover) !important; }
.footer-right input[type="range"] { accent-color: #fff; }

/* Scrollbars */
::-webkit-scrollbar { width: 12px; }
::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.28); border: 3px solid transparent; background-clip: padding-box; border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }

/* ============================================================================
 * Spicy Lyrics renderer (js/spicy-renderer.js)
 * ========================================================================== */
.sl-root { --sl-size: 32px; display: flex; flex-direction: column; gap: 6px; padding: 24px 0 40vh; font-family: Inter, "Segoe UI", sans-serif; }
.sl-root.sl-large { --sl-size: clamp(34px, 4.2vw, 60px); gap: 14px; }
.sl-line {
    font-size: var(--sl-size); font-weight: 800; line-height: 1.18; letter-spacing: -0.01em;
    display: flex; flex-wrap: wrap; column-gap: 0.3em; cursor: pointer;
    opacity: 0.51; filter: blur(var(--sl-blur, 0px));
    transition: opacity 0.2s cubic-bezier(0.61, 1, 0.88, 1), filter 0.3s ease;
    padding: 4px 0;
}
.sl-line.Active { opacity: 1; }
.sl-line.Sung { opacity: 0.497; }
.sl-line:hover { opacity: 1 !important; filter: none; }
.sl-line.sl-bg { font-size: calc(var(--sl-size) * 0.72); font-weight: 700; margin-top: -4px; }
.sl-line.sl-rtl { direction: rtl; }
.sl-group { display: inline-flex; white-space: nowrap; }
.sl-word, .sl-letter, .sl-line.sl-sweep {
    --gp: -20%;
    display: inline-block; color: transparent; will-change: transform;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.85) var(--gp), rgba(255, 255, 255, 0.5) calc(var(--gp) + 20%));
    -webkit-background-clip: text; background-clip: text;
    transform-origin: center center;
}
.sl-word { transform: translate3d(0, calc(var(--sl-size) * 0.01), 0) scale(0.95); }
.sl-line.Sung .sl-word, .sl-line.Sung .sl-letter { --gp: 100%; }
.sl-word.sl-letters { background: none; }
.sl-bg .sl-word, .sl-bg .sl-letter {
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.6) var(--gp), rgba(255, 255, 255, 0.3) calc(var(--gp) + 20%));
}
.sl-line.sl-sweep {
    display: block; transform: none;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.85) var(--gp), rgba(255, 255, 255, 0.35) calc(var(--gp) + 20%));
}
.sl-dots { gap: 10px; align-items: center; height: calc(var(--sl-size) * 0.9); }
.sl-dots span { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, 0.5); }
.sl-dots.Active span { animation: sl-dot 1.4s ease-in-out infinite; }
.sl-dots.Active span:nth-child(2) { animation-delay: 0.2s; }
.sl-dots.Active span:nth-child(3) { animation-delay: 0.4s; }
@keyframes sl-dot { 50% { transform: scale(1.35); background: #fff; } }
.sl-credit { margin-top: 28px; font-size: 12px; font-weight: 600; color: rgba(255, 255, 255, 0.55); }
.sidebar:not(.sk-expanded) .sidebar-header > button { display: none !important; }

/* ─── Fixes after first screenshots ───────────────────────────────────── */
/* Rail: only covers, no section labels / empty-state copy */
.sidebar:not(.sk-expanded) .library-section > :not(.library-item),
.sidebar:not(.sk-expanded) .library-section-label { display: none !important; }
.sidebar:not(.sk-expanded) .library-list { padding: 0 !important; }
.sidebar:not(.sk-expanded) .library-item .img-box { margin: 0 auto; }
.sidebar .library-section-label { color: var(--sk-sub) !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 700 !important; }

/* Right panel: lyrics take the whole panel once they are loaded (screenshot) */
.now-playing-panel:has(.sl-root) .np-stage,
.now-playing-panel:has(.sl-root) .np-header .np-title-stack { display: none !important; }
.now-playing-panel:has(.sl-root) .np-box { background: transparent !important; }
.now-playing-panel:has(.sl-root) .np-lyrics-header { display: none !important; }
.now-playing-panel:has(.sl-root) .np-bg-veil {
    background: linear-gradient(180deg, rgba(var(--nw-cover-r, 40), var(--nw-cover-g, 40), var(--nw-cover-b, 40), 0.78), var(--sk-cover-deep)) !important;
}
.now-playing-panel .np-header { position: absolute; right: 8px; top: 8px; z-index: 5; padding: 0 !important; }
.now-playing-panel .sl-root { padding-top: 40px; }
.now-playing-panel .np-lyrics-content, .now-playing-panel .np-lyrics-container { max-height: none !important; overflow: visible !important; }
.now-playing-panel .np-scroll { height: 100%; overflow-y: auto !important; scrollbar-width: none; }
.now-playing-panel .np-scroll::-webkit-scrollbar { display: none; }

/* Progress bar: thin Spotify line, times on each side */
.progress-container {
    display: flex !important; align-items: center; gap: 8px; height: auto !important;
    background: none !important; width: min(620px, 42vw);
}
.progress-container .progress-time { position: static !important; min-width: 36px; }
.progress-container .progress-time.left { text-align: right; }
#progressSlider, #volumeSlider {
    -webkit-appearance: none; appearance: none; height: 4px !important; border-radius: 2px; flex: 1;
    background: linear-gradient(to right, #fff 0%, #fff var(--fill, 0%), #4d4d4d var(--fill, 0%)) !important;
    box-shadow: none !important; border: 0 !important; cursor: pointer;
}
#progressSlider:hover, #volumeSlider:hover {
    background: linear-gradient(to right, var(--sk-cover) 0%, var(--sk-cover) var(--fill, 0%), #4d4d4d var(--fill, 0%)) !important;
}
#progressSlider::-webkit-slider-thumb, #volumeSlider::-webkit-slider-thumb {
    -webkit-appearance: none; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 0;
    box-shadow: none; opacity: 0; transition: opacity 0.15s;
}
#progressSlider:hover::-webkit-slider-thumb, #volumeSlider:hover::-webkit-slider-thumb { opacity: 1; }
.top-brand .logo-text, .top-brand span { color: #fff !important; }

/* Lyrics panel: no inner card, deeper cover tint like Spotify */
.now-playing-panel:has(.sl-root) .np-box,
.now-playing-panel:has(.sl-root) .np-lyrics-container {
    background: none !important; border: 0 !important; box-shadow: none !important;
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
    margin: 0 !important; padding: 0 4px !important; border-radius: 0 !important;
}
.now-playing-panel:has(.sl-root) .np-lyrics-content { mask-image: none !important; -webkit-mask-image: none !important; }
.now-playing-panel:has(.sl-root) .np-bg-veil {
    background:
        linear-gradient(180deg,
            rgba(calc(var(--nw-cover-r, 40) * 0.8), calc(var(--nw-cover-g, 40) * 0.8), calc(var(--nw-cover-b, 40) * 0.8), 0.86) 0%,
            rgba(calc(var(--nw-cover-r, 40) * 0.45), calc(var(--nw-cover-g, 40) * 0.45), calc(var(--nw-cover-b, 40) * 0.45), 0.96) 100%) !important;
}

/* Track list: flat like Spotify, 56px rows, 40px covers */
.track-list-shell, .album-tracklist, .search-song-results-panel {
    background: transparent !important; border: 0 !important; box-shadow: none !important; backdrop-filter: none !important;
}
.track-row { min-height: 56px !important; padding-top: 6px !important; padding-bottom: 6px !important; }
.track-row img, .track-row .track-row-art, .track-row .thumb { width: 40px !important; height: 40px !important; border-radius: 4px !important; }
.track-row .track-row-copy .title { font-size: 15px !important; }
.track-row .track-row-copy .artist { font-size: 13px !important; }

/* ============================================================================
 * v2 — closer to the reference: the whole window bathes in the blurred cover,
 * panels are translucent glass on top of it, lighter typography.
 * ========================================================================== */
body.has-ambient-artwork::before {
    display: block !important; content: ""; position: fixed; inset: -12%; z-index: -2; pointer-events: none;
    background: var(--ambient-image) center / cover no-repeat !important;
    filter: blur(90px) saturate(1.5) brightness(0.62); opacity: 1 !important; transform: none !important;
    animation: none !important;
}
body.has-ambient-artwork::after {
    display: block !important; content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(120% 90% at 50% 0%, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.55)) !important;
    opacity: 1 !important; animation: none !important;
}
body.has-ambient-artwork, body.has-ambient-artwork .app-container { background: #000 !important; }
body.has-ambient-artwork .app-container { background: transparent !important; }

body.has-ambient-artwork .sidebar,
body.has-ambient-artwork .main-content,
body.has-ambient-artwork .now-playing-panel:not(:has(.sl-root)) {
    background: rgba(0, 0, 0, 0.38) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06) !important;
}
body.has-ambient-artwork .main-content::after { display: none !important; }
body.has-ambient-artwork .main-content::before {
    height: 360px;
    background: linear-gradient(180deg, rgba(var(--nw-cover-r, 83), var(--nw-cover-g, 83), var(--nw-cover-b, 83), 0.28) 0%, transparent 100%) !important;
}
body.has-ambient-artwork .player-footer { background: rgba(0, 0, 0, 0.42) !important; }
body.has-ambient-artwork .top-search-wrap,
body.has-ambient-artwork .top-bar .top-icon-btn { background: rgba(255, 255, 255, 0.1) !important; }
body.has-ambient-artwork .top-search-wrap:hover { background: rgba(255, 255, 255, 0.16) !important; }
body.has-ambient-artwork .main-filter-btn:not(.active) { background: rgba(255, 255, 255, 0.1) !important; }

/* Lyrics panel keeps the cover colour, slightly see-through like the reference */
body.has-ambient-artwork .now-playing-panel:has(.sl-root) .np-bg-veil {
    background: linear-gradient(180deg,
        rgba(calc(var(--nw-cover-r, 40) * 0.85), calc(var(--nw-cover-g, 40) * 0.85), calc(var(--nw-cover-b, 40) * 0.85), 0.82) 0%,
        rgba(calc(var(--nw-cover-r, 40) * 0.5), calc(var(--nw-cover-g, 40) * 0.5), calc(var(--nw-cover-b, 40) * 0.5), 0.9) 100%) !important;
}

/* Typography: Spotify weights (regular titles, bold headings only) */
.track-row .track-row-copy .title, .track-row .title { font-weight: 400 !important; font-size: 16px !important; }
.track-row .track-row-copy .artist, .track-row .artist { font-size: 14px !important; font-weight: 400 !important; }
.track-list-header { font-weight: 400 !important; font-size: 14px !important; }
.track-row, .track-row * { letter-spacing: 0 !important; }
.section-title, .search-block-title { font-weight: 700 !important; font-size: 24px !important; }
.main-filter-btn, .lib-filter-pill { font-weight: 400 !important; font-size: 14px !important; }
.player-footer .title { font-size: 14px !important; font-weight: 400 !important; }
.top-brand { font-weight: 700; }
.sl-line { font-weight: 700; }

/* Spotify track table: # | Title | Album | ⏱ | actions (shown on hover) */
.track-list-header, .track-row {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 4fr) minmax(0, 3fr) 64px 64px !important;
    gap: 16px !important; align-items: center; padding: 0 16px !important;
}
.track-list-header { height: 36px; margin-bottom: 8px; }
.track-list-header span { font-size: 14px; color: var(--sk-sub); text-transform: none; letter-spacing: 0; }
.track-list-header .track-list-time-col { justify-self: end; display: flex; }
.track-row { height: 56px; min-height: 56px !important; }
.track-row-index { color: var(--sk-sub) !important; font-size: 16px !important; text-align: right; font-variant-numeric: tabular-nums; }
.track-row-main { display: flex !important; align-items: center; gap: 12px !important; min-width: 0; }
.track-row-thumb, .track-row-thumb img { width: 40px !important; height: 40px !important; border-radius: 4px !important; background: none !important; box-shadow: none !important; flex-shrink: 0; object-fit: cover; }
.track-row-title { color: #fff !important; font-size: 16px !important; font-weight: 400 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.track-row-meta { color: var(--sk-sub) !important; font-size: 14px !important; font-weight: 400 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Each artist link underlines on its own (a whole-row underline made "A, B" look like one link). */
.track-row-album { color: var(--sk-sub); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.track-row-duration { color: var(--sk-sub) !important; font-size: 14px !important; justify-self: end; font-variant-numeric: tabular-nums; }
.track-row-actions { display: flex; gap: 8px; justify-content: flex-end; opacity: 0; transition: opacity 0.15s; }
.track-row:hover .track-row-actions, .track-row-favorite.active { opacity: 1; }
.track-row-actions button { color: var(--sk-sub) !important; background: none !important; border: 0 !important; }
.track-row-actions button:hover { color: #fff !important; }
.track-row-favorite.active { color: var(--sk-cover) !important; }
.track-row.is-playing .track-row-title, .track-row.active .track-row-title { color: var(--sk-cover) !important; }

/* Lyrics panel: always dark enough for white text, whatever the cover */
body.has-ambient-artwork .now-playing-panel:has(.sl-root) .np-bg-veil,
.now-playing-panel:has(.sl-root) .np-bg-veil {
    background: linear-gradient(180deg,
        rgba(calc(var(--nw-cover-r, 40) * 0.62), calc(var(--nw-cover-g, 40) * 0.62), calc(var(--nw-cover-b, 40) * 0.62), 0.9) 0%,
        rgba(calc(var(--nw-cover-r, 40) * 0.34), calc(var(--nw-cover-g, 40) * 0.34), calc(var(--nw-cover-b, 40) * 0.34), 0.96) 100%) !important;
}
.sl-root ::selection { background: transparent; }
.sl-root { user-select: none; }
body.nw-playing .footer-left .title, .footer-left .title {
    background: none !important; -webkit-text-fill-color: #fff !important; color: #fff !important; animation: none !important;
}
.now-playing-panel:has(.sl-root) .np-cover-container { filter: brightness(0.5) saturate(1.2); }
.now-playing-panel.visible:has(.sl-root) {
    background: linear-gradient(180deg,
        rgb(calc(var(--nw-cover-r, 40) * 0.55), calc(var(--nw-cover-g, 40) * 0.55), calc(var(--nw-cover-b, 40) * 0.55)) 0%,
        rgb(calc(var(--nw-cover-r, 40) * 0.3), calc(var(--nw-cover-g, 40) * 0.3), calc(var(--nw-cover-b, 40) * 0.3)) 100%) !important;
}
.now-playing-panel:has(.sl-root) .np-video-bg { opacity: 0.35; }
