/* System font fallbacks keep the player usable without an external font request. */
:root{--bg:#070708;--panel:#111114;--line:#2b2b30;--muted:#97979f;--red:#e12b2b;--orange:#ff6a4a;--display:'Metal Mania',Impact,'Arial Black',sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 15% 0,#3a0909 0,transparent 24%),linear-gradient(#070708,#111);color:#eee;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;min-height:100vh}button,input{font:inherit}button,a{color:inherit}button{touch-action:manipulation}.topbar{min-height:76px;display:flex;align-items:center;gap:24px;padding:10px clamp(16px,4vw,56px);position:sticky;top:0;z-index:50;background:rgba(5,5,6,.95);backdrop-filter:blur(12px);border-bottom:1px solid #27272a}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--display);font-size:28px;letter-spacing:.03em}.brand img{width:48px;height:48px;object-fit:contain}.brand b{color:var(--orange);font-weight:400}nav{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}nav a,.install-btn{border:1px solid #38383e;background:#111114;padding:9px 12px;border-radius:8px;text-decoration:none;font-weight:800;cursor:pointer}.install-btn{border-color:#8b2e25}.install-btn[hidden]{display:none!important}.player-shell{width:min(1480px,calc(100% - 32px));margin:28px auto 48px}.now-card{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:28px;background:linear-gradient(145deg,#151517,#09090a);border:1px solid #34343a;border-top:3px solid var(--red);border-radius:20px;padding:24px;box-shadow:0 24px 60px #0008}.cover-wrap{position:relative;aspect-ratio:16/9;background:#050505;border-radius:14px;overflow:hidden}.cover-wrap img{width:100%;height:100%;object-fit:cover}.source-badge{position:absolute;left:12px;top:12px;padding:6px 9px;border-radius:999px;background:#09090bd9;border:1px solid #ffffff2a;font-size:11px;font-weight:900;letter-spacing:.08em}.now-meta{align-self:center}.eyebrow{font-family:var(--display);color:var(--orange);letter-spacing:.1em;font-size:18px}.now-meta h1{font-family:var(--display);font-size:clamp(34px,5vw,64px);line-height:1;margin:10px 0 8px}.now-meta p{color:#aaa;margin:0 0 18px}.transport{display:flex;align-items:center;gap:12px}.transport button{width:54px;height:54px;border-radius:50%;border:1px solid #444;background:#161619;font-size:22px;cursor:pointer}.transport .play{width:68px;height:68px;background:linear-gradient(180deg,#e43a2d,#a71313);border-color:#f05d48;font-size:27px}.progress-row,.volume-row{display:flex;align-items:center;gap:10px;margin-top:16px}.progress-row span{min-width:42px;font-size:12px;color:#aaa}.progress-row input,.volume-row input{accent-color:var(--red);width:100%}.volume-row{max-width:360px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.quick-actions button,.quick-actions a,.ghost{border:1px solid #37373d;background:#151518;padding:9px 12px;border-radius:8px;text-decoration:none;font-weight:800;cursor:pointer}.quick-actions button:hover,.quick-actions a:hover,.ghost:hover{border-color:#6a3430}.workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:22px;margin-top:22px}.panel{background:#101012;border:1px solid var(--line);border-radius:16px;padding:20px;min-width:0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head h2{font-family:var(--display);font-size:32px;margin:3px 0 0}.muted{color:var(--muted);font-size:13px}.search-wrap{display:flex;align-items:center;gap:10px;background:#080809;border:1px solid #333;border-radius:10px;padding:0 12px;margin-bottom:10px}.search-wrap:focus-within{border-color:#8f332c;box-shadow:0 0 0 2px #8f332c22}.search-wrap input{width:100%;border:0;outline:0;background:transparent;color:#fff;padding:13px 0;font-size:16px}.catalog-help{margin:0 0 12px;color:#777;font-size:12px}.catalog-list,.queue-list{display:grid;gap:8px}.catalog-list{max-height:640px;overflow:auto;padding-right:4px}.catalog-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;border:1px solid #29292f;background:#0b0b0d;border-radius:11px;padding:6px;transition:border-color .15s,background .15s,transform .15s}.catalog-item:hover{border-color:#49302e;background:#101012}.catalog-item.active{border-color:#8f332c;box-shadow:0 0 0 1px #8f332c33}.catalog-main{appearance:none;width:100%;border:0;background:transparent;color:inherit;text-align:left;display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:12px;padding:2px;cursor:pointer;border-radius:8px;min-width:0}.catalog-main:focus-visible{outline:2px solid #d94b3a;outline-offset:1px}.catalog-main img{width:68px;height:46px;object-fit:cover;border-radius:7px;background:#000}.catalog-title{font-weight:800;line-height:1.25;overflow-wrap:anywhere}.catalog-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.mini-badge{font-size:10px;padding:4px 6px;border-radius:999px;background:#222228;border:1px solid #393940;color:#bbb;font-weight:900}.mini-badge.yt{border-color:#6e2727;color:#ff8a7b}.catalog-actions{display:flex;gap:6px;align-items:center}.add-btn{border:1px solid #6b2824;background:#39110f;color:#fff;border-radius:9px;min-width:46px;height:46px;font-size:24px;cursor:pointer}.add-btn:hover{background:#571b17;border-color:#a83b32}.queue-list{list-style:none;padding:0;margin:0;max-height:640px;overflow:auto}.queue-item{display:grid;grid-template-columns:36px 54px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid #29292f;background:#0b0b0d;border-radius:10px;cursor:pointer}.queue-item.active{border-color:#9c352d;box-shadow:0 0 0 1px #9c352d33}.queue-num{color:#777;font-size:12px;text-align:center}.queue-item img{width:54px;height:38px;object-fit:cover;border-radius:6px}.queue-title{font-weight:800;font-size:13px;line-height:1.25}.queue-actions{display:flex;gap:4px}.queue-actions button{width:30px;height:30px;border:1px solid #34343a;background:#17171a;border-radius:7px;cursor:pointer}.danger{color:#ff9a90}.empty-state{padding:28px 12px;border:1px dashed #333;border-radius:10px;color:#888;text-align:center}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#111;border:1px solid #4a4a50;border-radius:10px;padding:11px 15px;opacity:0;pointer-events:none;transition:.2s;z-index:120;max-width:min(92vw,520px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}#youtubeHost{position:fixed;width:1px;height:1px;left:-9999px;top:-9999px;overflow:hidden}.mobile-dock{display:none}

@media(max-width:900px){.topbar{align-items:flex-start;flex-direction:column}.brand{font-size:24px}nav{margin-left:0}.now-card{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.catalog-list,.queue-list{max-height:none}.player-shell{width:min(100% - 20px,1480px);margin-top:14px}.now-card,.panel{padding:14px}.section-head h2{font-size:28px}}

@media(max-width:700px){
  body{padding-bottom:calc(84px + var(--safe-bottom))}.topbar{position:static;min-height:auto;padding:8px 10px;gap:7px}.brand{font-size:20px;gap:8px}.brand img{width:38px;height:38px}nav{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}nav a,.install-btn{padding:8px 4px;text-align:center;font-size:10.5px;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-shell{width:calc(100% - 12px);margin:8px auto 18px}.now-card{grid-template-columns:84px minmax(0,1fr);gap:10px;padding:10px;border-radius:14px;align-items:start}.cover-wrap{width:84px;height:84px;aspect-ratio:1;border-radius:10px}.source-badge{left:5px;top:5px;padding:3px 5px;font-size:8px}.now-meta{min-width:0}.eyebrow{font-size:13px}.now-meta h1{font-size:24px;margin:4px 0 4px;line-height:1.05;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.now-meta p{font-size:11px;line-height:1.25;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.transport{gap:7px}.transport button{width:42px;height:42px;font-size:17px}.transport .play{width:50px;height:50px;font-size:21px}.progress-row,.volume-row,.quick-actions{grid-column:1/-1}.progress-row{margin-top:8px;gap:6px}.volume-row{margin-top:8px}.quick-actions{margin-top:9px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.quick-actions button,.quick-actions a{padding:8px 7px;font-size:11px;text-align:center}.workspace{margin-top:8px;gap:8px}.panel{padding:10px;border-radius:13px}.section-head{margin-bottom:8px;align-items:center}.section-head h2{font-size:24px}.catalog-panel .search-wrap{position:sticky;top:6px;z-index:25;background:#080809f5;backdrop-filter:blur(8px);box-shadow:0 8px 20px #0008}.search-wrap input{font-size:16px;padding:12px 0}.catalog-help{font-size:10.5px;margin-bottom:8px}.catalog-list{gap:6px}.catalog-item{padding:5px;border-radius:10px;min-height:62px}.catalog-main{grid-template-columns:64px minmax(0,1fr);gap:9px;min-height:52px}.catalog-main img{width:64px;height:44px}.catalog-title{font-size:14px}.catalog-meta{margin-top:3px}.mini-badge{font-size:9px;padding:3px 5px}.add-btn{min-width:46px;width:46px;height:46px;font-size:24px}.queue-item{grid-template-columns:48px minmax(0,1fr) auto;padding:7px}.queue-num{display:none}.queue-item img{width:48px;height:36px}.queue-title{font-size:12px}.queue-actions button:nth-child(-n+2){display:none}.mobile-dock{position:fixed;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:7px;left:0;right:0;bottom:0;z-index:100;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + var(--safe-bottom)) max(8px,env(safe-area-inset-left));background:rgba(7,7,8,.97);border-top:1px solid #7e2a24;box-shadow:0 -8px 28px #000c;backdrop-filter:blur(14px)}.mobile-dock[hidden]{display:none!important}.mobile-dock img{width:46px;height:46px;object-fit:cover;border-radius:8px;background:#000}.mobile-meta{border:0;background:transparent;color:#fff;text-align:left;min-width:0;padding:2px 3px;cursor:pointer}.mobile-meta strong{display:block;font-size:12px;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-meta small{display:block;color:#ff806a;font-size:9px;font-weight:900;letter-spacing:.05em;margin-top:3px}.mobile-controls{display:flex;gap:3px}.mobile-controls button{width:38px;height:38px;border-radius:50%;border:1px solid #3b3b40;background:#151518;color:#fff;font-size:15px}.mobile-controls .mobile-play{background:linear-gradient(180deg,#e43a2d,#a71313);border-color:#f05d48;font-size:17px}.toast{bottom:calc(92px + var(--safe-bottom));font-size:12px}.queue-panel{margin-bottom:8px}
}

@media(max-width:390px){nav{grid-template-columns:1fr 1fr}.now-card{grid-template-columns:72px minmax(0,1fr)}.cover-wrap{width:72px;height:72px}.now-meta h1{font-size:21px}.transport .play{width:46px;height:46px}.catalog-main{grid-template-columns:56px minmax(0,1fr)}.catalog-main img{width:56px;height:40px}.mobile-dock{grid-template-columns:42px minmax(0,1fr) auto}.mobile-dock img{width:42px;height:42px}}

[hidden]{display:none!important}
#queuePanel,#catalogPanel{scroll-margin-top:90px}
@media(max-width:900px){.queue-panel{order:-1}.queue-list{max-height:45vh;overflow:auto}#queuePanel,#catalogPanel{scroll-margin-top:12px}}
.now-meta,.queue-title{min-width:0;overflow-wrap:anywhere}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ff806a;outline-offset:3px}
#youtubeRegion,#video{display:block;width:min(720px,calc(100% - 24px));margin:16px auto 110px}
#youtubeHost{position:static;width:100%;height:240px;overflow:visible}
#video{max-height:420px;background:#000}
@media(max-width:700px){
  nav a,.install-btn,.quick-actions button,.quick-actions a,.ghost{min-height:44px;display:flex;align-items:center;justify-content:center;white-space:normal}
  .now-card{display:block}.cover-wrap{float:left;margin:0 10px 8px 0}.now-meta h1{display:block;overflow-wrap:anywhere}.now-meta .transport{clear:both}
  .transport button,.mobile-controls button,.queue-actions button{min-width:44px;min-height:44px}
  .queue-actions button:nth-child(-n+2){display:block}
  .queue-item{grid-template-columns:40px minmax(0,1fr)}.queue-item img{width:40px}.queue-actions{grid-column:2;justify-content:flex-end}
  .progress-row input,.volume-row input{min-height:32px}
  .mobile-meta strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Shared visual language for desktop and mobile. */
.playlist-manager{border-top:1px solid #303038;border-bottom:1px solid #303038;padding:14px 0;margin-bottom:14px;display:grid;gap:9px}
.playlist-manager label{font-size:12px;font-weight:650;color:#c5c5ce}
.playlist-manager select,.playlist-manager input{width:100%;min-width:0;min-height:46px;border:1px solid #48414b;border-radius:8px;background:#19181e;color:#f2f2f5;padding:10px;font:inherit;font-size:16px}
.playlist-manager button{min-height:44px;border:1px solid #52404a;border-radius:8px;background:#281f25;color:#eee;font:inherit;font-size:12px;font-weight:650;padding:9px 12px}
.playlist-manager button.danger{color:#ff9a90;background:#221a20}
.playlist-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.playlist-save{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.playlist-manager p{font-size:12px;line-height:1.45;color:#b5b0bb;margin:2px 0 0;overflow-wrap:anywhere}
.playlist-actions #loadQueueBtn,.playlist-actions #deleteSavedQueueBtn{grid-column:auto}
.transport .play,.mobile-controls .mobile-play{display:inline-flex;align-items:center;justify-content:center}
.equalizer{display:flex;align-items:center;justify-content:center;gap:3px;height:25px;width:29px;pointer-events:none}
.equalizer i{display:block;background:currentColor;width:3px;height:100%;border-radius:2px;transform:scaleY(.35);animation:player-bars 850ms ease-in-out infinite alternate}
.equalizer i:nth-child(2){animation-delay:-450ms}.equalizer i:nth-child(3){animation-delay:-200ms}.equalizer i:nth-child(4){animation-delay:-650ms}.equalizer i:nth-child(5){animation-delay:-330ms}
.mobile-play .equalizer{height:18px;width:24px;gap:2px}
@keyframes player-bars{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.equalizer i{animation:none;transform:scaleY(.65)}}
button:disabled{opacity:.45;cursor:default}
@media(max-width:700px){#deleteSavedQueueBtn{grid-column:1/-1}}
:root{--display:system-ui,-apple-system,'Segoe UI',sans-serif;--orange:#ef766a;--line:#292a30;--muted:#a2a3ad}
body{background:radial-gradient(ellipse at 50% 0,#231012 0,transparent 55%),#0b0b0e}
.topbar{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px;background:#0b0b0ef2}
.brand{font-size:24px;letter-spacing:-.025em;font-weight:800;min-width:0}.brand b{font-weight:500;color:#b6b6bf}.brand img{border-radius:10px}
.topbar nav a{font-size:13px;font-weight:650;min-height:44px;display:flex;align-items:center;justify-content:center;background:#17171c;border-color:#303038;padding:10px 18px}
.install-btn{font-size:12px;min-height:44px;background:transparent;color:#c4c4cc}
.player-shell{max-width:1240px}
.now-card{grid-template-columns:minmax(200px,300px) minmax(0,1fr);border-top-width:1px;border-color:#393039;background:linear-gradient(135deg,#1b171b,#111115);gap:32px;box-shadow:0 12px 36px #0004}
.cover-wrap{aspect-ratio:1;align-self:start}.cover-wrap img{object-fit:contain}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c1a6a6}
.now-meta h1{font-size:clamp(26px,3.4vw,42px);font-weight:750;letter-spacing:-.035em;line-height:1.16;margin:8px 0}
.now-meta p{font-size:13px;line-height:1.5;color:#b0afb9}
.transport{gap:12px}.transport button{background:#202027;border-color:#3b3b44}.transport .play{box-shadow:0 4px 20px #d32c232b}
.progress-row span{font-variant-numeric:tabular-nums}.volume-label{font-size:12px;color:#a2a3ad}
.quick-actions{border-top:1px solid #303038;padding-top:14px;gap:8px}
.quick-actions button,.quick-actions a,.ghost{min-height:44px;font-size:12px;font-weight:600;border-color:#35353e;background:#1b1b21;line-height:1.4}
#loadQueueBtn{border-color:#74504f;background:#2a2023}
.panel{background:#121216;border-color:#2d2d35}.section-head h2{font-size:25px;font-weight:700;letter-spacing:-.025em;margin-top:6px}
.catalog-help{color:#a2a3ad;font-size:12px;line-height:1.5}
.catalog-item,.queue-item{border-color:#292930;background:#17171c}.catalog-item.active,.queue-item.active{background:#281b20;border-color:#a45049}
.catalog-title,.queue-title{font-weight:600;line-height:1.4}.catalog-main img,.queue-item img{object-fit:cover}
.empty-state{font-size:13px;color:#a2a3ad;padding:20px 12px}.search-wrap{background:#0e0e12;border-color:#3b3b44}.search-wrap input{min-width:0}
#youtubeRegion,#video{margin-bottom:20px}
@media(min-width:701px) and (max-width:900px){.now-card{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:700px){
 .topbar{gap:12px;padding-left:12px;padding-right:12px}.brand{font-size:21px}.brand img{width:36px;height:36px}
 .topbar nav{grid-template-columns:1fr 1fr;gap:8px}.topbar nav a{font-size:12px;padding:8px 10px;border-radius:9px}.topbar .install-btn{grid-column:1/-1}
 .player-shell{width:calc(100% - 20px);margin-top:12px}
 .now-card{padding:14px;border-radius:16px}.cover-wrap{width:72px;height:72px;margin:0 12px 12px 0}
 .now-meta h1{font-size:24px;line-height:1.2;margin:5px 0}.now-meta p{font-size:12px;line-height:1.45;display:block;margin-bottom:12px}
 .transport{justify-content:center;padding-top:8px}.transport button{width:46px;height:46px}.transport .play{width:58px;height:58px;font-size:23px}
 .progress-row{margin-top:10px}.volume-row{max-width:none;margin-top:0;gap:12px}
 .quick-actions{margin-top:10px;padding-top:12px;gap:8px}.quick-actions button,.quick-actions a{font-size:12px;padding:9px 8px}#loadQueueBtn{grid-column:1/-1}
 .workspace{gap:12px;margin-top:12px}.panel{padding:14px}.section-head h2{font-size:23px}.section-head{gap:10px}
 .catalog-help{font-size:11px}.catalog-title{font-size:14px}.queue-title{font-size:13px}
 .mobile-dock{background:#131317f5;border-top-color:#574046;box-shadow:0 -4px 20px #0006}
}

/* Metal identity only on branding and section headings; controls stay readable. */
.brand,.section-head h2,.now-meta h1{font-family:'Metal Mania',Impact,'Arial Black',sans-serif;font-weight:400;letter-spacing:.02em}
.brand{font-size:29px}.brand b{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:.7em;font-weight:500;letter-spacing:0}
.section-head h2{font-size:29px}
@media(max-width:700px){.brand{font-size:26px}.section-head h2{font-size:26px}}


/* V10: catalog-wide shuffle and next-track preview */
.shuffle-all.active{border-color:#e95b4f!important;background:linear-gradient(180deg,#3a1d20,#241519)!important;color:#fff;box-shadow:0 0 0 1px #9d3029 inset,0 0 20px #d52d2233}
.shuffle-next{margin-top:12px;border:1px solid #3a343c;border-radius:12px;background:#0f0f13;padding:10px 12px}
.shuffle-next-label{font-size:10px;font-weight:800;letter-spacing:.12em;color:#d47a70;margin-bottom:8px}
.shuffle-next-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px}
.shuffle-next-row img{width:52px;height:52px;object-fit:cover;border-radius:8px;background:#09090b}
.shuffle-next-meta{min-width:0}.shuffle-next-meta strong{display:block;font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shuffle-next-meta small{display:block;margin-top:4px;color:#a9a8b1;font-size:10px;font-weight:800;letter-spacing:.08em}
.shuffle-next-row button{min-height:42px;border:1px solid #4a3b42;border-radius:9px;background:#211a1e;color:#fff;padding:8px 12px;font:inherit;font-size:12px;font-weight:700}
@media(max-width:700px){.shuffle-next{padding:9px}.shuffle-next-row{grid-template-columns:44px minmax(0,1fr) auto;gap:8px}.shuffle-next-row img{width:44px;height:44px}.shuffle-next-meta strong{font-size:12px}.shuffle-next-row button{padding:7px 9px;font-size:11px}}


/* V11: separate Player-PWA install surface */
.pwa-install-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:18px 20px;border:1px solid #49343b;border-radius:16px;background:linear-gradient(135deg,#191418,#111115)}
.pwa-install-card strong{display:block;font-size:18px;margin-top:5px}.pwa-install-card p{margin:7px 0 0;color:#aaa;font-size:13px;line-height:1.45;max-width:760px}.pwa-install-main{flex:0 0 auto;border-color:#a4473f!important;background:#28191d!important;color:#fff!important;padding:11px 16px!important}
@media(max-width:700px){.pwa-install-card{align-items:stretch;flex-direction:column;padding:14px}.pwa-install-card strong{font-size:16px}.pwa-install-main{width:100%}}


/* V13: V12 shuffle UI unchanged; PWA short name updated to R-Play */
.shuffle-mode{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:13px 14px;border:1px solid #35343b;border-radius:12px;background:linear-gradient(135deg,#17171c,#101014)}
.shuffle-mode-copy{min-width:0}.shuffle-mode-title{display:block;font-size:14px;font-weight:800;color:#f1f1f4}.shuffle-mode-copy small{display:block;margin-top:4px;color:#9696a0;font-size:11px;line-height:1.35}
.shuffle-switch{display:grid;grid-template-columns:1fr 1fr;flex:0 0 132px;padding:3px;border:1px solid #424149;border-radius:10px;background:#09090c}
.shuffle-switch-btn{min-height:36px;border:0;border-radius:7px;background:transparent;color:#8e8e98;font-size:11px;font-weight:900;letter-spacing:.08em;cursor:pointer}
.shuffle-switch-btn.active{background:#2b2226;color:#fff;box-shadow:0 0 0 1px #5b4145 inset}
#shuffleAllBtn.active{background:linear-gradient(180deg,#9e3029,#6f211d);box-shadow:0 0 16px #d63a2e30;color:#fff}
.shuffle-next{border-color:#49363d;background:linear-gradient(135deg,#161216,#0e0e12)}
.shuffle-next-label{display:flex;align-items:center;gap:7px;color:#e08b80}.shuffle-live-dot{width:7px;height:7px;border-radius:50%;background:#e45548;box-shadow:0 0 10px #e45548}
@media(max-width:700px){.shuffle-mode{align-items:stretch;flex-direction:column;gap:10px}.shuffle-switch{width:100%;flex-basis:auto}.shuffle-switch-btn{min-height:40px}}


/* V14 – current-song quick add to playlist */
.transport .add-current-btn{width:auto;min-width:112px;border-radius:999px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:900;white-space:nowrap;background:#251514;border-color:#7a302a;color:#fff}
.transport .add-current-btn:hover:not(:disabled){background:#3a1916;border-color:#b64036}
.transport .add-current-btn.added{background:#132c1a;border-color:#397a4c;color:#c8f4d3}
.transport .add-current-btn:disabled{opacity:.45;cursor:not-allowed}
.mobile-controls .mobile-add{font-size:23px;font-weight:800}
.mobile-controls .mobile-add.added{background:#17311e;border-color:#3f8654;color:#c8f4d3}
.mobile-controls .mobile-add:disabled{opacity:.45}
@media(max-width:700px){.transport .add-current-btn{min-width:104px;height:46px;padding:0 12px;font-size:12px}.mobile-controls{gap:3px}.mobile-controls button{width:36px;height:36px}.mobile-controls .mobile-add{font-size:20px}}
@media(max-width:390px){.transport .add-current-btn{min-width:96px;padding:0 10px}.mobile-controls button{width:34px;height:34px;font-size:14px}.mobile-controls .mobile-add{font-size:19px}}


/* V15 – compact bilingual help; player controls remain uncluttered */
.player-help{margin-top:22px;border:1px solid #34343c;border-radius:16px;background:linear-gradient(135deg,#17171c,#101014);overflow:hidden}
.player-help summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:15px 18px;color:#e6e6ea;font-weight:750;font-size:14px}
.player-help summary::-webkit-details-marker{display:none}
.player-help summary::after{content:'＋';margin-left:auto;color:#d77a70;font-size:18px;line-height:1}
.player-help[open] summary::after{content:'−'}
.player-help .help-title{font-family:'Metal Mania',Impact,'Arial Black',sans-serif;font-size:20px;font-weight:400;color:#f0d7d2;letter-spacing:.02em}
.player-help .help-sep{color:#696973}
.player-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #2c2c33;padding:16px 18px 18px}
.player-help-grid>div+div{border-left:1px solid #2c2c33;padding-left:20px}
.player-help-grid p{margin:8px 0 0;color:#b7b7c0;font-size:13px;line-height:1.55}
.player-help-grid strong{color:#f1f1f4}
@media(max-width:700px){.player-help{margin-top:12px}.player-help summary{padding:13px 14px;font-size:12px;gap:6px;flex-wrap:wrap}.player-help .help-title{font-size:18px}.player-help-grid{grid-template-columns:1fr;gap:14px;padding:14px}.player-help-grid>div+div{border-left:0;border-top:1px solid #2c2c33;padding-left:0;padding-top:14px}.player-help-grid p{font-size:12px}}


/* V18 – mobile cover view: preserve artwork aspect ratio; desktop unchanged */
.mobile-fullscreen{display:none}
@media(max-width:700px){
  #nowCover,#mobileCover{cursor:zoom-in;touch-action:manipulation}
  body.mobile-fullscreen-open{overflow:hidden;overscroll-behavior:none}
  .mobile-fullscreen{position:fixed;inset:0;z-index:1000;display:block;background:#050506;color:#fff;overflow:hidden;isolation:isolate}
  .mobile-fullscreen[hidden]{display:none!important}
  .mobile-fullscreen-bg{display:none!important}
  .mobile-fullscreen::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#09090b 0,#050506 100%);z-index:-1;pointer-events:none}
  .mobile-fullscreen-inner{height:100%;min-height:100dvh;display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));gap:12px}
  .mobile-fullscreen-close{align-self:flex-start;min-height:44px;border:1px solid #ffffff3b;border-radius:999px;background:#0d0d10;color:#fff;padding:9px 15px;font-size:13px;font-weight:800}
  .mobile-fullscreen-art{flex:0 0 auto;width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:#000;border-radius:14px;overflow:hidden;box-shadow:0 18px 52px #000b}
  .mobile-fullscreen-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#000}
  .mobile-fullscreen-art.is-portrait{width:auto;height:min(58dvh,calc(100dvh - 250px));max-width:100%;aspect-ratio:9/16;align-self:center}
  .mobile-fullscreen-art.is-portrait img{width:100%;height:100%;object-fit:contain}
  .mobile-fullscreen-meta{text-align:center;min-height:50px;padding:0 8px}
  .mobile-fullscreen-meta strong{display:block;font-family:'Metal Mania',Impact,'Arial Black',sans-serif;font-size:clamp(24px,7vw,34px);font-weight:400;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-fullscreen-meta small{display:inline-block;margin-top:6px;color:#ff8a79;font-size:10px;font-weight:900;letter-spacing:.12em}
  .mobile-fullscreen-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 0 2px}
  .mobile-fullscreen-controls button{width:52px;height:52px;min-width:52px;border:1px solid #ffffff35;border-radius:50%;background:#151519;color:#fff;font-size:20px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 24px #0007}
  .mobile-fullscreen-controls .mobile-fullscreen-play{width:68px;height:68px;min-width:68px;background:linear-gradient(180deg,#e43a2d,#a71313);border-color:#f05d48;font-size:27px}
  .mobile-fullscreen-controls .mobile-fullscreen-add{font-size:28px;font-weight:800}
  .mobile-fullscreen-controls .mobile-fullscreen-add.added{background:#17311e;border-color:#4d9862;color:#cdf6d6}
  .mobile-fullscreen-controls .mobile-fullscreen-add:disabled{opacity:.45}
  .mobile-fullscreen-play .equalizer{height:24px;width:30px;gap:3px}
}
@media(max-width:390px){
  .mobile-fullscreen-inner{gap:9px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .mobile-fullscreen-art{border-radius:12px}
  .mobile-fullscreen-art.is-portrait{height:min(54dvh,calc(100dvh - 232px))}
  .mobile-fullscreen-controls{gap:9px}
  .mobile-fullscreen-controls button{width:48px;height:48px;min-width:48px}
  .mobile-fullscreen-controls .mobile-fullscreen-play{width:64px;height:64px;min-width:64px}
}



/* V19 – subtle mobile fullscreen affordance; playback/fullscreen behavior unchanged */
@media(max-width:700px){
  .cover-wrap::after{
    content:'⛶ Vollbild';
    position:absolute;
    right:5px;
    bottom:5px;
    z-index:3;
    pointer-events:none;
    padding:3px 6px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:999px;
    background:rgba(5,5,7,.82);
    color:#fff;
    font-size:8px;
    line-height:1;
    font-weight:900;
    letter-spacing:.02em;
    box-shadow:0 2px 8px rgba(0,0,0,.55);
  }
}


/* V20 – slow readable title crawl in mobile fullscreen only */
@media(max-width:700px){
  .mobile-fullscreen-meta{overflow:hidden}
  .mobile-fullscreen-meta strong{
    overflow:visible;
    text-overflow:clip;
    will-change:transform;
  }
  .mobile-fullscreen-meta strong.is-scrolling{
    width:max-content;
    max-width:none;
    animation:rplay-fullscreen-title-scroll var(--rplay-marquee-duration,22s) linear infinite;
  }
}
@keyframes rplay-fullscreen-title-scroll{
  0%,12%{transform:translateX(0)}
  88%,100%{transform:translateX(var(--rplay-marquee-shift,0px))}
}
@media(prefers-reduced-motion:reduce){
  .mobile-fullscreen-meta strong.is-scrolling{animation:none!important;transform:none!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}
}


/* V22 – RAILYS Songs shortcut integrated into the player card */
.songs-jump{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  width:max-content;max-width:100%;min-height:44px;margin:16px 0 0;
  padding:10px 16px;border:1px solid #7a302a;border-radius:12px;
  background:linear-gradient(180deg,#251617,#171114);color:#fff;text-decoration:none;
  font-size:13px;font-weight:900;letter-spacing:.02em;box-shadow:0 5px 18px #0004;
  touch-action:manipulation;transition:border-color .15s,background .15s,transform .15s
}
.songs-jump:hover{border-color:#a94439;background:linear-gradient(180deg,#331a19,#1b1214)}
.songs-jump:active{transform:translateY(1px)}
#catalogPanel{scroll-margin-top:96px}
@media(max-width:700px){
  .songs-jump{width:100%;min-height:48px;margin-top:14px;padding:11px 14px;border-radius:12px;font-size:13px;box-shadow:0 6px 20px #0005}
  #catalogPanel{scroll-margin-top:84px}
}








/* V32 – one reliable, independently laid-out cover view on phone and laptop.
   The cover, metadata, transport buttons and static art are separate normal-flow elements. */
#nowCover, #mobileCover{cursor:zoom-in;touch-action:manipulation}
body.mobile-fullscreen-open{overflow:hidden;overscroll-behavior:none}
.mobile-fullscreen,
.mobile-fullscreen:fullscreen{
  position:fixed;inset:0;z-index:1000;display:block;
  width:100%;height:100%;height:100dvh;
  color:#fff;background:#050506;overflow:hidden;isolation:isolate;
}
.mobile-fullscreen[hidden]{display:none!important}
.mobile-fullscreen-bg{display:none!important}
.mobile-fullscreen::after{display:none!important}
.mobile-fullscreen-inner{
  width:100%;height:100%;height:100dvh;min-height:0;
  margin:0 auto;padding:12px 16px max(12px,env(safe-area-inset-bottom));
  display:flex;flex-direction:column;align-items:center;gap:9px;
  box-sizing:border-box;overflow-x:hidden;overflow-y:auto;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
.mobile-fullscreen-close{
  flex:0 0 auto;align-self:flex-start;min-height:44px;padding:9px 17px;
  background:#141416;border:1px solid #ffffff36;border-radius:999px;
  color:#fff;font-size:14px;font-weight:800;cursor:pointer;
}
.mobile-fullscreen-art{
  flex:0 0 auto;width:100%;max-width:100%;aspect-ratio:16/9;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;border-radius:13px;background:#000;
}
.mobile-fullscreen-art img{
  display:block;width:100%;height:100%;object-fit:contain;
  object-position:center;background:#000;
}
.mobile-fullscreen-art.is-portrait{
  width:auto;max-width:100%;height:min(48dvh,calc(100dvh - 320px));
  aspect-ratio:9/16;align-self:center;
}
.mobile-fullscreen-meta{
  flex:0 0 auto;min-width:0;width:100%;text-align:center;
  overflow:hidden;padding:0 3px;
}
.mobile-fullscreen-meta strong{
  display:block;font-family:'Metal Mania',Impact,'Arial Black',sans-serif;
  font-size:clamp(22px,6vw,33px);font-weight:400;line-height:1.15;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.mobile-fullscreen-meta strong.is-scrolling{
  width:max-content;max-width:none;overflow:visible;text-overflow:clip;
  animation:rplay-fullscreen-title-scroll var(--rplay-marquee-duration,22s) linear infinite;
}
.mobile-fullscreen-meta small{
  display:block;margin-top:5px;color:#ff8a79;
  font-size:10px;font-weight:900;letter-spacing:.12em;
}
.mobile-fullscreen-controls{
  flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  width:100%;gap:clamp(8px,2.5vw,14px);padding:2px 0;
}
.mobile-fullscreen-controls button{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:51px;height:51px;min-width:51px;border:1px solid #ffffff35;
  border-radius:50%;background:#151519;color:#fff;font-size:20px;
  box-shadow:0 6px 24px #0007;cursor:pointer;
}
.mobile-fullscreen-controls .mobile-fullscreen-play{
  width:65px;height:65px;min-width:65px;
  background:linear-gradient(180deg,#e43a2d,#a71313);
  border-color:#f05d48;font-size:27px;
}
.mobile-fullscreen-controls .mobile-fullscreen-add{font-size:27px;font-weight:800}
.mobile-fullscreen-controls .mobile-fullscreen-add.added{background:#17311e;border-color:#4d9862;color:#cdf6d6}
.mobile-fullscreen-controls .mobile-fullscreen-add:disabled{opacity:.45}
.mobile-fullscreen-play .equalizer{height:24px;width:30px;gap:3px}
/* The approved artwork is a normal-flow, static, transparent illustration, NEVER an overlay. */
.mobile-fullscreen-headbanger{
  position:relative!important;flex:0 0 auto;display:flex!important;
  justify-content:center;align-items:flex-start;
  width:100%;height:auto!important;min-height:0!important;
  padding:0;margin:2px auto 0!important;overflow:visible;
  background:transparent!important;pointer-events:none;
  transform:none!important;
}
.fullscreen-headbanger-static{
  display:block;width:min(220px,57vw)!important;max-width:100%!important;
  height:auto!important;max-height:230px!important;object-fit:contain;
  opacity:1;filter:drop-shadow(0 8px 18px #0008);
  background:transparent!important;border:0!important;border-radius:0!important;
  transform:none!important;animation:none!important;
}
@media(max-width:390px){
  .mobile-fullscreen-inner{padding-inline:10px;gap:7px}
  .mobile-fullscreen-controls{gap:8px}
  .mobile-fullscreen-controls button{width:47px;height:47px;min-width:47px}
  .mobile-fullscreen-controls .mobile-fullscreen-play{width:60px;height:60px;min-width:60px}
  .fullscreen-headbanger-static{width:min(208px,56vw)!important;max-height:218px!important}
}
@media(min-width:701px){
  .mobile-fullscreen-inner{
    max-width:1050px;padding:12px 24px 18px;
    gap:7px;align-items:center;
  }
  .mobile-fullscreen-close{align-self:flex-start}
  .mobile-fullscreen-art{
    width:min(900px,calc(100vw - 64px),calc((100dvh - 395px) * 16 / 9));
    min-width:0;max-width:100%;margin-inline:auto;
  }
  .mobile-fullscreen-art.is-portrait{height:min(47dvh,500px);width:auto;max-width:80vw}
  .mobile-fullscreen-meta{width:min(900px,calc(100vw - 64px));margin-inline:auto}
  .mobile-fullscreen-meta strong{font-size:clamp(23px,2.6vw,36px)}
  .mobile-fullscreen-controls button{width:55px;height:55px;min-width:55px}
  .mobile-fullscreen-controls .mobile-fullscreen-play{width:67px;height:67px;min-width:67px}
  .fullscreen-headbanger-static{
    width:min(165px,16vw)!important;max-height:min(17dvh,135px)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .mobile-fullscreen-meta strong.is-scrolling{animation:none!important;transform:none!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}
}

/* V33 – subtle red metal glow. Cosmetic only; no layout or player behavior changes. */
.topbar nav a{
  border-color:#5a3134;
  background:linear-gradient(180deg,#1b171a,#121216);
  box-shadow:inset 0 0 0 1px rgba(180,45,45,.07),0 0 11px rgba(198,38,38,.12);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.topbar nav a:hover,.topbar nav a:focus-visible{
  border-color:#8e4143;
  background:linear-gradient(180deg,#25191c,#151216);
  box-shadow:inset 0 0 0 1px rgba(222,62,54,.12),0 0 16px rgba(218,43,36,.20);
}
.now-card{
  border-color:#4b3237;
  box-shadow:0 12px 36px #0005,inset 0 0 28px rgba(151,27,31,.045),0 0 18px rgba(176,34,35,.07);
}
.panel{
  border-color:#3d3035;
  box-shadow:inset 0 0 22px rgba(143,24,28,.035),0 0 14px rgba(167,31,33,.045);
}
.search-wrap,.catalog-item,.queue-item{
  border-color:#352b30;
}
.quick-actions button,.quick-actions a,.ghost,
.transport button{
  border-color:#493136;
  box-shadow:inset 0 0 10px rgba(142,27,31,.035);
}
.mobile-dock{
  border-top-color:#8a332e;
  box-shadow:0 -8px 28px #000c,0 -2px 14px rgba(205,42,34,.08);
}
@media(max-width:700px){
  .topbar nav a{
    border-color:#653438;
    box-shadow:inset 0 0 0 1px rgba(190,46,46,.07),0 0 9px rgba(205,40,36,.13);
  }
  .now-card,.panel{
    box-shadow:inset 0 0 20px rgba(150,26,30,.04),0 0 12px rgba(178,32,34,.05);
  }
}

/* V34 – Metal Mania for branding and descriptive headings only.
   Interactive controls keep the clean system font for immediate readability. */
.brand,
.brand b,
.topbar nav a,
.eyebrow,
.section-head h2,
.player-help .help-title,
.player-help summary > span:last-child,
.shuffle-mode-title{
  font-family:'Metal Mania',Impact,'Arial Black',sans-serif;
  font-weight:400;
  letter-spacing:.025em;
}
.brand b{
  font-size:.78em;
  letter-spacing:.02em;
}
.topbar nav a{
  font-size:16px;
  letter-spacing:.035em;
  line-height:1;
}
.player-help summary > span:last-child{
  color:#d8c7c7;
  letter-spacing:.015em;
}
.shuffle-mode-title{
  font-size:1.08em;
  letter-spacing:.02em;
}

/* Explicitly keep all functional controls in the clean UI font. */
button,
.install-btn,
.songs-jump,
.quick-actions button,
.quick-actions a,
.ghost,
.transport button,
.shuffle-switch-btn,
.add-btn,
.queue-actions button,
.playlist-actions button,
.playlist-save button,
.mobile-fullscreen-close,
.mobile-fullscreen-controls button{
  font-family:Inter,system-ui,'Segoe UI',Arial,sans-serif;
}
