:root{--bg:#f5f6fa;--panel:#fff;--text:#171923;--muted:#777d8b;--line:#e7e9ef;--accent:#ff3d76;--accent2:#ff7a35;--shadow:0 8px 30px rgba(20,25,40,.06)}
:root[data-theme="dark"]{--bg:#101116;--panel:#191b23;--text:#f4f5f8;--muted:#a2a6b3;--line:#2a2d38;--shadow:0 8px 30px rgba(0,0,0,.2)}
*{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}}
