
/* Shared themes: Owner, Control HP, dan TV */
.theme-neon{--bg:#070414;--panel:rgba(22,9,43,.88);--panel-2:#27124c;--primary:#ff28d1;--primary-dark:#9b16c8;--accent:#00d9ff;--gold:#9ff6ff;--border:rgba(0,217,255,.3);background:radial-gradient(circle at 12% 0,rgba(255,40,209,.26),transparent 35%),radial-gradient(circle at 88% 10%,rgba(0,217,255,.23),transparent 32%),#070414!important}
.theme-neon .card,.theme-neon .panel,.theme-neon .search-column,.theme-neon .playlist-column{box-shadow:0 0 32px rgba(0,217,255,.09),inset 0 0 22px rgba(255,40,209,.05)}
.theme-luxury{--bg:#090805;--panel:#17140d;--panel-2:#292217;--primary:#c89b2e;--primary-dark:#7d5914;--accent:#f4df9a;--gold:#f1d477;--border:rgba(241,212,119,.38);background:radial-gradient(circle at top,rgba(218,173,65,.17),transparent 34%),linear-gradient(145deg,#050402,#171109 60%,#050402)!important}
.theme-luxury .card,.theme-luxury .panel,.theme-luxury .search-column,.theme-luxury .playlist-column{box-shadow:inset 0 0 0 1px rgba(255,220,130,.08),0 18px 55px rgba(0,0,0,.58)}
.theme-sakura{--bg:#24111d;--panel:rgba(75,31,58,.9);--panel-2:#743d60;--primary:#ff76ae;--primary-dark:#bb3d72;--accent:#ffd1e2;--gold:#ffe4ef;--border:rgba(255,190,216,.34);background:radial-gradient(circle at 15% 0,rgba(255,139,184,.3),transparent 35%),radial-gradient(circle at 88% 15%,rgba(255,218,232,.15),transparent 28%),#24111d!important}
.theme-dj{--bg:#050713;--panel:rgba(12,18,38,.91);--panel-2:#18234d;--primary:#f7287d;--primary-dark:#9c1652;--accent:#00d6ff;--gold:#d7f8ff;--border:rgba(0,214,255,.28);background:linear-gradient(135deg,rgba(247,40,125,.14),transparent 38%),radial-gradient(circle at 80% 10%,rgba(0,214,255,.22),transparent 34%),#050713!important}
.theme-cyber{--bg:#031017;--panel:rgba(4,32,45,.92);--panel-2:#0b4153;--primary:#00d8eb;--primary-dark:#08778d;--accent:#55ffab;--gold:#8ffcff;--border:rgba(0,232,255,.3);background:linear-gradient(rgba(0,229,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.035) 1px,transparent 1px),radial-gradient(circle at top,#0b3442,#031017 58%)!important;background-size:36px 36px,36px 36px,auto!important}
.theme-nature{--bg:#07140d;--panel:rgba(16,48,29,.92);--panel-2:#215e3a;--primary:#57c96f;--primary-dark:#237d40;--accent:#b5e56f;--gold:#dff2ae;--border:rgba(181,229,111,.28);background:radial-gradient(circle at 15% 0,rgba(91,210,117,.2),transparent 35%),linear-gradient(145deg,#06120b,#123822 58%,#06120b)!important}
.theme-galaxy{--bg:#08071a;--panel:rgba(24,20,58,.9);--panel-2:#32286b;--primary:#775bff;--primary-dark:#4933bd;--accent:#d43eff;--gold:#e8d8ff;--border:rgba(203,174,255,.3);background:radial-gradient(circle at 15% 15%,rgba(102,75,255,.35),transparent 30%),radial-gradient(circle at 82% 8%,rgba(217,55,255,.24),transparent 30%),radial-gradient(circle at 55% 90%,rgba(28,153,255,.13),transparent 32%),#08071a!important}
.theme-concert{--bg:#0e0709;--panel:rgba(39,14,20,.91);--panel-2:#5a1e2c;--primary:#ed314c;--primary-dark:#97192d;--accent:#704cff;--gold:#ffe4a8;--border:rgba(255,228,168,.28);background:linear-gradient(120deg,rgba(255,54,79,.18),transparent 35%),linear-gradient(240deg,rgba(112,76,255,.18),transparent 35%),radial-gradient(ellipse at top,#30111b,#0e0709 60%)!important}

/* Theme-aware TV overlays */
.tv-app[class*="theme-"] .brand-icon,.tv-app[class*="theme-"] .pair-code{color:var(--gold);border-color:var(--border)}
.tv-app[class*="theme-"] .screen{color:var(--text,#fff)}
.tv-app[class*="theme-"] .loader{border-top-color:var(--primary)}

/* Semua tombol konsisten dan benar-benar center */
button,
.btn,
.header-icon,
.icon-btn,
.duration-button,
.stop-session-button,
.source-tabs button,
.player-strip button,
.search-form button,
.preview-footer button,
.preview-head button,
.settings-head button,
.playlist-heading button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-align:center;
    line-height:1.15;
}
button i,.btn i,.header-icon i,.icon-btn i{line-height:1;flex:0 0 auto}
button span,.btn span{display:inline-flex;align-items:center;justify-content:center;line-height:1.15}

/* Surface dan accent tiap theme pada control HP */
.control-body.theme-neon .control-header,.control-body.theme-neon .search-column,.control-body.theme-neon .playlist-column,
.control-body.theme-luxury .control-header,.control-body.theme-luxury .search-column,.control-body.theme-luxury .playlist-column,
.control-body.theme-sakura .control-header,.control-body.theme-sakura .search-column,.control-body.theme-sakura .playlist-column,
.control-body.theme-dj .control-header,.control-body.theme-dj .search-column,.control-body.theme-dj .playlist-column,
.control-body.theme-cyber .control-header,.control-body.theme-cyber .search-column,.control-body.theme-cyber .playlist-column,
.control-body.theme-nature .control-header,.control-body.theme-nature .search-column,.control-body.theme-nature .playlist-column,
.control-body.theme-galaxy .control-header,.control-body.theme-galaxy .search-column,.control-body.theme-galaxy .playlist-column,
.control-body.theme-concert .control-header,.control-body.theme-concert .search-column,.control-body.theme-concert .playlist-column{
    background:var(--panel)!important;border-color:var(--border)!important;
}
.control-body[class*="theme-"] .room-hero{border-color:var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 30%,transparent),color-mix(in srgb,var(--accent) 22%,transparent))}
.control-body[class*="theme-"] .player-strip button,
.control-body[class*="theme-"] .duration-button,
.control-body[class*="theme-"] .search-form button,
.control-body[class*="theme-"] .preview-footer button{background:linear-gradient(180deg,var(--primary),var(--primary-dark));border-color:var(--border)}
.control-body[class*="theme-"] .brand-icon,.control-body[class*="theme-"] .header-icon,.control-body[class*="theme-"] .timer-box{color:var(--gold);border-color:var(--border)}

/* TV: tiap tema mempunyai ambience nyata, bukan hanya nama */
.tv-app.theme-neon .screen{background:radial-gradient(circle at 15% 5%,rgba(255,40,209,.34),transparent 38%),radial-gradient(circle at 85% 5%,rgba(0,217,255,.28),transparent 35%),#070414}
.tv-app.theme-luxury .screen{background:radial-gradient(circle at top,rgba(218,173,65,.24),transparent 36%),linear-gradient(145deg,#050402,#171109 60%,#050402)}
.tv-app.theme-sakura .screen{background:radial-gradient(circle at 15% 0,rgba(255,139,184,.38),transparent 38%),radial-gradient(circle at 85% 15%,rgba(255,218,232,.18),transparent 30%),#24111d}
.tv-app.theme-dj .screen{background:linear-gradient(135deg,rgba(247,40,125,.24),transparent 40%),radial-gradient(circle at 82% 8%,rgba(0,214,255,.30),transparent 36%),#050713}
.tv-app.theme-cyber .screen{background:linear-gradient(rgba(0,229,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.055) 1px,transparent 1px),radial-gradient(circle at top,#0b3442,#031017 58%);background-size:42px 42px,42px 42px,auto}
.tv-app.theme-nature .screen{background:radial-gradient(circle at 15% 0,rgba(91,210,117,.28),transparent 38%),linear-gradient(145deg,#06120b,#123822 58%,#06120b)}
.tv-app.theme-galaxy .screen{background:radial-gradient(circle at 15% 15%,rgba(102,75,255,.42),transparent 32%),radial-gradient(circle at 82% 8%,rgba(217,55,255,.30),transparent 32%),radial-gradient(circle at 55% 90%,rgba(28,153,255,.18),transparent 35%),#08071a}
.tv-app.theme-concert .screen{background:linear-gradient(120deg,rgba(255,54,79,.27),transparent 38%),linear-gradient(240deg,rgba(112,76,255,.27),transparent 38%),radial-gradient(ellipse at top,#30111b,#0e0709 60%)}
.tv-app[class*="theme-"] .qr-frame,.tv-app[class*="theme-"] .now-playing-card,.tv-app[class*="theme-"] .tv-countdown{border-color:var(--border);box-shadow:0 0 26px color-mix(in srgb,var(--primary) 22%,transparent)}
