:root{color-scheme:light;--bg:#f7f8fc;--panel:#ffffff;--text:#111827;--muted:#4b5563;--line:#dfe3eb;--accent:#e83b67;--accent2:#ff783f;--shadow:0 8px 30px rgba(17,24,39,.07)}
:root[data-theme="dark"]{color-scheme:dark;--bg:#090d16;--panel:#111827;--text:#f9fafb;--muted:#cbd5e1;--line:#293548;--accent:#ff4f89;--accent2:#ff854a;--shadow:0 10px 34px rgba(0,0,0,.28)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh}.site-header{height:76px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:24px;padding:0 4%;background:var(--panel);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;min-width:225px;font-weight:800;letter-spacing:.4px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));font-size:22px}.brand-name b{color:var(--accent)}.custom-logo{max-width:210px;height:auto}.site-search{display:flex;max-width:620px;flex:1;background:var(--bg);border:1px solid var(--line);border-radius:30px;padding:5px 8px 5px 18px}.site-search input{border:0;outline:0;background:transparent;color:var(--text);width:100%;font:inherit}.site-search button,.theme-toggle,.mobile-menu-toggle{border:0;background:transparent;color:var(--text);font-size:22px;cursor:pointer}.theme-toggle{margin-left:auto}.mobile-menu-toggle{display:none}.layout{display:flex;max-width:1600px;margin:auto}.sidebar{width:235px;flex:0 0 235px;padding:30px 18px;border-right:1px solid var(--line);min-height:calc(100vh - 76px)}.side-nav{display:grid;gap:8px}.side-nav a{padding:12px 14px;border-radius:12px;color:var(--muted);font-weight:650}.side-nav a:hover{background:var(--panel);color:var(--accent)}.side-nav a span{margin-left:10px}.sidebar-note{margin:38px 8px 0;padding:16px;border:1px solid var(--line);border-radius:14px;display:grid;font-size:12px}.sidebar-note span,.muted{color:var(--muted)}.main-content{min-width:0;flex:1;padding:32px 4% 90px}.welcome-row{padding:30px 34px;border-radius:22px;background:linear-gradient(115deg,#25152c,#3a1830 55%,#6a2343);color:#fff;margin-bottom:34px}.welcome-row h1{font-size:clamp(28px,4vw,44px);line-height:1.12;margin:8px 0}.welcome-row h1 span{color:#ff8cac}.welcome-row .muted{color:#e7cbd6}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--accent);margin:0}.content-section{margin:28px 0 42px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-heading h1,.section-heading h2{margin:0;font-size:25px}.section-heading p{margin:3px 0 0}.song-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 18px}.song-card{min-width:0}.song-art{position:relative;display:block;aspect-ratio:1;border-radius:15px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.song-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.song-card:hover .song-art img{transform:scale(1.04)}.cover-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#29213c,#d83d75);color:#fff;font-size:56px}.art-play{position:absolute;right:12px;bottom:12px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:white;opacity:0;transform:translateY(5px);transition:.2s}.song-card:hover .art-play{opacity:1;transform:none}.song-card-meta h3{font-size:14px;line-height:1.4;margin:10px 0 3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.song-card-meta p{font-size:12px;color:var(--muted);margin:0}.single-song{max-width:1000px;margin:auto}.song-hero{display:flex;gap:30px;align-items:center;padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:20px}.single-cover{width:min(280px,36%);aspect-ratio:1;flex:none;border-radius:16px;overflow:hidden;background:var(--bg)}.single-cover img{width:100%;height:100%;object-fit:cover}.song-info h1{font-size:clamp(25px,4vw,38px);line-height:1.2;margin:8px 0}.primary-play,.download-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:30px;padding:11px 20px;margin:12px 8px 0 0;background:linear-gradient(135deg,var(--accent),var(--accent2));color:white;font-weight:750;cursor:pointer}.download-button{background:var(--panel);border:1px solid var(--line);color:var(--text)}.post-content{max-width:820px;margin:30px auto;line-height:1.8}.persistent-player{position:fixed;z-index:60;left:50%;bottom:14px;transform:translateX(-50%);width:min(760px,calc(100% - 24px));display:flex;align-items:center;gap:16px;padding:10px 16px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 10px 40px rgba(0,0,0,.2)}.player-track{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.player-cover{width:42px;height:42px;object-fit:cover;border-radius:9px;background:var(--bg)}.player-track div{display:grid;min-width:0}.player-track strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-track small,.player-time{font-size:11px;color:var(--muted)}.player-toggle{width:40px;height:40px;border:0;border-radius:50%;background:var(--accent);color:white;font-size:17px;cursor:pointer}.player-audio{display:none}.site-footer{display:flex;justify-content:space-between;gap:15px;padding:22px 4%;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.not-found{text-align:center;padding:90px 20px}.pagination{margin-top:28px}
@media(max-width:1100px){.song-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.site-header{height:64px;padding:0 14px;gap:10px}.brand{min-width:0;font-size:13px}.brand-mark{width:32px;height:32px}.custom-logo{max-width:145px}.mobile-menu-toggle{display:block}.site-search{max-width:none}.sidebar{display:none;position:fixed;z-index:50;top:64px;left:0;bottom:0;background:var(--panel);box-shadow:var(--shadow)}.sidebar.is-open{display:block}.main-content{padding:20px 14px 100px}.song-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.welcome-row{padding:24px 20px}.song-hero{align-items:flex-start;padding:16px;gap:16px}.single-cover{width:38%}.song-info h1{font-size:21px}.primary-play,.download-button{padding:9px 14px;font-size:12px}.site-footer{padding:18px 14px;flex-direction:column}.player-time{display:none}}@media(min-width:761px) and (max-width:950px){.sidebar{width:190px;flex-basis:190px}.song-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v1.2 pagination and overflow safeguards */
.song-grid > * { min-width: 0; }
.pagination ul { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; list-style:none; padding:0; margin:0; }
.pagination a, .pagination span { display:inline-flex; min-width:38px; min-height:38px; align-items:center; justify-content:center; padding:6px 11px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.pagination .current { background:var(--accent); border-color:var(--accent); color:#fff; }
.post-content img, .post-content video, .post-content iframe { max-width:100%; }

/* v1.3 live search, accessible navigation icons and player polish */
.search-wrap{position:relative;flex:1;max-width:620px;min-width:120px}
.search-wrap .site-search{max-width:none;width:100%}
.site-search button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%}
.site-search button:hover{background:var(--line)}
.live-search-results{position:absolute;top:calc(100% + 9px);left:0;right:0;z-index:90;max-height:430px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.16);padding:7px}
.live-search-results[hidden]{display:none}
.live-search-item{display:flex;align-items:center;gap:12px;padding:9px;border-radius:11px}
.live-search-item:hover,.live-search-item:focus{background:var(--bg);outline:none}
.live-search-item img,.live-search-placeholder{width:46px;height:46px;flex:none;object-fit:cover;border-radius:9px;background:var(--bg)}
.live-search-placeholder{display:grid;place-items:center;color:var(--accent);font-size:22px}
.live-search-copy{display:grid;min-width:0;flex:1}
.live-search-copy strong{font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis}
.live-search-copy small{font-size:11px;color:var(--muted)}
.live-search-arrow{color:var(--muted)}
.live-search-message{padding:15px;color:var(--muted);font-size:13px;text-align:center}
.nav-icon{display:inline-block;vertical-align:middle;flex:none}
.side-nav a{display:flex;align-items:center;gap:2px}
.side-nav a span{margin-left:8px}
.theme-toggle,.mobile-menu-toggle{display:grid;place-items:center;width:38px;height:38px;border-radius:50%}
.theme-toggle:hover,.mobile-menu-toggle:hover{background:var(--bg)}
.song-art-wrap{position:relative}
.art-play{border:0;z-index:2;cursor:pointer}
.song-art-wrap:hover .art-play,.song-art-wrap:focus-within .art-play{opacity:1;transform:none}
.player-close{width:28px;height:28px;border:0;border-radius:50%;background:var(--bg);color:var(--muted);font-size:20px;cursor:pointer}
.audio-unavailable{font-size:12px;max-width:300px}
@media(max-width:760px){
 .search-wrap{max-width:none}
 .live-search-results{left:auto;right:-42px;width:min(92vw,420px)}
 .site-header{gap:8px}
 .brand{flex:none}
 .brand-name{font-size:11px}
 .theme-toggle{width:32px;height:32px}
 .mobile-menu-toggle{width:32px;height:32px}
 .player-close{flex:none}
}

/* Automatically generated song introduction */
.ngomakali-auto-description{margin:22px 0 18px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);font-size:14px;line-height:1.75}
.ngomakali-auto-description p{margin:0 0 10px}
.ngomakali-auto-description p:last-child{margin-bottom:0}
.ngomakali-auto-description a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.ngomakali-auto-description strong{font-weight:700}

/* v1.5 artist recommendations and track sharing */
.more-from-artist,.share-track{margin:28px 0 0;padding:22px 26px;background:var(--panel);border:1px solid var(--line);border-radius:18px}
.artist-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.artist-section-heading h2{font-size:18px;margin:0;font-weight:800}
.artist-section-heading>a{font-size:12px;color:var(--accent);font-weight:750}
.artist-track-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.artist-track{display:flex;align-items:center;gap:10px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.artist-track img,.artist-track-placeholder{width:46px;height:46px;flex:none;object-fit:cover;border-radius:9px}
.artist-track-placeholder{display:grid;place-items:center;background:var(--panel);color:var(--accent);font-size:22px}
.artist-track-copy{display:grid;min-width:0;gap:4px}
.artist-track-copy strong{font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.artist-track-copy small{font-size:10px;color:var(--muted)}
.share-track h2{font-size:13px;letter-spacing:.08em;color:var(--accent);margin:0 0 16px;font-weight:850}
.share-track-buttons{display:flex;flex-wrap:wrap;gap:10px}
.share-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 15px;border:0;border-radius:24px;color:#fff!important;font-size:11px;font-weight:750;text-decoration:none!important;cursor:pointer}
.share-facebook{background:#1877f2}
.share-x-twitter{background:#111}
.share-whatsapp{background:#20c76a}
.share-telegram{background:#168bd0}
.share-linkedin{background:#0877a8}
.share-copy{background:#747d86}
.share-copy-status{margin:8px 0 0;color:var(--muted);font-size:11px}
.ngomakali-auto-description{font-size:14px;line-height:1.8}
@media(max-width:760px){
 .more-from-artist,.share-track{padding:17px 14px}
 .artist-track-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .artist-track{padding:6px;gap:7px}
 .artist-track img,.artist-track-placeholder{width:38px;height:38px}
 .share-track-buttons{gap:7px}
 .share-button{padding:8px 11px;font-size:10px}
}

/* Latest MP3 posts on single track pages */
.latest-mp3-posts{margin:24px 0 30px;padding:22px 26px;background:var(--panel);border:1px solid var(--line);border-radius:18px}
.latest-mp3-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.latest-mp3-heading h2{font-size:18px;font-weight:800;margin:0}
.latest-mp3-heading>a{font-size:12px;color:var(--accent);font-weight:750}
.latest-mp3-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.latest-mp3-item{display:flex;align-items:center;gap:11px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--bg);text-decoration:none!important}
.latest-mp3-item img,.latest-mp3-placeholder{width:48px;height:48px;flex:none;object-fit:cover;border-radius:9px}
.latest-mp3-placeholder{display:grid;place-items:center;background:var(--panel);color:var(--accent);font-size:22px}
.latest-mp3-copy{display:grid;gap:4px;min-width:0}
.latest-mp3-copy strong{font-size:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.latest-mp3-copy small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.latest-mp3-posts{padding:17px 14px}.latest-mp3-grid{grid-template-columns:1fr}.latest-mp3-item img,.latest-mp3-placeholder{width:42px;height:42px}}

/* Play and download controls now sit directly below the generated description */
.song-action-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:18px auto 28px}
.song-action-row .primary-play,.song-action-row .download-button{margin:0;min-width:145px}
.song-action-row .audio-unavailable{margin:0}
@media(max-width:760px){.song-action-row{gap:8px;margin:14px auto 22px}.song-action-row .primary-play,.song-action-row .download-button{min-width:130px;padding:10px 14px}}


/* SEO-friendly category and tag links on song pages */
.post-taxonomy-meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 18px 0 20px;
    padding: 14px 16px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 14px;
}
.post-taxonomy-row {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px 12px;
}
.post-taxonomy-label {
    flex: 0 0 auto;
    padding-top: 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.post-taxonomy-links {
    display: flex;
    flex: 1 1 220px;
    flex-wrap: wrap;
    gap: 7px;
}
.post-term-chip {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 10px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--text) !important;
    background: var(--bg);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none !important;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.post-term-chip:hover,
.post-term-chip:focus-visible {
    color: var(--accent) !important;
    border-color: var(--accent);
    outline: none;
}
.archive-description {
    max-width: 850px;
    margin-top: 8px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}
.archive-description p:last-child {
    margin-bottom: 0;
}
@media (max-width: 600px) {
    .post-taxonomy-meta { padding: 12px; }
    .post-taxonomy-row { gap: 6px 9px; }
    .post-taxonomy-label { min-width: 62px; }
}


/* V2.2 — polished category chips and music navigation */
.post-taxonomy-meta {
    gap: 12px;
    padding: 15px 17px;
    background: linear-gradient(135deg, var(--panel), var(--bg));
}
.post-taxonomy-row { align-items: center; }
.post-category-row .post-term-chip {
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(135deg, #e83b67 0%, #b91f48 100%);
    box-shadow: 0 3px 10px rgba(185,31,72,.16);
    letter-spacing: .025em;
}
.post-category-row .post-term-chip:hover,
.post-category-row .post-term-chip:focus-visible {
    color: #fff !important;
    background: linear-gradient(135deg, #f0527b 0%, #ce2855 100%);
    border-color: rgba(255,255,255,.4);
    transform: translateY(-1px);
}
.post-tag-row .post-term-chip {
    color: var(--muted) !important;
    background: var(--bg);
    border: 1px solid var(--line);
    font-weight: 650;
}
.post-tag-row .post-term-chip:hover,
.post-tag-row .post-term-chip:focus-visible {
    color: var(--accent) !important;
    background: var(--panel);
    border-color: var(--accent);
}
.post-taxonomy-label {
    min-width: 68px;
    color: var(--text);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .07em;
}

/* Sidebar category navigation: clearer hierarchy and active category state */
.side-nav { gap: 7px; }
.side-nav a.category-menu-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--muted);
    background: transparent;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.side-nav a.category-menu-item .nav-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    padding: 7px;
    box-sizing: content-box;
    border-radius: 9px;
    color: var(--accent);
    background: var(--panel);
}
.side-nav a.category-menu-item span {
    flex: 1;
    margin-left: 0;
}
.side-nav a.category-menu-item .category-menu-indicator {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: transparent;
}
.side-nav a.category-menu-item:hover {
    color: var(--text);
    background: var(--panel);
    border-color: var(--line);
    transform: translateX(2px);
}
.side-nav a.category-menu-item.is-active {
    color: var(--accent);
    background: linear-gradient(100deg, rgba(232,59,103,.12), rgba(232,59,103,.035));
    border-color: rgba(232,59,103,.2);
}
.side-nav a.category-menu-item.is-active .nav-icon {
    color: #fff;
    background: linear-gradient(135deg, #e83b67, #b91f48);
}
.side-nav a.category-menu-item.is-active .category-menu-indicator {
    background: var(--accent);
    box-shadow: 0 0 0 3px rgba(232,59,103,.12);
}
@media (max-width: 760px) {
    .post-taxonomy-meta { padding: 12px; border-radius: 12px; }
    .post-taxonomy-label { min-width: 62px; }
    .side-nav a.category-menu-item { min-height: 42px; padding: 9px 10px; }
}


/* v2.3 - stronger contrast and polished appearance switch */
body, .site-shell { background:var(--bg); color:var(--text); }
.site-header { background:var(--panel); color:var(--text); border-color:var(--line); }
.sidebar { background:linear-gradient(160deg,#172033 0%,#101827 52%,#090d16 100%); border-color:#293548; }
.sidebar .side-nav a { color:#e5eaf2; }
.sidebar .side-nav a .nav-icon { color:#ff6b9c; background:rgba(255,255,255,.09); }
.sidebar .side-nav a:hover { color:#fff; background:rgba(255,255,255,.10); }
.sidebar .side-nav a.category-menu-item.is-active { color:#fff; background:linear-gradient(100deg,rgba(255,79,137,.27),rgba(255,79,137,.09)); border-color:rgba(255,110,157,.32); }
.sidebar .side-nav a.category-menu-item.is-active .nav-icon { color:#fff; }
.sidebar .sidebar-note { color:#f9fafb; border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.06); }
.sidebar .sidebar-note span { color:#cbd5e1; }
:root[data-theme="dark"] .sidebar { background:linear-gradient(160deg,#172033 0%,#101827 52%,#090d16 100%); }
:root[data-theme="dark"] .song-card-meta h3,
:root[data-theme="dark"] .section-heading h1,
:root[data-theme="dark"] .section-heading h2,
:root[data-theme="dark"] .post-content,
:root[data-theme="dark"] .song-info h1 { color:#f9fafb; }
:root:not([data-theme="dark"]) .song-card-meta h3,
:root:not([data-theme="dark"]) .section-heading h1,
:root:not([data-theme="dark"]) .section-heading h2,
:root:not([data-theme="dark"]) .post-content,
:root:not([data-theme="dark"]) .song-info h1 { color:#111827; }
.muted, .song-card-meta p, .sidebar-note span { color:var(--muted); }
.theme-toggle {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-width:112px; height:40px; padding:0 14px; margin-left:auto;
  border:1px solid var(--line); border-radius:999px;
  background:var(--bg); color:var(--text); font:700 12px/1 system-ui,sans-serif;
  box-shadow:0 2px 8px rgba(17,24,39,.06); transition:background .2s,border-color .2s,transform .2s;
}
.theme-toggle:hover { background:var(--panel); border-color:var(--accent); transform:translateY(-1px); }
.theme-toggle:focus-visible { outline:3px solid rgba(232,59,103,.28); outline-offset:3px; }
.theme-toggle-icon { flex:none; color:var(--accent); }
.theme-toggle-label { white-space:nowrap; }
:root[data-theme="dark"] .theme-toggle { background:#1b2638; border-color:#34445d; color:#f9fafb; }
:root[data-theme="dark"] .theme-toggle:hover { background:#26344b; }
@media(max-width:760px) {
  .theme-toggle { min-width:36px; width:36px; height:36px; padding:0; gap:0; }
  .theme-toggle-label { display:none; }
  .sidebar { background:linear-gradient(160deg,#172033 0%,#101827 52%,#090d16 100%); }
}


/* v2.4 - refined sidebar palette and icon-only appearance switch */
.sidebar {
  background: linear-gradient(160deg,#172033 0%,#101827 54%,#090d16 100%) !important;
  border-right:1px solid #263247 !important;
}
.sidebar .side-nav { padding:18px 12px; gap:8px; }
.sidebar .side-nav > a {
  min-height:46px; padding:9px 12px; border-radius:12px;
  color:#F3F6FC !important; font-weight:650; letter-spacing:.05px;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.sidebar .side-nav > a svg,
.sidebar .side-nav > a .nav-icon {
  width:20px; height:20px; color:#FF78A5 !important;
  flex:0 0 20px;
}
.sidebar .side-nav > a:hover {
  color:#FFFFFF !important; background:rgba(255,255,255,.105) !important;
  transform:translateX(2px);
}
.sidebar .side-nav > a.category-menu-item.is-active {
  color:#FFFFFF !important;
  background:linear-gradient(100deg,rgba(255,65,125,.30),rgba(255,65,125,.10)) !important;
  box-shadow:inset 3px 0 0 #FF4F89;
}
.sidebar .side-nav > a.category-menu-item.is-active svg,
.sidebar .side-nav > a.category-menu-item.is-active .nav-icon { color:#FF91B4 !important; }
.sidebar .sidebar-note {
  margin:14px 12px; padding:14px; border-radius:13px;
  color:#FFFFFF !important; background:rgba(255,255,255,.065) !important;
  border:1px solid rgba(255,255,255,.13) !important;
}
.sidebar .sidebar-note span { color:#D4DCE9 !important; }
.theme-toggle {
  display:grid !important; place-items:center !important;
  width:42px !important; min-width:42px !important; height:42px !important;
  padding:0 !important; margin-left:auto; border-radius:50% !important;
  border:1px solid var(--line) !important; background:var(--bg) !important;
  color:var(--text) !important; box-shadow:0 2px 9px rgba(15,23,42,.09);
  transition:all .2s ease;
}
.theme-toggle:hover {
  transform:translateY(-1px); border-color:var(--accent) !important;
  background:var(--panel) !important;
}
.theme-toggle .theme-toggle-icon { width:20px; height:20px; color:var(--accent) !important; }
:root[data-theme="dark"] .theme-toggle {
  background:#202D42 !important; color:#F9FAFB !important; border-color:#3A4A62 !important;
}
:root[data-theme="dark"] .theme-toggle .theme-toggle-icon { color:#FFD166 !important; }
@media(max-width:760px) {
  .sidebar { background:linear-gradient(160deg,#172033 0%,#101827 54%,#090d16 100%) !important; }
  .theme-toggle { width:36px !important; min-width:36px !important; height:36px !important; }
}


/* v2.5 homepage: WCB Wasafi trending carousel */
.trending-section { margin:0 0 34px; min-width:0; }
.trending-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 15px; }
.trending-heading h2 { margin:0; font-size:21px; line-height:1.25; font-weight:800; color:var(--text); }
.trending-heading p { margin:4px 0 0; font-size:13px; }
.trending-controls { display:flex; align-items:center; gap:8px; flex:none; }
.trending-view-all { color:var(--accent); font-size:12px; font-weight:750; margin-right:5px; }
.trending-arrow { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--line); border-radius:50%; background:var(--panel); color:var(--text); font-size:24px; line-height:1; cursor:pointer; box-shadow:0 3px 12px rgba(15,23,42,.07); transition:all .18s ease; }
.trending-arrow:hover:not(:disabled) { color:#fff; border-color:var(--accent); background:var(--accent); }
.trending-arrow:disabled { opacity:.35; cursor:default; }
.trending-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 72px) / 5); gap:18px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding:1px 1px 8px; }
.trending-track::-webkit-scrollbar { display:none; }
.trending-track .song-card { min-width:0; scroll-snap-align:start; }
.trending-track .song-art { display:block; overflow:hidden; border-radius:12px; aspect-ratio:1/1; background:var(--line); }
.trending-track .song-art img { display:block; width:100%; height:100%; object-fit:cover; }
.trending-track .song-card-meta h3 { margin:8px 0 2px; font-size:13px; line-height:1.35; font-weight:700; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.trending-track .song-card-meta p { margin:0; font-size:12px; color:var(--muted); }
.trending-empty { color:var(--muted); padding:15px 0; }
@media(max-width:1050px) { .trending-track { grid-auto-columns:calc((100% - 54px) / 4); } }
@media(max-width:760px) {
  .trending-section { margin-bottom:27px; }
  .trending-heading h2 { font-size:19px; }
  .trending-track { grid-auto-columns:42%; gap:13px; }
  .trending-arrow { width:32px; height:32px; }
  .trending-view-all { font-size:11px; }
}
@media(max-width:390px) { .trending-track { grid-auto-columns:48%; } }


/* v2.6 - softer premium sidebar palette */
:root:not([data-theme="dark"]) .sidebar {
  background:linear-gradient(160deg,#FFFFFF 0%,#F7F8FC 58%,#F0F2F8 100%) !important;
  border-right:1px solid #E2E6EF !important;
}
:root:not([data-theme="dark"]) .sidebar .side-nav > a {
  color:#263247 !important;
  background:transparent;
}
:root:not([data-theme="dark"]) .sidebar .side-nav > a svg,
:root:not([data-theme="dark"]) .sidebar .side-nav > a .nav-icon {
  color:#E4477A !important;
}
:root:not([data-theme="dark"]) .sidebar .side-nav > a:hover {
  color:#172033 !important;
  background:#E9EDF5 !important;
}
:root:not([data-theme="dark"]) .sidebar .side-nav > a.category-menu-item.is-active {
  color:#C92E65 !important;
  background:linear-gradient(100deg,#FCE5EE 0%,#FFF3F7 100%) !important;
  box-shadow:inset 3px 0 0 #E4477A;
}
:root:not([data-theme="dark"]) .sidebar .side-nav > a.category-menu-item.is-active svg,
:root:not([data-theme="dark"]) .sidebar .side-nav > a.category-menu-item.is-active .nav-icon {
  color:#D93670 !important;
}
:root:not([data-theme="dark"]) .sidebar .sidebar-note {
  color:#263247 !important;
  background:#FFFFFF !important;
  border:1px solid #E2E6EF !important;
  box-shadow:0 4px 14px rgba(31,41,55,.045);
}
:root:not([data-theme="dark"]) .sidebar .sidebar-note span { color:#657086 !important; }

/* Dark mode remains dark, but uses a softer slate instead of near-black */
:root[data-theme="dark"] .sidebar {
  background:linear-gradient(160deg,#263247 0%,#202B3D 58%,#1B2535 100%) !important;
  border-right:1px solid #35445A !important;
}
:root[data-theme="dark"] .sidebar .side-nav > a { color:#F1F5F9 !important; }
:root[data-theme="dark"] .sidebar .side-nav > a svg,
:root[data-theme="dark"] .sidebar .side-nav > a .nav-icon { color:#FF82A9 !important; }
:root[data-theme="dark"] .sidebar .side-nav > a:hover { background:rgba(255,255,255,.09) !important; color:#FFFFFF !important; }
:root[data-theme="dark"] .sidebar .side-nav > a.category-menu-item.is-active {
  background:linear-gradient(100deg,rgba(255,91,145,.24),rgba(255,91,145,.10)) !important;
  box-shadow:inset 3px 0 0 #FF6B9A;
}
:root[data-theme="dark"] .sidebar .sidebar-note {
  color:#F8FAFC !important; background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}
:root[data-theme="dark"] .sidebar .sidebar-note span { color:#D1DAE7 !important; }
