diff --git a/app.js b/app.js
index c7d561c..0622766 100644
--- a/app.js
+++ b/app.js
@@ -439,6 +439,8 @@ async function loadPlaylistDetail(pl){
const songs=full.entry||[];
const totalMin=Math.round(songs.reduce((s,t)=>s+(t.duration||0),0)/60);
document.getElementById('playlist-detail-stats').textContent=`${songs.length} Titel · ${totalMin} Min.`;
+ const descEl=document.getElementById('playlist-detail-desc');
+ if(descEl){descEl.textContent=full.comment||'';descEl.style.display=full.comment?'':'none';}
document.getElementById('btn-play-playlist').onclick=()=>playQueue(songs,0);
document.getElementById('btn-shuffle-playlist').onclick=()=>{
const shuffled=[...songs].sort(()=>Math.random()-.5);
diff --git a/index.html b/index.html
index d40d2f4..acff5ee 100644
--- a/index.html
+++ b/index.html
@@ -231,6 +231,7 @@
Playlist
—
+
diff --git a/styles.css b/styles.css
index 5277425..7fdf5f1 100644
--- a/styles.css
+++ b/styles.css
@@ -165,6 +165,7 @@ nav{flex:1;overflow-y:auto;padding:4px 10px}
.album-artist-name{font-size:14px;color:var(--text2);margin-bottom:10px;cursor:pointer}
.album-artist-name:hover{color:var(--accent)}
.album-stats{font-size:12px;color:var(--text3)}
+.playlist-detail-desc{font-size:13px;color:var(--text2);line-height:1.5;margin-top:6px;max-width:480px}
.album-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.btn-play-all{display:flex;align-items:center;gap:7px;padding:10px 20px;border-radius:25px;background:var(--accent);color:#000;border:none;font-family:var(--font);font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .15s}
.btn-play-all:hover{opacity:.9;transform:scale(1.02)}
diff --git a/sw.js b/sw.js
index e6863e2..9b7648d 100644
--- a/sw.js
+++ b/sw.js
@@ -1,4 +1,4 @@
-const CACHE = 'ns-v32';
+const CACHE = 'ns-v33';
const PRECACHE = ['/', 'index.html', 'styles.css', 'app.js', 'manifest.json', 'icon.svg'];
const SKIP_PATHS = ['/rest/stream', '/rest/download', '/config.js'];