:root {
    --ppop-green:#1DB954; --ppop-dark:#121212; --ppop-card:#1e1e2e;
    --ppop-surface:#2a2a3e; --ppop-text:#fff; --ppop-muted:#a0a0b0; --ppop-radius:12px;
}
.ppop-widget { background:var(--ppop-card); border-radius:var(--ppop-radius); overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--ppop-text); margin:24px 0; box-shadow:0 4px 24px rgba(0,0,0,.4) }
.ppop-widget-header { background:linear-gradient(135deg,#1DB954,#0f7a38); padding:16px 20px; display:flex; align-items:center; gap:12px }
.ppop-widget-header h3 { margin:0; font-size:1.1rem; font-weight:700; color:#fff; flex:1 }
.ppop-badge { background:rgba(255,255,255,.2); color:#fff; font-size:.7rem; font-weight:700; padding:3px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:1px }
.ppop-icon { font-size:1.4rem }
.ppop-artist-avatar { width:56px; height:56px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,.3) }
.ppop-artist-meta { flex:1 }
.ppop-artist-meta h3 { margin:0 0 2px }
.ppop-followers { font-size:.75rem; opacity:.8 }
.ppop-track-list { padding:6px 0 }
.ppop-track-row { display:flex; align-items:center; gap:12px; padding:10px 16px; border-bottom:1px solid rgba(255,255,255,.06); transition:background .15s }
.ppop-track-row:hover { background:rgba(255,255,255,.04) }
.ppop-track-row:last-child { border-bottom:none }
.ppop-track-num { min-width:24px; text-align:center; font-size:.9rem; font-weight:700; color:var(--ppop-muted) }
.ppop-track-num.ppop-top3 { color:#ffd700; font-size:1rem }
.ppop-track-art { width:42px; height:42px; border-radius:6px; object-fit:cover; flex-shrink:0 }
.ppop-track-info { flex:1; min-width:0 }
.ppop-track-name { font-weight:600; font-size:.92rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.ppop-track-album { font-size:.75rem; color:var(--ppop-muted); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.ppop-explicit { background:#555; color:#fff; font-size:.6rem; font-weight:700; padding:1px 4px; border-radius:2px; vertical-align:middle; margin-left:4px }
.ppop-track-right { display:flex; align-items:center; gap:8px; flex-shrink:0 }
.ppop-track-dur { font-size:.75rem; color:var(--ppop-muted); min-width:32px; text-align:right }
.ppop-preview-btn { background:rgba(29,185,84,.15); color:var(--ppop-green); border:1px solid var(--ppop-green); border-radius:50%; width:28px; height:28px; cursor:pointer; font-size:.7rem; display:flex; align-items:center; justify-content:center; transition:background .2s }
.ppop-preview-btn:hover,.ppop-preview-btn.playing { background:var(--ppop-green); color:#fff }
.ppop-spotify-btn { display:flex; align-items:center; justify-content:center; width:28px; height:28px; background:var(--ppop-green); border-radius:50%; color:#fff; text-decoration:none; transition:transform .2s,background .2s }
.ppop-spotify-btn:hover { background:#1ed760; transform:scale(1.1); color:#fff }
/* Playlist header */
.ppop-playlist-header { align-items:flex-start; padding:14px 18px }
.ppop-playlist-cover { width:64px; height:64px; border-radius:8px; object-fit:cover; flex-shrink:0; box-shadow:0 4px 12px rgba(0,0,0,.4) }
.ppop-playlist-meta { flex:1 }
.ppop-playlist-meta h3 { margin:0 0 4px }
.ppop-playlist-desc { margin:0; font-size:.75rem; color:rgba(255,255,255,.7) }
/* Song card */
.ppop-song-card { padding:0 }
.ppop-song-card-inner { display:flex; gap:20px; padding:20px }
.ppop-song-cover { width:120px; height:120px; border-radius:10px; object-fit:cover; flex-shrink:0 }
.ppop-song-details { flex:1 }
.ppop-song-title { margin:0 0 6px; font-size:1.2rem }
.ppop-song-artist { margin:0 0 4px; color:var(--ppop-green); font-weight:600 }
.ppop-song-album,.ppop-song-duration { margin:2px 0; font-size:.82rem; color:var(--ppop-muted) }
.ppop-song-preview { margin-top:12px }
.ppop-spotify-link-btn { display:inline-flex; align-items:center; gap:6px; background:var(--ppop-green); color:#fff; text-decoration:none; padding:8px 16px; border-radius:20px; font-size:.82rem; font-weight:600; margin-top:10px; transition:background .2s }
.ppop-spotify-link-btn:hover { background:#1ed760; color:#fff }
.ppop-footer { text-align:center; font-size:.72rem; color:var(--ppop-muted); padding:12px; border-top:1px solid rgba(255,255,255,.06) }
.ppop-open-playlist { color:var(--ppop-green); text-decoration:none; font-weight:600 }
.ppop-empty { padding:20px; text-align:center; color:var(--ppop-muted); font-style:italic }
@media(max-width:600px) { .ppop-track-row { padding:8px 12px; gap:8px } .ppop-track-num { display:none } .ppop-track-art { width:36px; height:36px } .ppop-song-card-inner { flex-direction:column } .ppop-song-cover { width:100%; height:auto } }

/* Year pill in track listings */
.ppop-track-year {
    display: inline-block;
    background: rgba(29,185,84,.15);
    color: var(--ppop-green);
    font-size: .68rem;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 10px;
    margin-right: 5px;
    vertical-align: middle;
}
