:root{
  --bg:#09090b;--bg-soft:#111114;--surface:#151519;--surface-2:#1d1d22;--surface-3:#25252b;
  --text:#f8f8fa;--muted:#a4a4ae;--line:rgba(255,255,255,.09);--line-strong:rgba(255,255,255,.15);
  --accent:var(--site-accent,#8b5cf6);--accent-2:var(--site-accent-2,#ec4899);--danger:#ff5d7a;--warning:#ffc857;--shadow:0 24px 70px rgba(0,0,0,.35);
  --sidebar:252px;--topbar:76px;--player:92px;--radius:20px;--radius-sm:12px;
}
html[data-theme="light"]{--bg:#f4f5f8;--bg-soft:#fff;--surface:#fff;--surface-2:#f0f1f5;--surface-3:#e6e8ee;--text:#14141a;--muted:#676773;--line:rgba(15,15,20,.09);--line-strong:rgba(15,15,20,.15);--shadow:0 22px 55px rgba(30,32,50,.12)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}body{overflow:hidden}button,input{font:inherit}button{color:inherit}.boot-splash{position:fixed;inset:0;display:flex;gap:14px;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 20%,rgba(139,92,246,.18),transparent 30%),var(--bg);z-index:9999}.boot-copy{display:flex;flex-direction:column;gap:4px}.boot-copy strong{font-size:20px}.boot-copy span{font-size:13px;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--accent),#ec4899 55%,var(--accent-2));color:white;font-weight:900;font-size:24px;box-shadow:0 12px 38px rgba(139,92,246,.35)}.brand-mark.small{width:35px;height:35px;border-radius:11px;font-size:16px;box-shadow:none}.brand-mark img{width:100%;height:100%;display:block;border-radius:inherit}
.app-shell{height:100dvh;display:grid;grid-template-columns:var(--sidebar) 1fr;grid-template-rows:1fr var(--player);background:var(--bg)}.sidebar{grid-row:1;display:flex;flex-direction:column;padding:18px 14px 12px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg-soft) 95%,transparent);min-width:0;overflow:hidden}.brand{border:0;background:transparent;display:flex;align-items:center;gap:11px;padding:4px 8px 18px;text-align:left;cursor:pointer}.brand-name{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-list{display:flex;flex-direction:column;gap:4px}.nav-item{border:0;background:transparent;color:var(--muted);border-radius:12px;display:flex;align-items:center;gap:12px;padding:11px 12px;cursor:pointer;text-align:left;font-weight:650;transition:.18s ease}.nav-item svg{width:20px;height:20px}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:linear-gradient(90deg,rgba(139,92,246,.18),rgba(139,92,246,.05));color:var(--text)}.nav-item.active svg{color:#c4b5fd}.nav-item.compact{width:100%;padding:9px 11px}.sidebar-section{margin-top:24px;min-height:0;display:flex;flex-direction:column;flex:1}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:0 7px 8px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.sidebar-playlists{overflow:auto;padding-right:3px}.sidebar-playlist{width:100%;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:9px;padding:8px 8px;border-radius:10px;cursor:pointer;text-align:left}.sidebar-playlist:hover{background:var(--surface-2);color:var(--text)}.sidebar-playlist .mini-cover{width:28px;height:28px;border-radius:8px;background:var(--surface-3);display:grid;place-items:center;flex:0 0 auto}.sidebar-playlist span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{padding-top:8px;border-top:1px solid var(--line)}
.main-shell{grid-column:2;grid-row:1;min-width:0;min-height:0;display:flex;flex-direction:column}.topbar{height:var(--topbar);display:grid;grid-template-columns:auto minmax(240px,660px) 1fr;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(18px);z-index:20}.topbar-left,.topbar-actions{display:flex;gap:7px;align-items:center}.topbar-actions{justify-content:flex-end}.icon-btn{border:0;background:transparent;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;cursor:pointer;color:var(--muted);position:relative;transition:.16s ease}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn.active{color:#c4b5fd;background:rgba(139,92,246,.12)}.icon-btn.small{width:34px;height:34px}.icon-btn.big{width:52px;height:52px}.icon-btn svg{width:20px;height:20px}.searchbox{height:48px;border:1px solid var(--line);background:var(--surface);border-radius:15px;display:flex;align-items:center;padding:0 8px 0 14px;gap:9px;transition:.18s ease}.searchbox:focus-within{border-color:rgba(139,92,246,.55);box-shadow:0 0 0 4px rgba(139,92,246,.1)}.searchbox>svg{width:19px;color:var(--muted)}.searchbox input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.searchbox input::-webkit-search-cancel-button{display:none}.search-action{width:32px;height:32px;border-radius:10px}.account-btn{border:1px solid var(--line);background:var(--surface);height:42px;padding:0 13px;border-radius:13px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700}.account-btn:hover{border-color:var(--line-strong);background:var(--surface-2)}.account-btn svg{width:18px}.view{flex:1;overflow:auto;padding:26px 28px calc(38px + env(safe-area-inset-bottom));scrollbar-gutter:stable}.view::-webkit-scrollbar,.sidebar-playlists::-webkit-scrollbar,.drawer-list::-webkit-scrollbar{width:8px}.view::-webkit-scrollbar-thumb,.sidebar-playlists::-webkit-scrollbar-thumb,.drawer-list::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:999px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#c4b5fd;font-weight:850;margin:0 0 8px}.page-title{font-size:clamp(28px,4vw,46px);line-height:1.03;margin:0;letter-spacing:-.04em}.page-subtitle{color:var(--muted);margin:9px 0 0;max-width:720px;line-height:1.55}.hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;padding:clamp(26px,4vw,52px);min-height:240px;display:flex;align-items:flex-end;background:linear-gradient(130deg,rgba(139,92,246,.23),rgba(236,72,153,.08) 55%,var(--surface) 90%);margin-bottom:34px}.hero:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-90px;top:-180px;background:radial-gradient(circle,rgba(170,70,255,.35),transparent 65%);filter:blur(8px)}.hero-content{position:relative;z-index:1;max-width:650px}.hero h1{font-size:clamp(36px,5.7vw,72px);line-height:.98;letter-spacing:-.055em;margin:0 0 14px}.hero p{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 22px;max-width:560px}.hero-actions,.action-row{display:flex;gap:10px;flex-wrap:wrap}.primary-btn,.secondary-btn,.pill-btn{border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:780;transition:.16s ease}.primary-btn{background:var(--text);color:var(--bg);height:46px;padding:0 20px}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.secondary-btn{height:46px;padding:0 18px;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text)}.secondary-btn:hover{background:var(--surface-2)}.primary-btn svg,.secondary-btn svg,.pill-btn svg{width:18px;height:18px}.section{margin:0 0 36px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px}.section-title-row h2{margin:0;font-size:21px;letter-spacing:-.02em}.text-btn{border:0;background:transparent;color:var(--muted);cursor:pointer;font-weight:700}.text-btn:hover{color:var(--text)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.media-card{min-width:0;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface) 82%,var(--bg)));border-radius:17px;padding:10px;cursor:pointer;transition:.18s ease;position:relative}.media-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 18px 40px rgba(0,0,0,.15)}.media-card:hover .card-play{opacity:1;transform:translateY(0)}.cover{aspect-ratio:1;border-radius:13px;overflow:hidden;background:linear-gradient(135deg,var(--surface-3),var(--surface-2));position:relative}.cover.artist-cover{border-radius:50%}.cover img{width:100%;height:100%;object-fit:cover;display:block}.cover-fallback{width:100%;height:100%;display:grid;place-items:center;color:var(--muted)}.cover-fallback svg{width:32%;height:32%}.card-play{position:absolute;right:9px;bottom:9px;width:42px;height:42px;border:0;border-radius:50%;background:var(--text);color:var(--bg);display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(5px);transition:.18s ease;box-shadow:0 8px 24px rgba(0,0,0,.3)}.card-play svg{width:18px}.media-card h3{margin:10px 2px 4px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-card p{margin:0 2px 4px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-list{display:flex;flex-direction:column;gap:3px}.track-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-radius:13px;padding:8px 10px;transition:.15s ease}.track-row:hover,.track-row.active{background:var(--surface-2)}.track-main{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;min-width:0}.track-art{width:44px;height:44px;border-radius:10px;background:var(--surface-3);overflow:hidden;display:grid;place-items:center;color:var(--muted)}.track-art img{width:100%;height:100%;object-fit:cover}.track-art svg{width:19px}.track-copy{min-width:0}.track-copy strong,.track-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-copy strong{font-size:14px}.track-copy span{font-size:12px;color:var(--muted);margin-top:3px}.track-actions{display:flex;align-items:center;gap:1px}.track-actions .icon-btn{width:34px;height:34px}.track-duration{font-size:12px;color:var(--muted);min-width:38px;text-align:right}.list-header{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:12px;padding:0 15px 7px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);height:36px;padding:0 14px;border-radius:999px;cursor:pointer;font-weight:700;font-size:13px}.chip:hover,.chip.active{background:var(--text);color:var(--bg);border-color:transparent}.empty-state{display:grid;place-items:center;text-align:center;min-height:300px;padding:40px;border:1px dashed var(--line-strong);border-radius:22px}.empty-state .empty-icon{width:68px;height:68px;border-radius:20px;background:var(--surface-2);display:grid;place-items:center;color:var(--muted);margin-bottom:14px}.empty-state .empty-icon svg{width:28px}.empty-state h2{margin:0 0 8px}.empty-state p{color:var(--muted);margin:0 0 18px;max-width:420px}.skeleton{position:relative;overflow:hidden;background:var(--surface-2)!important;color:transparent!important}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:shimmer 1.25s infinite}@keyframes shimmer{100%{transform:translateX(100%)}}.skeleton-card{height:225px;border-radius:17px}.skeleton-line{height:14px;border-radius:6px;margin:6px 0}.detail-hero{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:end;gap:26px;padding:24px;border-radius:26px;background:linear-gradient(135deg,rgba(139,92,246,.18),transparent 60%),var(--surface);border:1px solid var(--line);margin-bottom:26px}.detail-cover{width:220px;aspect-ratio:1;border-radius:20px;overflow:hidden;background:var(--surface-3);box-shadow:0 24px 50px rgba(0,0,0,.25);display:grid;place-items:center}.detail-cover.artist{border-radius:50%}.detail-cover img{width:100%;height:100%;object-fit:cover}.detail-copy h1{font-size:clamp(34px,5vw,66px);line-height:1;margin:5px 0 12px;letter-spacing:-.055em}.detail-copy p{color:var(--muted);margin:0 0 16px}.detail-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:12px 0 20px}.detail-meta span:after{content:"•";margin-left:8px}.detail-meta span:last-child:after{display:none}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.playlist-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:14px;cursor:pointer}.playlist-card:hover{border-color:var(--line-strong)}.playlist-card .playlist-icon{height:110px;border-radius:13px;background:linear-gradient(135deg,rgba(139,92,246,.24),rgba(236,72,153,.14));display:grid;place-items:center;margin-bottom:12px}.playlist-card .playlist-icon svg{width:32px}.playlist-card h3{margin:0 0 5px}.playlist-card p{margin:0;color:var(--muted);font-size:12px}.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted)}.status-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-2)}
.player-bar{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(210px,1fr) minmax(360px,1.45fr) minmax(210px,1fr);align-items:center;gap:18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg-soft) 94%,transparent);backdrop-filter:blur(24px);padding:9px 18px calc(9px + env(safe-area-inset-bottom));z-index:60}.player-bar.empty .player-controls,.player-bar.empty .progress-row,.player-bar.empty .player-right{opacity:.45;pointer-events:none}.player-track{border:0;background:transparent;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:11px;text-align:left;cursor:pointer;min-width:0}.player-track img,.small-art{width:52px;height:52px;border-radius:11px;object-fit:cover}.art-fallback{background:linear-gradient(135deg,var(--surface-3),var(--surface-2));display:grid;place-items:center;color:var(--muted)}.art-fallback svg{width:28%}.player-meta{min-width:0}.player-meta strong,.player-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-meta strong{font-size:13px}.player-meta span{font-size:11px;color:var(--muted);margin-top:4px}.player-center{min-width:0}.player-controls{display:flex;align-items:center;justify-content:center;gap:3px}.play-main{width:40px;height:40px;border:0;border-radius:50%;background:var(--text);color:var(--bg);display:grid;place-items:center;cursor:pointer}.play-main:hover{transform:scale(1.04)}.play-main svg{width:18px;height:18px}.progress-row{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px;color:var(--muted);font-size:10px}.range{accent-color:var(--text);cursor:pointer}.range.progress{width:100%;height:4px}.player-right{display:flex;align-items:center;justify-content:flex-end;gap:2px}.range.volume{width:78px}.repeat-badge{position:absolute}.icon-btn small{position:absolute;font-size:9px;right:2px;bottom:1px;color:var(--accent-2)}
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);z-index:90}.drawer{position:fixed;z-index:100;right:0;top:0;bottom:0;width:min(420px,94vw);background:var(--bg-soft);border-left:1px solid var(--line);box-shadow:var(--shadow);transform:translateX(105%);transition:transform .24s ease;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 18px;border-bottom:1px solid var(--line)}.drawer-head small{color:var(--muted)}.drawer-head h2{margin:3px 0 0}.drawer-list{padding:12px;overflow:auto;flex:1}.queue-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border-radius:12px}.queue-item:hover{background:var(--surface-2)}.queue-item img{width:42px;height:42px;object-fit:cover;border-radius:9px}.queue-item .qcopy{min-width:0}.queue-item strong,.queue-item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item strong{font-size:13px}.queue-item span{font-size:11px;color:var(--muted);margin-top:2px}.drag-handle{color:var(--muted);cursor:grab}.full-player{position:fixed;z-index:120;inset:0;background:var(--bg);transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.8,.2,1);overflow:auto}.full-player.open{transform:translateY(0)}.full-player-bg{position:fixed;inset:0;background:radial-gradient(circle at 50% 12%,rgba(139,92,246,.28),transparent 42%);opacity:.7;pointer-events:none}.full-player-head{position:relative;z-index:1;height:74px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;padding:10px 18px}.full-player-head small,.full-player-head strong{display:block}.full-player-head small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.full-player-head strong{font-size:12px;margin-top:3px}.full-player-body{position:relative;z-index:1;width:min(560px,calc(100% - 32px));margin:0 auto;padding:12px 0 38px;display:flex;flex-direction:column;align-items:stretch}.full-art-wrap{width:min(440px,82vw);aspect-ratio:1;margin:0 auto 28px;position:relative}.full-art-wrap img,.full-art{width:100%;height:100%;object-fit:cover;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.42)}.full-info h1{font-size:clamp(28px,6vw,44px);letter-spacing:-.04em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.full-info p{color:var(--muted);margin:8px 0 18px}.full-progress>div{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:6px}.full-controls{display:flex;align-items:center;justify-content:space-between;margin:14px 0}.play-main.huge{width:66px;height:66px}.play-main.huge svg{width:26px}.full-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.pill-btn{height:42px;padding:0 12px;background:var(--surface-2);color:var(--muted);font-size:12px}.pill-btn:hover,.pill-btn.active{background:var(--surface-3);color:var(--text)}
.modal-shell{position:fixed;z-index:150;inset:0;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.58);backdrop-filter:blur(8px)}.modal-card{width:min(480px,100%);max-height:min(760px,92dvh);overflow:auto;background:var(--bg-soft);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:22px}.modal-card.wide{width:min(680px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.modal-head h2{margin:0}.modal-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:13px}.field label{font-size:12px;font-weight:750;color:var(--muted)}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;padding:12px 13px;outline:0}.field textarea{min-height:92px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(139,92,246,.65);box-shadow:0 0 0 3px rgba(139,92,246,.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.helper{font-size:11px;color:var(--muted);line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);padding:4px;border-radius:12px;margin-bottom:18px}.auth-tab{border:0;background:transparent;border-radius:9px;padding:9px;color:var(--muted);cursor:pointer;font-weight:750}.auth-tab.active{background:var(--bg-soft);color:var(--text);box-shadow:0 3px 12px rgba(0,0,0,.15)}.context-menu{position:fixed;z-index:180;width:220px;background:var(--bg-soft);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:6px}.context-menu button{width:100%;border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px;cursor:pointer;text-align:left;font-size:13px}.context-menu button:hover{background:var(--surface-2)}.context-menu button svg{width:17px}.toast-root{position:fixed;z-index:220;right:18px;bottom:calc(var(--player) + 18px);display:flex;flex-direction:column;gap:9px;pointer-events:none}.toast{min-width:230px;max-width:380px;background:var(--text);color:var(--bg);padding:11px 13px;border-radius:12px;box-shadow:var(--shadow);font-size:13px;font-weight:650;animation:toastIn .2s ease}.toast.error{background:var(--danger);color:white}.toast.success{background:var(--accent-2);color:#051713}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.muted{color:var(--muted)}.tiny{font-size:11px}.mobile-nav{display:none}.offline-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,200,87,.12);color:var(--warning);font-size:11px;font-weight:750}.offline-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.error-card{padding:18px;border:1px solid rgba(255,93,122,.28);background:rgba(255,93,122,.07);border-radius:16px;color:var(--muted)}.error-card strong{display:block;color:var(--text);margin-bottom:5px}
@media(max-width:980px){:root{--sidebar:210px}.topbar{grid-template-columns:auto minmax(200px,1fr) auto;padding-inline:16px}.account-btn span:last-child{display:none}.player-bar{grid-template-columns:minmax(180px,1fr) minmax(330px,1.3fr) auto}.range.volume,.volume+.desktop-only{display:none}.player-right .desktop-only{display:none}.cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
@media(max-width:760px){:root{--topbar:64px;--player:74px}body{overflow:hidden}.app-shell{grid-template-columns:1fr;grid-template-rows:1fr var(--player)}.sidebar{display:none}.main-shell{grid-column:1;grid-row:1;padding-bottom:60px}.topbar{height:var(--topbar);grid-template-columns:1fr auto;gap:8px;padding:8px 12px}.topbar-left{display:none}.searchbox{height:44px;border-radius:14px}.topbar-actions{gap:2px}.topbar-actions #themeBtn{display:none}.account-btn{width:42px;height:42px;padding:0;justify-content:center}.view{padding:19px 14px calc(18px + env(safe-area-inset-bottom))}.hero{border-radius:22px;min-height:220px;padding:26px 22px}.hero h1{font-size:42px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.media-card{border-radius:15px;padding:8px}.media-card h3{font-size:13px}.card-play{opacity:1;width:38px;height:38px;right:7px;bottom:7px;transform:none}.section{margin-bottom:28px}.detail-hero{grid-template-columns:1fr;text-align:center;justify-items:center;padding:20px 16px}.detail-cover{width:min(64vw,260px)}.detail-copy h1{font-size:36px}.detail-meta,.detail-copy .action-row{justify-content:center}.track-row{padding-inline:5px}.track-actions .desktop-track-action,.track-duration{display:none}.player-bar{grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr) auto;height:var(--player);gap:8px;padding:7px 10px calc(7px + env(safe-area-inset-bottom))}.player-track{grid-template-columns:46px minmax(0,1fr);gap:9px}.player-track img,.small-art{width:46px;height:46px}.player-center{display:flex;align-items:center}.player-center .progress-row,.player-center #shuffleBtn,.player-center #prevBtn,.player-center #nextBtn,.player-center #repeatBtn,.desktop-only{display:none!important}.player-center .player-controls{gap:0}.play-main{width:42px;height:42px}.player-right{display:flex}.player-right #queueBtn{display:none}.mobile-nav{position:fixed;z-index:55;left:0;right:0;bottom:var(--player);height:58px;background:color-mix(in srgb,var(--bg-soft) 96%,transparent);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:5px 4px}.mobile-nav-item{border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:10px;font-size:10px}.mobile-nav-item svg{width:20px;height:20px}.mobile-nav-item.active{color:var(--text);background:rgba(139,92,246,.08)}.full-player-head{padding-top:calc(10px + env(safe-area-inset-top));height:calc(70px + env(safe-area-inset-top))}.full-player-body{padding-bottom:calc(26px + env(safe-area-inset-bottom))}.full-art-wrap{width:min(76vw,420px)}.full-actions{grid-template-columns:repeat(4,1fr)}.pill-btn{padding:0;gap:5px;flex-direction:column;height:54px;border-radius:15px}.pill-btn span:last-child{font-size:9px}.toast-root{left:12px;right:12px;bottom:calc(var(--player) + 70px)}.toast{min-width:0;max-width:none}.form-row{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.list-header{display:none}}
@media(max-width:390px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.searchbox input{font-size:13px}.voice-search{display:none}.full-art-wrap{width:82vw}.full-info h1{font-size:28px}.hero h1{font-size:38px}.track-main{grid-template-columns:42px minmax(0,1fr)}.track-art{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}


/* PlayVibe 1.0 Mini advanced themes and social listening */
html[data-theme="midnight"]{--bg:#060914;--bg-soft:#0b1020;--surface:#10172b;--surface-2:#17213a;--surface-3:#1e2b49;--text:#eef5ff;--muted:#91a4c5;--line:rgba(125,170,255,.13);--line-strong:rgba(125,170,255,.25);--accent:#5b8cff;--accent-2:#8f6cff;--shadow:0 24px 70px rgba(0,0,0,.45)}
html[data-theme="sunset"]{--bg:#160a0c;--bg-soft:#211014;--surface:#2b1519;--surface-2:#381c21;--surface-3:#46242a;--text:#fff5ef;--muted:#d2aaa2;--line:rgba(255,196,170,.12);--line-strong:rgba(255,196,170,.22);--accent:#ff7a59;--accent-2:#ff4d8d;--shadow:0 24px 70px rgba(40,0,8,.42)}
html[data-theme="forest"]{--bg:#07100c;--bg-soft:#0b1711;--surface:#102019;--surface-2:#162b21;--surface-3:#1d382b;--text:#f0fff7;--muted:#95b7a3;--line:rgba(145,255,190,.11);--line-strong:rgba(145,255,190,.21);--accent:#35c47a;--accent-2:#8ecf45;--shadow:0 24px 70px rgba(0,25,12,.42)}
html[data-theme="custom"]{--accent:var(--custom-accent,var(--site-accent,#8b5cf6));--accent-2:var(--custom-accent-2,var(--site-accent-2,#ec4899));--bg:var(--custom-bg,#0b0b0f);--bg-soft:var(--custom-soft,#121218);--surface:var(--custom-surface,#17171d);--surface-2:color-mix(in srgb,var(--custom-surface,#17171d) 78%,white 8%);--surface-3:color-mix(in srgb,var(--custom-surface,#17171d) 68%,white 15%)}
.offline-banner{position:fixed;z-index:240;left:50%;top:12px;transform:translateX(-50%);width:min(720px,calc(100% - 24px));padding:10px 12px 10px 16px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);border-radius:15px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:12px}.offline-banner>div{display:flex;align-items:center;gap:6px}.offline-banner button:not(.icon-btn){border:0;background:var(--text);color:var(--bg);border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}.offline-banner[hidden]{display:none}
.social-hero{border:1px solid var(--line);border-radius:26px;padding:28px;background:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 34%),linear-gradient(135deg,var(--surface),var(--bg-soft));margin-bottom:24px}.social-hero h1{font-size:clamp(31px,5vw,58px);letter-spacing:-.045em;margin:0 0 10px}.social-hero p{color:var(--muted);max-width:680px;line-height:1.55}.social-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.social-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px}.social-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:17px;min-width:0}.social-card h2,.social-card h3{margin:0 0 10px}.people-list{display:flex;gap:8px;flex-wrap:wrap}.person-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:7px 10px;font-size:12px}.person-dot{width:8px;height:8px;border-radius:50%;background:#4ade80}.role-badge{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.activity-log,.room-chat{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}.activity-item{padding:9px 10px;background:var(--surface-2);border-radius:11px;font-size:12px;color:var(--muted)}.activity-item strong{color:var(--text)}.activity-item time{display:block;font-size:10px;margin-top:3px;color:var(--muted)}
.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.room-stage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stage-seat{min-height:118px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2),var(--surface));border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px}.stage-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));font-weight:900;color:white;margin-bottom:7px}.stage-seat small{color:var(--muted)}.stage-controls{display:flex;gap:6px;margin-top:7px}.stage-controls button{border:0;background:var(--surface-3);color:var(--text);border-radius:8px;padding:5px 8px;font-size:10px;cursor:pointer}.chat-list{display:flex;flex-direction:column;gap:8px;max-height:390px;overflow:auto;padding-right:4px}.chat-msg{padding:9px 10px;border-radius:12px;background:var(--surface-2)}.chat-msg strong{font-size:11px}.chat-msg p{margin:4px 0 0;line-height:1.4}.chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.chat-form input{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:11px;padding:11px 12px;outline:0}.chat-form button{border:0;background:var(--text);color:var(--bg);border-radius:11px;padding:0 14px;font-weight:800;cursor:pointer}
.sync-now{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);margin:14px 0}.sync-now .track-art{width:70px;height:70px}.sync-now strong,.sync-now span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-now span{color:var(--muted);font-size:12px;margin-top:4px}.pulse-live{display:inline-flex;align-items:center;gap:6px;color:#86efac;font-size:11px;font-weight:800}.pulse-live:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 rgba(134,239,172,.45);animation:pvPulse 1.7s infinite}@keyframes pvPulse{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.explore-toolbar,.history-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 18px}.explore-toolbar input,.history-toolbar input,.history-toolbar select{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;padding:11px 12px;outline:0}.history-toolbar input{min-width:min(360px,100%)}.load-more-wrap{display:flex;justify-content:center;padding:10px 0 28px}.load-more-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:11px 18px;font-weight:800;cursor:pointer}.theme-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.theme-option{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:9px;cursor:pointer;text-align:center}.theme-option.active{outline:2px solid var(--accent)}.theme-preview{height:38px;border-radius:9px;margin-bottom:6px}.theme-preview.dark{background:linear-gradient(135deg,#09090b,#8b5cf6)}.theme-preview.light{background:linear-gradient(135deg,#f4f5f8,#8b5cf6)}.theme-preview.midnight{background:linear-gradient(135deg,#060914,#5b8cff)}.theme-preview.sunset{background:linear-gradient(135deg,#160a0c,#ff4d8d)}.theme-preview.forest{background:linear-gradient(135deg,#07100c,#35c47a)}.custom-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.custom-theme-grid label{font-size:11px;color:var(--muted)}.custom-theme-grid input[type=color]{width:100%;height:42px;padding:3px;border:1px solid var(--line);background:var(--surface);border-radius:10px}.feature-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.feature-tile{padding:14px;border:1px solid var(--line);background:var(--surface);border-radius:14px}.feature-tile strong{display:block;margin-bottom:4px}.feature-tile span{color:var(--muted);font-size:12px;line-height:1.4}
@media(max-width:980px){.social-grid,.room-layout{grid-template-columns:1fr}.room-stage{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.offline-banner{top:8px;font-size:12px}.social-hero{padding:22px 18px;border-radius:21px}.room-stage{grid-template-columns:repeat(2,1fr)}.theme-grid{grid-template-columns:repeat(3,1fr)}.custom-theme-grid{grid-template-columns:1fr 1fr}.sync-now{grid-template-columns:56px minmax(0,1fr) auto}.sync-now .track-art{width:56px;height:56px}.mobile-nav{grid-template-columns:repeat(5,1fr)}}


/* PlayVibe 1.0 Mini background/quality/header upgrade */
.topbar{grid-template-columns:auto auto minmax(260px,1fr) auto;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-soft) 96%,transparent),color-mix(in srgb,var(--bg-soft) 89%,transparent));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.topbar-brand{border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 4px 0 0;min-width:0}.brand-mark.micro{width:34px;height:34px;border-radius:11px;box-shadow:0 7px 22px color-mix(in srgb,var(--accent) 24%,transparent)}.topbar-brand .brand-name{font-weight:900;letter-spacing:-.025em;max-width:112px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-settings-btn{background:color-mix(in srgb,var(--surface-2) 72%,transparent);border:1px solid var(--line)}
.pv-background-audio{position:fixed;width:1px;height:1px;opacity:.001;pointer-events:none;left:-10px;bottom:-10px}
.cover,.track-art,.detail-cover,.full-art-wrap,.player-art-shell{position:relative}.player-art-shell{width:52px;height:52px;display:grid;place-items:center;border-radius:11px;overflow:hidden;flex:0 0 auto}.player-art-shell>img,.player-art-shell>.small-art{width:100%;height:100%;border-radius:inherit;object-fit:cover}
.cover:before,.track-art:before,.detail-cover:before,.full-art-wrap:before,.player-art-shell:before{content:"";position:absolute;z-index:3;top:6px;left:6px;width:18%;max-width:34px;min-width:14px;aspect-ratio:1;border-radius:28%;background:rgba(9,9,13,.72) url('playvibe-mark.svg') center/82% no-repeat;box-shadow:0 2px 10px rgba(0,0,0,.28);pointer-events:none}
.cover:after,.track-art:after,.detail-cover:after,.full-art-wrap:after,.player-art-shell:after{content:"PlayVibe";position:absolute;z-index:3;right:6px;bottom:6px;padding:3px 6px;border-radius:999px;background:rgba(8,8,11,.66);color:#fff;font-size:clamp(7px,1vw,10px);font-weight:850;letter-spacing:.02em;line-height:1;backdrop-filter:blur(5px);pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.track-art:before,.player-art-shell:before{top:3px;left:3px;min-width:11px}.track-art:after,.player-art-shell:after{right:3px;bottom:3px;padding:2px 4px;font-size:6px}.full-art-wrap:before{top:14px;left:14px;max-width:48px}.full-art-wrap:after{right:14px;bottom:14px;padding:6px 10px;font-size:11px}.detail-cover:before{top:10px;left:10px}.detail-cover:after{right:10px;bottom:10px}
@media(max-width:760px){.topbar{grid-template-columns:auto minmax(0,1fr) auto;padding:8px 10px;gap:7px}.topbar-left{display:none}.topbar-brand{padding:0}.topbar-brand .brand-name{display:none}.brand-mark.micro{width:42px;height:42px;border-radius:14px}.searchbox{min-width:0}.topbar-actions{display:grid;grid-template-columns:42px 42px;gap:4px}.desktop-theme-btn{display:none!important}.top-settings-btn{width:42px;height:42px}.account-btn{width:42px}.player-art-shell{width:46px;height:46px}.cover:after{font-size:7px;padding:3px 5px}.full-art-wrap:after{font-size:10px}}
@media(min-width:761px) and (max-width:1120px){.topbar-brand .brand-name{display:none}.topbar{grid-template-columns:auto auto minmax(240px,1fr) auto}}

/* PlayVibe 1.0 Mini Chrome install + Now Playing notification upgrade */
.install-app-btn,.notification-btn{position:relative;overflow:visible}
.install-app-btn.ready:after{content:"";position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-2) 18%,transparent)}
.notification-btn.active{color:var(--text);background:color-mix(in srgb,var(--accent) 17%,var(--surface));border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}
.notification-btn.active:after{content:"";position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:#35d07f;box-shadow:0 0 0 3px rgba(53,208,127,.14)}
.notification-btn.blocked{opacity:.55}
.settings-power{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.power-card{min-width:0;border:1px solid var(--line);background:linear-gradient(145deg,var(--surface),var(--surface-2));color:var(--text);border-radius:17px;padding:14px;text-align:left;cursor:pointer;display:grid;grid-template-columns:38px minmax(0,1fr);gap:2px 10px;align-items:center;transition:.18s ease}
.power-card:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.power-card>span{grid-row:1/3;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,var(--surface-3));color:var(--accent)}
.power-card>span svg{width:19px;height:19px}.power-card strong{font-size:13px}.power-card small{color:var(--muted);line-height:1.35}
.install-guide{text-align:center;padding:6px 4px 16px}.install-guide h3{margin:13px 0 6px;font-size:19px}.install-guide p{max-width:440px;margin:0 auto;color:var(--muted);line-height:1.6}
.install-orb{width:72px;height:72px;margin:4px auto 0;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,var(--surface-2)),color-mix(in srgb,var(--accent-2) 17%,var(--surface)));box-shadow:0 18px 45px rgba(0,0,0,.16)}
.install-orb svg{width:34px;height:34px}
@media(max-width:760px){.settings-power{grid-template-columns:1fr}.topbar-actions .install-app-btn,.topbar-actions .notification-btn{display:grid;width:42px;height:42px}.topbar-actions{max-width:142px}.topbar .account-btn{display:none}}
@media(max-width:430px){.topbar-actions .notification-btn{display:none}.topbar-actions{max-width:94px}}

/* PlayVibe 1.0 Mini Pro UX/search/sound/queue upgrade */
.searchbox{position:relative;isolation:isolate}.search-suggestions{position:absolute;z-index:120;left:0;right:0;top:calc(100% + 9px);padding:7px;background:color-mix(in srgb,var(--bg-soft) 97%,transparent);border:1px solid var(--line-strong);border-radius:16px;box-shadow:0 22px 54px rgba(0,0,0,.28);backdrop-filter:blur(18px);max-height:min(56vh,430px);overflow:auto}.suggestion-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;border:0;background:transparent;color:var(--text);padding:8px 10px;border-radius:11px;text-align:left;cursor:pointer}.suggestion-row:hover,.suggestion-row:focus-visible{background:var(--surface-2);outline:0}.suggestion-row>span:last-child{min-width:0}.suggestion-row strong,.suggestion-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-row small{color:var(--muted);font-size:10px;margin-top:2px}.suggestion-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--surface-3);color:var(--muted)}.suggestion-icon svg{width:17px;height:17px}
.network-mini-loader{position:fixed;z-index:260;top:14px;left:50%;transform:translateX(-50%);height:38px;padding:0 13px;border:1px solid var(--line-strong);border-radius:999px;background:color-mix(in srgb,var(--bg-soft) 95%,transparent);color:var(--text);box-shadow:0 12px 34px rgba(0,0,0,.2);backdrop-filter:blur(18px);display:flex;align-items:center;gap:9px;font-size:12px;font-weight:750}.network-mini-loader[hidden]{display:none}.mini-spinner{width:15px;height:15px;border:2px solid color-mix(in srgb,var(--muted) 30%,transparent);border-top-color:var(--accent);border-radius:50%;display:inline-block;flex:0 0 auto;animation:pvSpin .72s linear infinite}@keyframes pvSpin{to{transform:rotate(360deg)}}.progress-toast{display:flex;align-items:center;gap:9px}
.view.view-enter>*{animation:pvViewIn .38s cubic-bezier(.22,.78,.26,1) both}@keyframes pvViewIn{from{opacity:0;transform:translateX(18px) scale(.995);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}html.theme-shifting body:after{content:"";position:fixed;z-index:300;pointer-events:none;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 12%,transparent),transparent);animation:pvThemeSweep .45s ease both}@keyframes pvThemeSweep{from{opacity:0;transform:translateX(-100%)}40%{opacity:1}to{opacity:0;transform:translateX(100%)}}
.player-bar.loading .player-art-shell:after{content:"";inset:0;left:0;top:0;right:0;bottom:0;border-radius:inherit;padding:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.18) 45%,transparent 70%);animation:shimmer 1s infinite}.player-bar.loading #playerTitle:after{content:" · loading";color:var(--muted);font-size:10px;font-weight:600}
.drawer-head .queue-help{display:block;color:var(--muted);font-size:10px;margin-top:3px}.queue-item{grid-template-columns:30px 48px minmax(0,1fr) auto auto!important;transition:.15s ease}.queue-item.dragging{opacity:.45;transform:scale(.985)}.queue-item.drag-over{box-shadow:inset 0 2px 0 var(--accent)}.queue-drag{width:28px;height:38px;border:0;background:transparent;color:var(--muted);cursor:grab;display:grid;place-items:center}.queue-drag:active{cursor:grabbing}.queue-drag svg{width:18px}.queue-priority{display:flex}.queue-priority .icon-btn{width:29px;height:29px}.queue-item button:disabled{opacity:.28;cursor:not-allowed}.qcopy{border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;min-width:0}.qcopy strong,.qcopy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qcopy span{font-size:11px;color:var(--muted);margin-top:3px}
.sound-setting-row{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:14px;padding:11px 12px;display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:10px;text-align:left;cursor:pointer}.sound-setting-row>span:first-child{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,var(--surface-2));color:var(--accent)}.sound-setting-row svg{width:19px}.sound-setting-row strong,.sound-setting-row small{display:block}.sound-setting-row small{color:var(--muted);margin-top:3px}.sound-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sound-preset{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:14px;padding:12px;display:flex;align-items:center;gap:9px;cursor:pointer}.sound-preset:hover,.sound-preset.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 11%,var(--surface))}.sound-preset svg{width:20px;color:var(--accent)}.eq-panel{display:grid;gap:13px;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.eq-panel label{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:12px;font-weight:700}.eq-panel label span{color:var(--muted);font-size:10px}.eq-panel input{grid-column:1/3;width:100%;accent-color:var(--accent)}
.taste-genres{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:17px}.taste-artists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:66px}.taste-artist-card{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:14px;padding:9px;text-align:center;cursor:pointer;min-width:0}.taste-artist-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.taste-avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;display:grid;place-items:center;margin:0 auto 7px;background:var(--surface-3)}.taste-avatar img{width:100%;height:100%;object-fit:cover}.taste-artist-card strong,.taste-artist-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taste-artist-card strong{font-size:11px}.taste-artist-card small{font-size:9px;color:var(--muted);margin-top:2px}.taste-loading{grid-column:1/-1;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.taste-selected{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.taste-chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border-radius:999px;padding:5px 9px;font-size:10px}.taste-chip button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0}.full-actions{grid-template-columns:repeat(5,minmax(0,1fr))}
.theme-option>svg{width:18px;height:18px;vertical-align:middle;margin-right:5px;color:var(--accent)}
@media(max-width:760px){.network-mini-loader{top:calc(66px + env(safe-area-inset-top));max-width:calc(100vw - 24px)}.search-suggestions{position:fixed;left:10px;right:10px;top:62px;max-height:48vh}.queue-item{grid-template-columns:24px 44px minmax(0,1fr) auto!important}.queue-priority{display:grid}.queue-priority .icon-btn{width:25px;height:23px}.taste-artists{grid-template-columns:repeat(3,minmax(0,1fr))}.full-actions{grid-template-columns:repeat(5,1fr);gap:5px}.full-actions .pill-btn{min-width:0}.sound-presets{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.taste-artists{grid-template-columns:repeat(2,minmax(0,1fr))}.sound-presets{grid-template-columns:1fr}.full-actions .pill-btn span:last-child{font-size:8px}}

/* PlayVibe 1.0 Mini playback reliability + artwork loading pass */
.image-mini-loader,.art-load-spinner{position:absolute;z-index:6;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:2px solid rgba(255,255,255,.34);border-top-color:#fff;background:rgba(8,8,12,.22);box-shadow:0 3px 14px rgba(0,0,0,.22);animation:pvSpin .72s linear infinite;pointer-events:none}
.image-mini-loader{width:18px;height:18px;margin:-9px 0 0 -9px}.pv-media-img.is-loaded + .image-mini-loader{display:none}.art-load-spinner[hidden]{display:none}.art-load-spinner.large{width:28px;height:28px;margin:-14px 0 0 -14px;border-width:3px}
.player-bar.loading .player-art-shell:after{content:"PlayVibe";inset:auto;left:auto;top:auto;right:3px;bottom:3px;border:0;border-radius:999px;padding:2px 4px;background:rgba(8,8,11,.66);animation:none;color:#fff;font-size:6px;font-weight:850}
.player-bar.loading #playerTitle:after{content:" · loading song";color:var(--muted);font-size:10px;font-weight:600}
.player-art-shell,.full-art-wrap,.cover,.track-art,.detail-cover{isolation:isolate}

/* Light mode keeps track/player text and controls readable, including image-backed full player. */
html[data-theme="light"] .player-bar{background:rgba(255,255,255,.94)}
html[data-theme="light"] .player-meta strong,html[data-theme="light"] .track-copy strong,html[data-theme="light"] .media-card h3,html[data-theme="light"] .qcopy strong{color:#14141a}
html[data-theme="light"] .player-meta span,html[data-theme="light"] .track-copy span,html[data-theme="light"] .media-card p,html[data-theme="light"] .qcopy span{color:#656575}
html[data-theme="light"] .player-bar .icon-btn{color:#4d4d58}
html[data-theme="light"] .player-bar .icon-btn:hover,html[data-theme="light"] .player-bar .icon-btn.active{color:#14141a;background:#eceef3}
html[data-theme="light"] .full-player{--text:#fff;--muted:#d5d8e2;--surface-2:rgba(255,255,255,.12);--surface-3:rgba(255,255,255,.2);background:#101116;color:#fff}
html[data-theme="light"] .full-player .icon-btn,html[data-theme="light"] .full-player .pill-btn{color:#e8e9ef}
html[data-theme="light"] .full-player .pill-btn:hover,html[data-theme="light"] .full-player .pill-btn.active{color:#fff}
html[data-theme="light"] .full-player .range{accent-color:#fff}

/* The expand/full-player control is intentionally available on mobile too. */
@media(max-width:760px){.player-right #expandPlayerBtn{display:grid!important;width:40px;height:40px}.player-right{min-width:40px}.player-center{justify-content:flex-end}.player-bar.loading #playerTitle:after{content:" · loading"}}

/* PlayVibe Studio+: accessible color palettes, expressive surfaces and ergonomic playback */
html[data-theme="ocean"]{--bg:#04121e;--bg-soft:#071c2e;--surface:#0e273b;--surface-2:#17374b;--surface-3:#214558;--text:#eefaff;--muted:#9ebdce;--accent:#30c9e8;--accent-2:#3c8fff;--line:rgba(178,239,255,.11);--line-strong:rgba(178,239,255,.24)}
html[data-theme="amethyst"]{--bg:#12091f;--bg-soft:#1c102d;--surface:#27173c;--surface-2:#322048;--surface-3:#412953;--text:#fff6ff;--muted:#d5bce3;--accent:#be84ff;--accent-2:#fa79cd;--line:rgba(248,202,255,.13);--line-strong:rgba(248,202,255,.25)}
html[data-theme="rose"]{--bg:#210d1c;--bg-soft:#2d1425;--surface:#3b1d30;--surface-2:#49273b;--surface-3:#5d324a;--text:#fff6fa;--muted:#e1b6cb;--accent:#ff88bb;--accent-2:#ffb08e;--line:rgba(255,205,226,.14);--line-strong:rgba(255,205,226,.28)}
html[data-theme="ember"]{--bg:#1b100b;--bg-soft:#25170e;--surface:#342117;--surface-2:#402b1d;--surface-3:#533927;--text:#fff5e8;--muted:#d7bda2;--accent:#ffb15d;--accent-2:#ff755c;--line:rgba(255,210,167,.14);--line-strong:rgba(255,210,167,.25)}
html[data-theme="ice"]{--bg:#eaf5ff;--bg-soft:#f9fdff;--surface:#fafdff;--surface-2:#dfedfa;--surface-3:#cde3f5;--text:#102840;--muted:#49647c;--accent:#006bb0;--accent-2:#007f87;--line:rgba(11,46,79,.13);--line-strong:rgba(11,46,79,.23);--shadow:0 22px 70px rgba(32,72,125,.13)}
html[data-theme="cream"]{--bg:#faf3e7;--bg-soft:#fffaf3;--surface:#fffdfa;--surface-2:#f4e8d6;--surface-3:#ecddc5;--text:#302317;--muted:#78614d;--accent:#99600c;--accent-2:#9a3e47;--line:rgba(74,47,21,.12);--line-strong:rgba(74,47,21,.22);--shadow:0 22px 70px rgba(74,47,21,.11)}
html[data-theme="neon"]{--bg:#090b0f;--bg-soft:#0e1319;--surface:#15202a;--surface-2:#1a3039;--surface-3:#24444a;--text:#f0fff9;--muted:#a0c3ba;--accent:#41ed9c;--accent-2:#68d4ff;--line:rgba(87,255,193,.15);--line-strong:rgba(87,255,193,.3)}
html[data-theme="graphite"]{--bg:#121317;--bg-soft:#1b1c22;--surface:#242630;--surface-2:#30333f;--surface-3:#3a3f4a;--text:#f7f7fa;--muted:#adb0bd;--accent:#c0c7ff;--accent-2:#84d8d2;--line:rgba(255,255,255,.10);--line-strong:rgba(255,255,255,.20)}
html[data-theme="lavender"]{--bg:#f3efff;--bg-soft:#fffaff;--surface:#fffaff;--surface-2:#e7e0f5;--surface-3:#d9cfed;--text:#241935;--muted:#665779;--accent:#7840bb;--accent-2:#ab2973;--line:rgba(52,28,87,.12);--line-strong:rgba(52,28,87,.22);--shadow:0 22px 70px rgba(64,44,110,.11)}
html[data-theme="mint"]{--bg:#e9f8f1;--bg-soft:#f8fffa;--surface:#fcfffe;--surface-2:#ddf3e7;--surface-3:#c7e7d5;--text:#153328;--muted:#526e61;--accent:#0c7953;--accent-2:#0c797e;--line:rgba(18,80,54,.12);--line-strong:rgba(18,80,54,.21);--shadow:0 22px 70px rgba(36,97,74,.11)}
.theme-preview.ocean{background:linear-gradient(150deg,#04121e 48%,#30c9e8)}.theme-preview.amethyst{background:linear-gradient(135deg,#12091f 50%,#be84ff)}.theme-preview.rose{background:linear-gradient(135deg,#210d1c 46%,#ff88bb)}.theme-preview.ember{background:linear-gradient(135deg,#1b100b 46%,#ffb15d)}
.theme-preview.ice{background:linear-gradient(145deg,#eaf5ff 47%,#006bb0)}.theme-preview.cream{background:linear-gradient(145deg,#faf3e7 47%,#99600c)}.theme-preview.neon{background:linear-gradient(135deg,#090b0f 46%,#41ed9c)}.theme-preview.graphite{background:linear-gradient(135deg,#121317 46%,#c0c7ff)}.theme-preview.lavender{background:linear-gradient(135deg,#f3efff 47%,#7840bb)}.theme-preview.mint{background:linear-gradient(135deg,#e9f8f1 47%,#0c7953)}
/* Light palettes: strong SVG contrast and fill, including icons that are SVG paths. */
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .icon-btn,
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .nav-item,
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .mobile-nav-item,
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .track-actions button,
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .player-bar{color:var(--text)!important}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) svg{stroke:currentColor!important}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .play-main{background:var(--text)!important;color:var(--bg-soft)!important}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .play-main svg{stroke:currentColor!important}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .full-info h1,
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .full-artist-link{color:var(--text)!important}
/* The background artwork must not make text unreadable on light themes. */
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .full-player-bg{opacity:.12!important}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .full-player{background:var(--bg)!important}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .player-bar{background:color-mix(in srgb,var(--bg-soft) 95%,transparent)!important}
/* Rich but efficient Spotify-inspired surfaces; native scroll/performance stay intact. */
.sidebar{background:linear-gradient(160deg,var(--bg-soft),var(--bg) 90%);border-right:1px solid var(--line)}
.topbar{background:color-mix(in srgb,var(--bg) 83%,transparent);backdrop-filter:blur(16px)}
.hero{background:radial-gradient(ellipse at 88% 12%,color-mix(in srgb,var(--accent-2) 38%,transparent),transparent 50%),radial-gradient(ellipse at 0 75%,color-mix(in srgb,var(--accent) 38%,transparent),transparent 60%),linear-gradient(135deg,var(--surface),var(--bg-soft));border:1px solid var(--line-strong)}
.hero:before{content:'♫';position:absolute;right:6%;top:8%;font-size:clamp(100px,16vw,240px);font-weight:800;opacity:.08;transform:rotate(-18deg);pointer-events:none;animation:pvOrbFloat 12s ease-in-out infinite}
@keyframes pvOrbFloat{50%{transform:translateY(16px) rotate(-12deg)}}
.media-card,.playlist-card,.track-row{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.media-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.16)}
.track-row:hover{background:var(--surface-2);transform:translateX(2px)}
.player-bar:not(.empty){box-shadow:0 -14px 40px rgba(0,0,0,.1);border-top-color:var(--line-strong)}
.player-center .progress-row{touch-action:pan-x}.range.progress{height:11px;margin:0;cursor:ew-resize;touch-action:pan-x;accent-color:var(--accent)}
.full-progress{padding:8px 0 4px}.full-progress .range.progress{height:22px;touch-action:none;accent-color:var(--accent)}
.full-artist-link{display:inline-flex;align-items:center;justify-content:flex-start;border:0;background:none;color:var(--text);font-size:15px;font-weight:600;cursor:pointer;text-align:left;padding:8px 2px;margin:3px 0 15px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}
.full-artist-link:hover{color:var(--accent);text-decoration-color:currentColor}
#playerArtist[role="link"]{cursor:pointer}#playerArtist[role="link"]:hover{text-decoration:underline;color:var(--accent)}
.full-seek-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;padding:4px 0}
.full-seek-controls>span{text-align:center;line-height:1.4;max-width:68%}.full-seek-controls>.icon-btn{width:54px;min-height:42px;border-radius:14px;background:var(--surface-2);color:var(--text)}.full-seek-controls small{font-size:10px;margin-left:2px;color:var(--text)}
.full-art-wrap{touch-action:none;user-select:none}.full-art-wrap img{pointer-events:none;user-select:none}
.full-options{position:absolute;z-index:150;top:76px;right:16px;width:min(300px,calc(100vw - 32px));max-height:60vh;overflow:auto;display:grid;gap:4px;padding:10px;background:var(--bg-soft);border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 26px 70px rgba(0,0,0,.42);animation:pvOptionsIn .2s ease both}.full-options[hidden]{display:none!important}
.full-options button{display:flex;align-items:center;gap:12px;background:transparent;color:var(--text);border:0;border-radius:12px;min-height:42px;text-align:left;padding:9px 12px;cursor:pointer}.full-options button:hover{background:var(--surface-2)}.full-options svg{width:19px;height:19px;color:var(--accent)}
@keyframes pvOptionsIn{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}
.suggestion-icon{overflow:hidden;position:relative}.suggestion-icon img{width:100%;height:100%;object-fit:cover;border-radius:10px}.suggestion-icon .image-mini-loader{display:none}
.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:10px}
.developer-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 24px}.developer-stats>div{border:1px solid var(--line-strong);border-radius:19px;padding:18px;background:var(--surface)}.developer-stats small{display:block;font-size:12px;color:var(--muted)}.developer-stats strong{display:block;font-size:24px;letter-spacing:-.03em;margin-top:8px}.dev-docs{max-width:880px;padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.dev-docs h2,.dev-docs h3{margin:10px 0 14px}.dev-docs p{line-height:1.6;color:var(--muted)}.dev-docs code{font-size:12px;overflow-wrap:anywhere;color:var(--text)}.endpoint-list{display:grid;gap:9px;padding:15px;border-radius:14px;background:var(--surface-2)}.dev-pre{overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;background:var(--bg);padding:15px;color:var(--text)}.dev-key{display:block;padding:12px;border-radius:10px;background:var(--surface-2);margin:12px 0}.dev-billing{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}
@media(max-width:760px){
 .developer-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-docs{padding:14px}
 /* Continuous thumb seeking on the compact mobile player. */
 .player-bar{grid-template-columns:minmax(0,1fr) auto auto!important;position:relative;padding-bottom:12px!important}
 .player-center .progress-row{display:flex!important;position:absolute;bottom:0;left:0;right:0;height:12px;z-index:8;opacity:1!important;pointer-events:auto!important}
 .player-center .progress-row>#currentTime,.player-center .progress-row>#durationTime{display:none!important}
 .player-center .progress-row .range.progress{height:12px;width:100%;margin:0;display:block;accent-color:var(--accent);touch-action:none}
 .player-right #queueBtn{display:grid;min-width:32px}
 .full-progress .range.progress{height:26px;width:100%}.full-controls{margin:11px 0}
 .full-seek-controls>span{font-size:10px}
 .full-player-body{padding-top:2px}.full-art-wrap{width:min(68vw,320px);margin-bottom:16px}
 .full-info h1{font-size:clamp(25px,6vw,36px)}
 .full-artist-link{margin:2px 0 10px}
 .full-options{top:calc(77px + env(safe-area-inset-top))}
}
@media(max-width:385px){.player-bar{gap:3px!important;padding-inline:6px!important}.player-track{grid-template-columns:42px minmax(0,1fr)}.player-track img{width:42px;height:42px}.player-right #queueBtn{width:30px}.full-seek-controls>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero:before,.media-card,.track-row,.full-options{animation:none!important;transition:none!important}}

/* PlayVibe Mini 1.1: mobile final Settings tab, accessible notice, scalable artwork player. */
.settings-quick{padding:15px 0;margin-top:17px;border-top:1px solid var(--line)}
.settings-quick h3{font-size:15px;margin:0 0 11px;color:var(--text)}
.settings-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.settings-quick-links button{border:1px solid var(--line);background:var(--surface);color:var(--text);min-width:0;padding:12px 10px;border-radius:13px;display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;font-size:12px;font-weight:700}
.settings-quick-links button svg{width:18px;height:18px;flex:none;color:var(--accent)}
.settings-quick-links button:hover{background:var(--surface-2);border-color:var(--line-strong)}
.test-disclaimer{font-size:12px;color:var(--muted);line-height:1.7;padding:14px;margin:15px 0 0;background:var(--surface-2);border:1px solid var(--line);border-radius:15px}
.test-disclaimer strong{display:block;font-size:13px;color:var(--text);margin-bottom:6px}
.test-disclaimer p{margin:0}
/* Native media scrubbers have uninterrupted touch regions on mobile. */
.player-center .progress-row .range.progress::-webkit-slider-thumb{width:16px;height:16px;appearance:none;border:3px solid var(--bg-soft);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.full-progress .range.progress::-webkit-slider-thumb{width:21px;height:21px;appearance:none;border:3px solid var(--bg-soft);border-radius:50%;background:var(--accent)}
@media(max-width:760px){
  .mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important;padding:5px 3px}
  .mobile-nav-item{font-size:9px;min-width:0;white-space:nowrap}
  .mobile-nav-item svg{width:19px;height:19px}
  .player-center .progress-row{padding:0 6px}
  .full-player-body{overflow:auto;overscroll-behavior:contain}
}
@media(max-width:360px){.mobile-nav-item{font-size:8px}.mobile-nav-item svg{width:17px;height:17px}}
/* PlayVibe Mini 1.2 • listening-first homepage and mobile player */
.mini-player-actions,.mini-progress-rail{display:none}
.showcase{margin:0 0 16px;position:relative}
.showcase-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 20px}
.showcase-heading h1{font-size:clamp(30px,4vw,54px);font-weight:900;letter-spacing:-.055em;line-height:1.04;margin:0 0 9px;background:linear-gradient(110deg,var(--text),color-mix(in srgb,var(--accent) 35%,var(--text)));background-clip:text;-webkit-background-clip:text;color:transparent}
.showcase-heading p:not(.eyebrow){margin:0;font-size:14px;color:var(--muted)}
.showcase-arrows{display:flex;gap:9px;align-items:center}
.showcase-arrows .icon-btn{width:44px;height:44px;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:50%;transition:transform .18s,border-color .18s}
.showcase-arrows .icon-btn:hover{transform:scale(1.09);border-color:var(--accent)}
.showcase-track{display:flex;align-items:stretch;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:3px 0 10px;outline-offset:4px}
.showcase-track::-webkit-scrollbar{display:none}
.showcase-poster{flex:0 0 clamp(240px,27vw,365px);scroll-snap-align:start;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:23px;overflow:hidden;transition:transform .25s,border-color .2s;isolation:isolate}
.showcase-poster:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.showcase-art{position:relative;aspect-ratio:1.12;overflow:hidden;background:linear-gradient(150deg,var(--accent),var(--surface-3) 58%,var(--bg));}
.showcase-art>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.showcase-poster:hover .showcase-art>img{transform:scale(1.055)}
.showcase-art-empty{display:grid;place-items:center;height:100%;color:var(--text);opacity:.55}.showcase-art-empty svg{width:30%;height:30%}
.showcase-gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 20%,rgba(7,7,15,.15) 40%,rgba(7,7,15,.87) 100%);pointer-events:none}
.showcase-number{position:absolute;top:13px;left:13px;z-index:1;background:rgba(6,9,18,.64);backdrop-filter:blur(12px);padding:6px 10px;font-size:11px;color:#fff;border-radius:999px;font-weight:750;letter-spacing:.07em}
.showcase-overlay{position:absolute;z-index:2;bottom:19px;left:20px;right:17px;color:#fff;text-shadow:0 3px 20px #0008}
.showcase-overlay small{display:block;font-size:10px;letter-spacing:.22em;opacity:.84;font-weight:800;margin-bottom:7px}
.showcase-overlay strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:clamp(23px,2.4vw,35px);font-weight:900;line-height:1.03;letter-spacing:-.045em}
.showcase-caption{display:flex;align-items:center;gap:8px;padding:13px 14px 14px}
.showcase-artist{display:flex;align-items:center;min-width:0;flex:1;gap:10px;background:transparent;border:0;color:var(--text);text-align:left;padding:0;cursor:pointer}
.showcase-artist-pic{width:38px;height:38px;flex:0 0 38px;background:var(--surface-3);border-radius:50%;overflow:hidden;display:grid;place-items:center;color:var(--accent)}
.showcase-artist-pic img{width:100%;height:100%;object-fit:cover}
.showcase-artist-pic svg{width:18px;height:18px}
.showcase-artist>span:last-child{min-width:0}
.showcase-artist strong,.showcase-artist small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.showcase-artist strong{font-size:13px}.showcase-artist small{font-size:11px;color:var(--muted);padding-top:4px}
.showcase-play{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;cursor:pointer;background:var(--accent);color:#fff;box-shadow:0 7px 19px color-mix(in srgb,var(--accent) 40%,transparent);transition:transform .2s}
.showcase-play:hover{transform:scale(1.09)}.showcase-play svg{width:21px;height:21px}
.showcase-foot{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:12px;font-weight:700;margin:4px 1px 20px}.showcase-foot>small{font-size:11px;opacity:.8}.showcase-bar{height:3px;flex:1;max-width:240px;border-radius:100px;overflow:hidden;background:var(--surface-3)}.showcase-bar span{display:block;height:100%;width:10%;border-radius:inherit;background:var(--accent);transition:width .25s}
.home-discover{border:1px solid var(--line);background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface));padding:14px 16px;border-radius:20px;margin-bottom:30px;display:grid;gap:10px}
.home-discover-copy{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--text)}.home-discover-copy>span{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.home-discover-copy svg{width:16px;height:16px;color:var(--accent)}
.home-chips{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;padding:2px 1px 6px}.home-chips::-webkit-scrollbar{display:none}
.home-chip{border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--text);flex:0 0 auto;height:42px;border-radius:999px;padding:0 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:750;font-size:12px;scroll-snap-align:start;transition:.17s}
.home-chip:hover{background:var(--surface-3);border-color:var(--accent);transform:translateY(-1px)}.home-chip svg{width:16px;height:16px;color:var(--accent)}
.queue-find{padding:16px 15px 4px;background:var(--bg-soft);border-bottom:1px solid var(--line)}.queue-find>label{display:block;font-size:13px;font-weight:800;color:var(--text);margin-bottom:10px}
.queue-search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line-strong);background:var(--surface);border-radius:14px;height:45px;padding:0 12px}.queue-search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.queue-search-box>span{display:flex;color:var(--muted)}.queue-search-box svg{width:18px;height:18px}
.queue-search-box input{background:transparent;border:0;outline:0;color:var(--text);width:100%;min-width:0;font-size:13px}
.queue-search-results{margin:10px 0;max-height:min(34vh,290px);overflow-y:auto;border-radius:15px;background:var(--surface);border:1px solid var(--line)}.queue-search-results[hidden]{display:none!important}
.queue-search-item{display:flex;align-items:center;gap:9px;min-width:0;padding:7px 9px;border-bottom:1px solid var(--line)}.queue-search-item:last-child{border-bottom:0}
.queue-search-item .track-art{width:38px;height:38px;flex:0 0 38px}.queue-search-copy{flex:1;min-width:0}.queue-search-copy strong,.queue-search-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-search-copy strong{font-size:12px}.queue-search-copy small{color:var(--muted);font-size:11px;margin-top:3px}
.queue-add-button{background:var(--accent);color:#fff;border:0;border-radius:999px;display:flex;align-items:center;gap:4px;height:32px;padding:0 11px;font-size:11px;font-weight:750;cursor:pointer}.queue-add-button svg{width:14px;height:14px}.queue-add-button:disabled{background:var(--surface-3);color:var(--muted);cursor:default}.queue-search-message{font-size:12px;color:var(--muted);padding:17px;text-align:center}
.queue-list-heading{padding:14px 17px 2px;display:flex;justify-content:space-between;align-items:center;gap:8px}.queue-list-heading strong{font-size:14px}.queue-list-heading small{color:var(--muted);font-size:11px}
.queue-item:hover{background:var(--surface-2)}
/* Gentler transitions, stronger contrast in all previously supplied themes. */
.full-player{background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 11%,var(--bg)),var(--bg) 42%,var(--bg) 100%)}
.full-player-head{border-bottom:1px solid color-mix(in srgb,var(--line-strong) 50%,transparent)}
.full-art-wrap{filter:drop-shadow(0 22px 40px rgba(0,0,0,.25));transition:transform .3s ease}.full-art-wrap:active{transform:scale(.985)}
.full-art-wrap img{border-radius:22px}.full-info h1{font-weight:900;letter-spacing:-.045em}
.full-progress .range.progress{accent-color:var(--accent)}
.full-controls .play-main{background:var(--accent);color:#fff;box-shadow:0 12px 32px color-mix(in srgb,var(--accent) 28%,transparent)}
.full-actions .pill-btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--text)}
.full-actions .pill-btn:hover{background:var(--surface-2)}
.full-player .full-options{border-color:var(--line-strong)}
html[data-theme="light"] .home-chip,html[data-theme="cream"] .home-chip,html[data-theme="ice"] .home-chip{box-shadow:0 4px 12px rgba(40,45,75,.055)}
html[data-theme="light"] .showcase-heading h1{background:linear-gradient(95deg,#181823,#6d3dae);background-clip:text;-webkit-background-clip:text;color:transparent}
@media(max-width:980px){.showcase-poster{flex-basis:clamp(240px,36vw,330px)}}
@media(max-width:760px){
 :root{--player:86px}
 .view{padding:20px 13px calc(30px + env(safe-area-inset-bottom))}
 .showcase-heading{margin-bottom:15px;gap:10px}.showcase-heading h1{font-size:clamp(30px,9vw,40px)}
 .showcase-heading p:not(.eyebrow){font-size:12px}.showcase-arrows{gap:5px}.showcase-arrows .icon-btn{width:33px;height:33px}.showcase-arrows .icon-btn svg{width:17px;height:17px}
 .showcase-track{gap:11px;margin-right:-13px;padding-right:13px}.showcase-poster{flex-basis:min(78vw,330px);border-radius:19px}.showcase-art{aspect-ratio:1.03}.showcase-overlay{left:15px;bottom:15px}.showcase-overlay strong{font-size:26px}.showcase-caption{padding:10px}.showcase-artist-pic{width:34px;height:34px;flex-basis:34px}.showcase-artist strong{font-size:12px}.showcase-play{width:39px;height:39px;flex-basis:39px}
 .home-discover{padding:12px 11px;border-radius:16px;margin-bottom:26px}.home-chip{height:39px;padding:0 12px}
 .mini-player-actions{display:flex;gap:0;align-items:center;justify-content:end}.mini-player-actions .icon-btn{width:30px;height:37px;min-width:30px;color:var(--text)}.mini-player-actions .icon-btn svg{width:17px;height:17px}
 .player-bar{grid-template-columns:minmax(0,1fr) auto auto!important;gap:2px!important;height:var(--player);border-radius:20px 20px 0 0;border:1px solid var(--line-strong);border-bottom:0;background:linear-gradient(105deg,color-mix(in srgb,var(--accent) 13%,var(--surface)),var(--bg-soft) 82%);box-shadow:0 -12px 38px rgba(0,0,0,.13);padding:9px 8px 16px!important;align-items:center}
 .player-bar .player-track{grid-template-columns:43px minmax(0,1fr);gap:7px;min-width:0;overflow:hidden}.player-art-shell,.player-art-shell img,.player-art-shell .small-art{width:43px!important;height:43px!important;border-radius:11px!important}
 .player-meta{min-width:0}.player-meta strong{font-size:12px;font-weight:800}.player-meta span{font-size:10px}.player-center{justify-content:flex-end!important;min-width:42px}.player-center .player-controls{display:flex;gap:0}.player-center .play-main{border-radius:50%;width:41px;height:41px;background:var(--accent);color:#fff;box-shadow:0 5px 16px color-mix(in srgb,var(--accent) 35%,transparent)}
 .player-right{display:none!important}.player-center .progress-row{display:none!important}
 .mini-progress-rail{display:block;position:absolute;left:9px;right:9px;bottom:5px;width:calc(100% - 18px);height:7px;border:0;border-radius:999px;background:var(--surface-3);padding:0;cursor:pointer;touch-action:none;overflow:hidden;z-index:12}
 .mini-progress-rail span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit;transition:width .08s linear;pointer-events:none}
 .full-player{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 27%,var(--bg)) 0%,var(--bg) 48%);}
 .full-player-head{height:66px;padding:9px 13px;position:sticky;top:0;backdrop-filter:blur(10px);z-index:2}
 .full-player-body{width:min(100% - 30px,440px);padding:8px 0 calc(45px + env(safe-area-inset-bottom))}
 .full-art-wrap{width:min(68vw,340px);margin:4px auto 12px;box-shadow:0 22px 50px rgba(0,0,0,.32);border-radius:24px;overflow:hidden}
 .full-art-wrap img{border-radius:24px}.full-info h1{font-size:clamp(24px,7.2vw,34px);line-height:1.12}.full-artist-link{font-size:13px}
 .full-progress{padding-top:8px}.full-progress .range.progress{min-height:27px;touch-action:pan-y}
 .full-seek-controls>span{font-size:10px}.full-controls{margin:4px 0 12px}
 .full-actions{gap:7px;grid-template-columns:repeat(5,minmax(0,1fr))}.full-actions .pill-btn{border-radius:13px;min-height:54px;padding:6px 2px}.full-actions .pill-btn svg{width:17px;height:17px}
 .drawer{width:min(100%,480px);border-radius:22px 0 0 22px}.queue-find{padding:13px 13px 3px}.queue-search-results{max-height:30vh}
}
@media(max-width:395px){.mini-player-actions .icon-btn{width:27px;min-width:27px}.mini-player-actions .icon-btn svg{width:16px}.player-bar .player-track{grid-template-columns:40px minmax(0,1fr)}.player-art-shell,.player-art-shell img,.player-art-shell .small-art{width:40px!important;height:40px!important}.showcase-poster{flex-basis:83vw}}
@media(max-width:340px){.mini-player-actions #miniPrevBtn{display:none}.mini-player-actions .icon-btn{width:30px;min-width:30px}}
@media(prefers-reduced-motion:reduce){.showcase-poster,.showcase-art>img,.showcase-play,.home-chip,.full-art-wrap{transition:none!important}}
.autodj-switch{border-radius:16px;border:1px solid var(--line-strong);background:var(--surface);padding:14px;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer}.autodj-switch span{display:grid;gap:5px}.autodj-switch strong{font-size:14px}.autodj-switch small{color:var(--muted);font-size:11px;line-height:1.4}.autodj-switch input{accent-color:var(--accent);width:21px;height:21px;flex:0 0 auto;cursor:pointer}.autodj-hint{color:var(--muted);font-size:11px;line-height:1.55;margin:9px 2px 0}

/* The queue remains usable before the first song has started, on desktop too. */
@media (min-width:761px){
 .player-bar.empty .player-right{pointer-events:auto;opacity:1}
 .player-bar.empty .player-right> :not(#queueBtn){pointer-events:none;opacity:.45}
 .player-bar.empty .player-right #queueBtn{pointer-events:auto;opacity:1}
}

/* PlayVibe VibeHub 1.3 — modern social screens, responsive settings and Studio. */
.pv-hub-head{position:relative;overflow:hidden;padding:clamp(23px,5vw,50px);border-radius:25px;margin-bottom:22px;background:radial-gradient(circle at 82% 4%,color-mix(in srgb,var(--accent) 25%,transparent),transparent 42%),linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 8%,var(--surface)),var(--bg-soft));border:1px solid var(--line-strong)}
.pv-hub-head h1{font-size:clamp(30px,6vw,54px);letter-spacing:-.055em;line-height:1.02;margin:14px 0}.pv-hub-head p{font-size:14px;line-height:1.65;color:var(--muted);margin:0;max-width:560px}.pv-pulse-label{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.14em;font-weight:850;color:var(--accent);text-transform:uppercase}.pv-pulse-label:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}
.pv-hub-filters{display:flex;gap:10px;flex-direction:column;margin-bottom:20px}.pv-chip-scroll{display:flex;gap:8px;overflow:auto;padding-bottom:4px;scrollbar-width:none}.pv-chip-scroll::-webkit-scrollbar{display:none}.pv-filter-chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);font-size:12px;font-weight:760;border-radius:999px;padding:10px 17px;white-space:nowrap;cursor:pointer}.pv-filter-chip.active{background:var(--text);color:var(--bg);border-color:transparent}
.pv-chart-person{display:flex;gap:15px;align-items:center;min-height:80px;padding:10px 18px;margin-bottom:7px;border:1px solid var(--line);border-radius:17px;background:var(--surface);transition:transform .16s,background .16s}.pv-chart-person:hover{transform:translateY(-2px);background:var(--surface-2)}.pv-chart-person.podium{min-height:112px;border-color:color-mix(in srgb,var(--accent) 27%,var(--line));background:linear-gradient(105deg,color-mix(in srgb,var(--accent) 12%,var(--surface)),var(--surface));box-shadow:0 12px 30px rgba(0,0,0,.06)}.pv-rank{color:var(--muted);width:48px;flex:none;font-weight:950;font-size:18px;text-align:center;font-variant-numeric:tabular-nums}.pv-rank.rank-1{color:#eab943}.pv-rank.rank-2{color:#93a9b9}.pv-rank.rank-3{color:#b57957}.pv-person-link{display:flex;align-items:center;gap:13px;min-width:0;flex:1;text-align:left;background:transparent;border:0;color:var(--text);cursor:pointer;padding:0}.pv-person-link>span:last-child{display:grid;min-width:0;gap:4px}.pv-person-link strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-person-link small{color:var(--muted);font-size:11px}.pv-person-avatar{width:51px;height:51px;border:2px solid var(--line-strong);border-radius:50%;flex:none;display:grid;place-items:center;overflow:hidden;background:linear-gradient(140deg,var(--accent),var(--accent-2));color:#fff;font-size:20px;font-weight:850}.pv-person-avatar img{width:100%;height:100%;object-fit:cover;display:block}.pv-person-avatar.large{width:74px;height:74px;font-size:27px}.pv-person-avatar.huge{width:clamp(112px,20vw,168px);height:clamp(112px,20vw,168px);font-size:50px;border:5px solid color-mix(in srgb,var(--text) 22%,transparent);box-shadow:0 10px 45px rgba(0,0,0,.24)}.podium .pv-person-avatar{width:70px;height:70px;font-size:27px}.pv-score{margin-left:auto;text-align:right;white-space:nowrap;font-size:19px;font-variant-numeric:tabular-nums}.pv-score small{font-size:11px;font-weight:550;color:var(--muted)}.pv-chart-song{flex:1;min-width:0;display:flex;align-items:center;gap:13px}.pv-chart-song img{width:50px;height:50px;border-radius:11px;object-fit:cover}.pv-chart-song>span{display:grid;min-width:0;gap:3px}.pv-chart-song strong,.pv-chart-song small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-chart-song small{color:var(--muted)}.pv-load-row{text-align:center;padding:20px}.pv-profile-cover{display:flex;align-items:center;gap:28px;position:relative;overflow:hidden;isolation:isolate;min-height:240px;border-radius:25px;padding:35px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 24%,var(--surface)),var(--surface));margin-bottom:15px}.pv-profile-glow{position:absolute;z-index:-1;right:-120px;top:-200px;width:470px;height:470px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent-2) 38%,transparent),transparent 70%)}.pv-profile-info h1{font-size:clamp(27px,5vw,48px);line-height:1.05;letter-spacing:-.045em;margin:8px 0}.pv-profile-info p{color:var(--muted);margin:4px 0}.pv-profile-info>small{color:var(--accent);font-weight:800;letter-spacing:.14em;font-size:10px}.pv-profile-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.pv-profile-stats strong{font-size:12px;padding:9px 13px;background:color-mix(in srgb,var(--surface) 70%,transparent);border-radius:999px}.pv-hub-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.pv-hub-section{margin:26px 0}.pv-hub-section h2{font-size:20px}.pv-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:11px}.pv-hub-tile{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);background:var(--surface);padding:18px;border-radius:18px;text-align:left;color:var(--text);cursor:pointer}.pv-hub-tile svg{width:25px;height:25px;color:var(--accent)}.pv-hub-search{height:52px;display:flex;align-items:center;gap:10px;padding:0 16px;border:1px solid var(--line-strong);border-radius:15px;background:var(--surface);margin-bottom:20px}.pv-hub-search input{background:transparent;border:0;outline:0;min-width:0;color:var(--text);font:inherit;flex:1}.pv-hub-list{display:grid;gap:10px}.pv-contact-row{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:13px;display:flex;gap:10px;align-items:center;min-width:0}.pv-contact-row>small{color:var(--muted)}
.pv-chat-shell{height:clamp(520px,calc(100dvh - var(--topbar) - var(--player) - 100px),820px);min-height:440px;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:23px}.pv-chat-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}.pv-chat-head>div{display:flex;align-items:center}.pv-message-list{flex:1;min-height:0;overflow-y:auto;padding:17px 20px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin}.pv-message{max-width:min(85%,500px);display:flex;align-items:end;gap:5px;align-self:flex-start}.pv-message.own{align-self:flex-end}.pv-message-bubble{max-width:100%;min-width:90px;overflow-wrap:anywhere;background:var(--surface-3);padding:11px 13px;border-radius:17px 17px 17px 5px;font-size:13px;line-height:1.6}.pv-message.own .pv-message-bubble{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;border-radius:17px 17px 5px 17px}.pv-message-bubble a{color:inherit;text-decoration:underline}.pv-message-bubble small{display:block;font-size:9px;opacity:.65;margin-top:5px}.pv-chat-image{display:block;max-width:100%;max-height:320px;border-radius:12px;object-fit:contain}.pv-delete-msg{border:0;background:transparent;color:var(--muted);font-size:21px;cursor:pointer;border-radius:8px;min-width:25px;min-height:30px}.pv-delete-msg:hover{color:var(--danger);background:var(--surface-2)}.pv-chat-send{display:flex;align-items:center;gap:8px;padding:11px;border-top:1px solid var(--line);background:var(--surface-2)}.pv-chat-send input{min-width:0;flex:1;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);padding:13px 12px;outline:none}.pv-photo-upload{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;border:1px solid var(--line);border-radius:12px;min-width:44px;min-height:44px;color:var(--accent);font-weight:750}.pv-photo-upload svg{width:18px;height:18px}.pv-chat-send .primary-btn{width:45px;padding:0;border-radius:13px}
.pv-notice{display:flex;gap:13px;align-items:center;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--surface));padding:14px;margin-bottom:8px;border-radius:16px}.pv-notice.read{background:var(--surface);border-color:var(--line);opacity:.75}.pv-notice>img{width:52px;height:52px;object-fit:cover;border-radius:12px}.pv-notice>div:nth-child(2){flex:1;min-width:0}.pv-notice p{margin:5px 0;color:var(--muted);font-size:12px}.pv-notice small{font-size:10px;color:var(--muted)}.pv-notice-actions{display:flex;align-items:center;gap:6px}.pv-notice-actions button{font-size:12px}.pv-inbox-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-2);display:block}.pv-inbox-dot[hidden]{display:none}
.pv-settings-card{background:var(--surface);border:1px solid var(--line);border-radius:21px;padding:clamp(14px,3vw,27px);margin:16px 0;max-width:960px}.pv-settings-card h2{font-size:21px;letter-spacing:-.025em;margin:2px 0 18px}.pv-settings-card form{display:grid;gap:14px}.pv-settings-card form>label{display:grid;gap:6px;font-size:12px;font-weight:750}.pv-settings-card input:not([type=checkbox]):not([type=color]):not([type=file]),.pv-settings-card select{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:11px;padding:12px;background:var(--bg-soft);color:var(--text);outline:none}.pv-settings-card .settings-quick{margin:16px 0}.pv-settings-card .settings-quick-links{gap:8px}.pv-settings-profile{display:flex;align-items:center;gap:15px;margin:14px 0 18px}.pv-settings-profile>div{display:grid;gap:5px}.pv-settings-profile small{color:var(--muted)}.pv-avatar-picker{padding:10px 17px;width:max-content;margin:12px 0}.pv-scores{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.pv-scores div{padding:16px 8px;background:var(--surface-2);border-radius:13px;display:grid;text-align:center;gap:9px}.pv-scores small{color:var(--muted);font-size:11px}.pv-scores strong{font-size:25px;font-variant-numeric:tabular-nums}.pv-settings-card .pv-setting-switch{display:flex!important;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0}.pv-setting-switch input{width:19px;height:19px;accent-color:var(--accent)}.pv-studio-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pv-studio-fields>label{display:grid;gap:5px}.pv-response-pre{padding:14px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;max-height:60vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}.pv-note{color:var(--muted);font-size:12px;line-height:1.65}
html[data-theme="light"] .pv-settings-card svg,html[data-theme="light"] .pv-profile-cover svg{color:inherit;stroke:currentColor}
@media(max-width:760px){.pv-hub-head{padding:23px 18px;border-radius:19px}.pv-hub-head h1{font-size:34px}.pv-chart-person{gap:7px;min-height:67px;padding:10px}.pv-chart-person.podium{min-height:90px}.pv-rank{width:35px;font-size:14px}.pv-person-avatar{width:41px;height:41px;font-size:16px}.podium .pv-person-avatar{width:52px;height:52px}.pv-person-link{gap:7px}.pv-person-link strong{font-size:12px}.pv-person-link small{font-size:10px}.pv-score{font-size:13px}.pv-profile-cover{flex-direction:column;align-items:flex-start;gap:16px;padding:23px}.pv-chat-shell{height:calc(100dvh - 185px);min-height:330px;border-radius:16px}.pv-notice{flex-wrap:wrap}.pv-notice-actions{margin-left:auto}.pv-studio-fields{grid-template-columns:1fr}.pv-scores{grid-template-columns:repeat(3,minmax(0,1fr))}.pv-message-list{padding:12px 8px}.pv-chat-send{padding:8px}.pv-chart-song{gap:6px}.pv-chart-song img{width:40px;height:40px}.pv-settings-card .theme-grid{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){.pv-chart-person{transition:none}}

.pv-history-row{display:flex;align-items:center;gap:4px}.pv-history-row .track-row{flex:1;min-width:0}.pv-history-row>.icon-btn{flex:none}.pv-settings-card>.modal-head>div{flex:1}.pv-settings-card .modal-head{margin:0 0 20px}.pv-settings-card .test-disclaimer{background:var(--surface-2);border:1px solid var(--line);padding:16px;border-radius:14px;margin-top:20px}

/* VibePlanet feature explorer and friendly voice search */
.pv-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:18px 0 32px}.pv-feature-card{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:21px;min-height:176px;position:relative;overflow:hidden;animation:pv-feature-pop .4s both;animation-delay:min(calc(var(--n)*23ms),.5s);transition:transform .18s,box-shadow .18s,border-color .18s}.pv-feature-card:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 15px 37px rgba(0,0,0,.12)}.pv-feature-card .pv-feature-icon{width:44px;height:44px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:14px;color:var(--accent)}.pv-feature-icon svg{width:23px;height:23px}.pv-feature-card h3{margin:20px 0 7px;font-size:15px}.pv-feature-card p{font-size:12px;color:var(--muted);line-height:1.55;margin:0}.pv-feature-hero .primary-btn{margin-top:19px}.pv-voice-dialog{text-align:center;display:grid;gap:15px;justify-items:center;padding:15px}.pv-voice-dialog h2{margin:6px 0 0;font-size:25px}.pv-voice-dialog p{color:var(--muted);line-height:1.6;margin:0;max-width:320px}.pv-voice-orb{width:100px;height:100px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#fff;display:grid;place-items:center;box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 10%,transparent)}.pv-voice-orb svg{width:42px;height:42px}.pv-voice-orb.listening{animation:pv-voice-ring 1.6s infinite}.pv-voice-commands{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}@keyframes pv-voice-ring{50%{box-shadow:0 0 0 23px color-mix(in srgb,var(--accent) 4%,transparent);transform:scale(1.04)}}@keyframes pv-feature-pop{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.pv-features-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pv-feature-card{min-height:160px;padding:15px}.pv-feature-card h3{margin-top:14px;font-size:13px}.pv-feature-card p{font-size:11px}}@media(prefers-reduced-motion:reduce){.pv-feature-card,.pv-voice-orb{animation:none}}

/* PlayVibe Mini 1.5 device collections */
.pv-device-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 24px}
.pv-device-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:14px;margin:15px 0 26px}
.pv-device-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:8px;padding:13px;border:1px solid var(--border,var(--line,#ffffff1c));border-radius:18px;background:var(--card,var(--surface,#222));color:inherit;cursor:pointer;text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.pv-device-card:hover,.pv-device-card:focus-visible{transform:translateY(-3px);border-color:var(--accent,#a16eff);box-shadow:0 12px 35px #0002}
.pv-device-card strong,.pv-device-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-device-card small{opacity:.68}
.pv-device-cover{width:100%;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#30204b,#151425);border-radius:13px}
.pv-device-cover img{width:100%;height:100%;object-fit:cover}
.pv-device-cover svg{width:54px;height:54px;color:#d4beff}
.pv-offline-row{display:flex;align-items:center;gap:5px;min-width:0}
.pv-offline-row>.track-row{min-width:0;flex:1}
.pv-device-list-choices{display:flex;flex-direction:column;gap:7px;max-height:340px;overflow-y:auto;margin:14px 0}
.pv-device-choice{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:13px;border:1px solid var(--border,#8884);background:var(--surface,#222);color:inherit;text-align:left;cursor:pointer}
.pv-device-choice>span{flex:1;display:grid;gap:2px}
.pv-device-choice small{opacity:.7}
.pv-device-choice svg{width:20px;height:20px;flex-shrink:0}
@media(max-width:640px){.pv-device-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pv-device-toolbar{gap:7px}.pv-device-toolbar button{font-size:12px}.pv-offline-row>.icon-btn{padding:7px;width:34px;min-width:34px}.pv-offline-row .track-actions{display:none}}

/* PlayVibe 1.7 · compact five-destination navigation, immersive Search and install */
.topbar{grid-template-columns:auto auto 1fr auto}
.topbar-brand .brand-name,.brand .brand-name{font-weight:950;letter-spacing:.08em;text-transform:uppercase;max-width:none}
.topbar-brand .brand-name{font-size:clamp(15px,1.45vw,20px)}
.topbar-brand .brand-mark.micro,.brand-mark.small{background:transparent;box-shadow:none;border-radius:12px}
.topbar-brand .brand-mark.micro img,.brand-mark.small img{border-radius:12px}
.topbar .searchbox{display:none!important}
.topbar .top-search-btn{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:13px;margin-right:4px}
.topbar .top-search-btn:hover,.topbar .top-search-btn:focus-visible{background:color-mix(in srgb,var(--accent) 17%,var(--surface));border-color:var(--accent)}
.topbar-actions{grid-column:4}
.topbar-left{grid-column:2}
.mobile-nav{--pv-tab-accent:#b398ff}
@media(max-width:760px){
 .topbar{grid-template-columns:minmax(0,1fr) auto!important;padding:9px 13px;gap:8px}
 .topbar-brand{grid-column:1;justify-self:start;gap:7px}
 .topbar-brand .brand-name{display:inline-block!important;font-size:clamp(15px,4.3vw,19px)!important;letter-spacing:.055em;max-width:none}
 .brand-mark.micro{width:34px!important;height:34px!important;border-radius:11px!important}
 .topbar-actions{grid-column:2;display:flex!important;align-items:center;gap:6px;max-width:none!important}
 .topbar-actions #topSearchBtn,.topbar-actions #topSettingsBtn{display:grid!important;width:38px;height:38px;min-width:38px}
 .topbar-actions .install-app-btn,.topbar-actions .notification-btn,.topbar-actions #themeBtn,.topbar-actions .account-btn{display:none!important}
 .mobile-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;height:65px!important;padding:6px 9px calc(5px + env(safe-area-inset-bottom))!important;background:color-mix(in srgb,var(--bg-soft) 97%,transparent)!important;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);border-top:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));box-shadow:0 -13px 36px rgba(0,0,0,.07)}
 .mobile-nav-item{min-width:0;border:0;border-radius:16px;color:var(--muted);font-size:10px!important;font-weight:750;gap:4px;position:relative;transition:background .2s,color .2s,transform .2s;white-space:nowrap}
 .mobile-nav-item svg{width:21px!important;height:21px!important;transition:transform .2s}
 .mobile-nav-item.active{color:var(--text);background:color-mix(in srgb,var(--accent) 15%,var(--surface))!important}
 .mobile-nav-item.active:after{content:"";position:absolute;left:39%;right:39%;top:3px;height:3px;border-radius:6px;background:var(--accent)}
 .mobile-nav-item.active svg{color:var(--accent);transform:translateY(-1px) scale(1.07)}
 .mobile-nav-item:active{transform:scale(.94)}
 .mobile-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
 .main-shell{padding-bottom:65px!important}
 .toast-root{bottom:calc(var(--player) + 75px)}
 .offline-banner{top:8px;width:calc(100vw - 18px);padding:11px 9px 11px 12px;flex-wrap:wrap;gap:8px;line-height:1.4}
 .offline-banner span{flex:1;min-width:180px}
 .offline-banner>div{margin-left:auto}
}
.pv-search-intro{display:flex;align-items:center;gap:18px;margin:2px 0 22px;padding:24px;border-radius:25px;background:radial-gradient(ellipse at 10% -20%,color-mix(in srgb,var(--accent) 25%,transparent),transparent 64%),radial-gradient(ellipse at 90% 130%,color-mix(in srgb,var(--accent-2) 18%,transparent),transparent 60%),var(--surface);border:1px solid var(--line)}
.pv-search-bubble{width:64px;height:64px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:20px;color:#fff;flex:0 0 auto;box-shadow:0 12px 35px color-mix(in srgb,var(--accent) 30%,transparent)}
.pv-search-bubble svg{width:31px;height:31px}
.pv-search-intro small,.pv-search-section-head small,.pv-recent-searches>small{font-size:10px;font-weight:900;letter-spacing:.15em;color:var(--accent)}
.pv-search-intro h1{font-size:clamp(27px,4.4vw,51px);letter-spacing:-.06em;line-height:1.08;margin:6px 0 5px}
.pv-search-intro p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.pv-search-page-box{position:relative;z-index:8;margin-bottom:25px}
#pvSearchPageForm,.pv-search-inline{display:flex;align-items:center;gap:12px;padding:8px 9px 8px 19px;background:var(--bg-soft);border:1px solid var(--line-strong);border-radius:19px;box-shadow:0 9px 34px rgba(0,0,0,.07);min-height:66px;margin:0 0 22px}
#pvSearchPageForm:focus-within,.pv-search-inline:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent),0 12px 40px rgba(0,0,0,.1)}
#pvSearchPageForm>span>svg,.pv-search-inline>span>svg{width:22px;height:22px;color:var(--accent)}
#pvSearchPageInput{flex:1;min-width:0;appearance:none;border:0;background:transparent;outline:0;font-size:clamp(13px,1.8vw,17px);font-weight:600;color:var(--text)}
.pv-search-voice,.pv-search-submit{border:0;border-radius:14px;width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;cursor:pointer;transition:.18s}
.pv-search-voice{color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--surface))}
.pv-search-voice:hover{background:color-mix(in srgb,var(--accent) 24%,var(--surface))}
.pv-search-submit{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2))}
.pv-search-voice svg,.pv-search-submit svg{width:21px;height:21px}
.pv-page-suggestions{position:absolute;top:calc(100% - 18px);width:100%;z-index:30;max-height:330px;overflow:auto;padding:7px;border:1px solid var(--line-strong);border-radius:16px;background:var(--bg-soft);box-shadow:var(--shadow)}
.pv-page-suggestions[hidden]{display:none}
.pv-recent-searches{margin:5px 0 26px}.pv-recent-searches>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:11px}.pv-recent-searches .chip{display:flex;align-items:center;gap:6px}.pv-recent-searches .chip svg{width:14px;height:14px}
.pv-search-rail{margin-bottom:33px}.pv-search-section-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:14px}.pv-search-section-head h2{font-size:clamp(19px,2.7vw,25px);letter-spacing:-.04em;margin:4px 0 0}.pv-view-all{border:0;background:transparent;color:var(--accent);font-weight:800;display:flex;align-items:center;gap:5px;padding:7px;cursor:pointer;white-space:nowrap}.pv-view-all svg{width:16px}
.pv-search-carousel{display:grid;grid-auto-columns:minmax(152px,183px);grid-auto-flow:column;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:10px;padding:1px 2px 16px;scrollbar-width:thin}
.pv-search-carousel>.media-card{scroll-snap-align:start;min-width:0}
.pv-search-carousel .cover{border-radius:14px}.pv-search-carousel .media-card{background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}
.pv-search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:13px}
.pv-discover-tracks{display:grid;gap:4px}
.pv-search-back{border:0;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:4px;padding:0 0 20px;font-weight:750}.pv-search-back svg{width:17px}.pv-more-sentinel{display:grid;place-items:center;padding:20px}.pv-search-hint{margin:25px 0;border:1px dashed var(--line);border-radius:16px;padding:25px;text-align:center;color:var(--muted)}
.pv-install-offer{text-align:center;display:grid;gap:12px;justify-items:center;padding:15px 5px 8px}.pv-install-emblem{display:grid;place-items:center;width:82px;height:82px;border-radius:25px;background:var(--surface);box-shadow:0 0 0 9px color-mix(in srgb,var(--accent) 9%,transparent)}.pv-install-emblem img{width:70px;height:70px;border-radius:20px}.pv-install-label{font-size:11px;color:var(--accent);font-weight:900;letter-spacing:.11em}.pv-install-offer h2{margin:0;font-size:29px;letter-spacing:-.05em}.pv-install-offer p{max-width:370px;font-size:14px;color:var(--muted);margin:0;line-height:1.6}.pv-install-offer-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:12px}.pv-install-offer-actions button svg{width:17px;height:17px}
@media(max-width:760px){.pv-search-intro{padding:18px 14px;gap:11px}.pv-search-bubble{width:49px;height:49px;border-radius:15px}.pv-search-bubble svg{width:23px;height:23px}.pv-search-intro h1{font-size:30px}.pv-search-intro p{font-size:12px}.pv-search-carousel{grid-auto-columns:minmax(137px,42vw);gap:10px}.pv-search-section-head h2{font-size:19px}#pvSearchPageForm,.pv-search-inline{gap:8px;padding:7px 8px 7px 12px;min-height:58px}.pv-search-voice,.pv-search-submit{width:40px;height:40px;border-radius:12px}.pv-search-voice svg,.pv-search-submit svg{width:19px;height:19px}.pv-search-page-box{margin-bottom:19px}.pv-search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
@media(max-width:380px){.topbar-actions{gap:3px!important}.topbar-actions #topSearchBtn,.topbar-actions #topSettingsBtn{width:34px;min-width:34px;height:34px}.topbar-brand .brand-name{font-size:15px!important}.pv-search-intro h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){.mobile-nav-item,.pv-search-voice,.pv-search-submit{transition:none}}
/* Keep the offline notice below PlayVibe's branded header, never on top of it. */
.offline-banner{top:calc(var(--topbar) + 8px)}
body:has(#offlineBanner:not([hidden])) #view{padding-top:94px}
@media(max-width:760px){
 .offline-banner{top:calc(var(--topbar) + 7px)}
 body:has(#offlineBanner:not([hidden])) #view{padding-top:115px}
}

#installAppBtn[hidden]{display:none!important}
.offline-banner .icon-btn{color:var(--text)!important;background:var(--surface-2);border:1px solid var(--line);width:35px;height:35px;flex:0 0 auto}
.offline-banner .icon-btn svg{display:block;width:17px;height:17px;stroke:currentColor}

/* v1.8: discoverable header shortcuts and navigation without duplicates */
.pv-header-shortcuts{display:flex;gap:8px;align-items:center;justify-content:flex-start;min-width:0}
.pv-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 13px;background:var(--surface-2);border:1px solid var(--line);color:var(--text);border-radius:999px;font-weight:760;font-size:12px;white-space:nowrap;cursor:pointer;transition:background .18s,transform .18s,border-color .18s}
.pv-shortcut svg{width:16px;height:16px;color:var(--accent)}
.pv-shortcut:hover{background:var(--surface-3);border-color:var(--line-strong);transform:translateY(-1px)}
.topbar{grid-template-columns:auto auto minmax(0,1fr) auto auto!important}
.sidebar{position:sticky;top:0;height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}
.main-shell{min-width:0}
.topbar{position:sticky!important;top:0;z-index:45}
/* Accessible confirmation and rename overlays */
.pv-confirm-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:rgba(4,7,17,.74);backdrop-filter:blur(10px)}
.pv-confirm-dialog{width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line-strong);border-radius:26px;padding:26px;background:var(--bg-soft);box-shadow:0 35px 90px rgba(0,0,0,.34);color:var(--text);animation:pvDialogIn .2s ease both}
@keyframes pvDialogIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.pv-confirm-dialog h2{font-size:23px;margin:12px 0 6px;line-height:1.2}.pv-confirm-dialog p{color:var(--muted);line-height:1.5;margin:0 0 20px}
.pv-confirm-symbol{height:46px;width:46px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,var(--surface-2));border-radius:14px;color:var(--accent)}.pv-confirm-symbol svg{width:24px}
.pv-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px;flex-wrap:wrap}
.pv-confirm-dialog input{height:45px;width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:0 12px;color:var(--text)}
.pv-danger-button{border:0;border-radius:12px;background:#c82e57;color:white;padding:11px 16px;font-weight:760;cursor:pointer}
.pv-danger-button:hover{background:#a81945}
/* Readable icon contrast on all pale themes, including artist/player/nav cards */
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) :is(.icon-btn,.nav-item,.mobile-nav-item,.account-btn,.topbar button,.track-actions button,.queue-item button,.player-bar button,.pv-shortcut,.sidebar button,.chip,.search-action,.pv-search-voice,.pv-search-submit,.pv-search-back,.pv-view-all){color:var(--text)}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) :is(.icon-btn,.nav-item,.mobile-nav-item,.account-btn,.topbar button,.track-actions button,.queue-item button,.player-bar button,.pv-shortcut) svg{stroke:currentColor;opacity:1}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) :is(.card-play,.play-main,.showcase-play,.primary-btn,.pv-search-submit){color:#fff!important}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) :is(.track-row,.media-card,.queue-item,.pv-search-rail,.home-chip,.settings-card){border-color:var(--line);}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .player-bar .player-meta strong{color:var(--text)!important}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .player-bar .player-meta span{color:var(--muted)!important}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .full-player{--text:#fff;--muted:#d4d7e2;--surface-2:rgba(255,255,255,.12);--surface-3:rgba(255,255,255,.2);color:#fff;background:#111620}
:is(html[data-theme="light"],html[data-theme="ice"],html[data-theme="cream"],html[data-theme="lavender"],html[data-theme="mint"]) .full-player .icon-btn{color:#fff}
@media(max-width:760px){.topbar{grid-template-columns:auto minmax(0,1fr) auto!important;padding:8px 10px!important;gap:6px}.pv-header-shortcuts{justify-content:flex-end;gap:5px;min-width:0}.pv-shortcut{min-height:36px;padding:7px 9px;font-size:10px;gap:4px}.pv-shortcut svg{width:15px;height:15px}.topbar-actions{display:flex;justify-content:flex-end;gap:3px;min-width:0;max-width:none!important}.topbar .notification-btn,.topbar .install-app-btn{width:33px!important;height:36px!important}.topbar .account-btn{display:none}.topbar-brand .brand-name{display:inline!important;font-size:12px;letter-spacing:-.04em}.brand-mark.micro{width:30px!important;height:30px!important;border-radius:10px!important}.topbar-brand{gap:4px}.sidebar{display:none!important}}
@media(max-width:390px){.pv-shortcut{padding:7px 6px;font-size:9px}.topbar-brand .brand-name{font-size:10px}.topbar-actions .notification-btn{display:none!important}}
@media(prefers-reduced-motion:reduce){.pv-confirm-dialog,.pv-shortcut{animation:none;transition:none}}

/* Live, database-backed control-center experience knobs. */
@media(min-width:761px){.app,.app-shell,#app{--sidebar-width:var(--pv-admin-sidebar,252px)}.sidebar{width:var(--pv-admin-sidebar,252px)}.main-shell{max-width:var(--pv-admin-content,1500px)}}
.showcase-poster,.showcase-art{border-radius:var(--pv-admin-poster-radius,24px)}
.media-card,.cover{border-radius:var(--pv-admin-card-radius,18px)}
.secondary-btn,.primary-btn,.pv-shortcut{border-radius:var(--pv-admin-button-radius,12px)}
.nav-list,.mobile-nav{gap:var(--pv-admin-nav-gap,8px)}
.sidebar .nav-item{font-size:var(--pv-admin-sidebar-font,13px)}
.pv-shortcut{font-size:var(--pv-admin-shortcut-font,12px)}
.pv-search-carousel .cover{width:var(--pv-admin-search-art,52px)}
@media(max-width:760px){.mobile-nav-item svg{width:var(--pv-admin-mobile-icon,20px);height:var(--pv-admin-mobile-icon,20px)}.pv-shortcut{font-size:min(var(--pv-admin-shortcut-font,12px),10px)}}
.section{margin-bottom:var(--pv-admin-section-gap,26px)}
.media-card .cover img{transition:transform var(--pv-admin-animation,250ms)}
.media-card:hover .cover img{transform:scale(var(--pv-admin-artzoom,1.04))}

:root{--sidebar:var(--pv-admin-sidebar,252px);--topbar:var(--pv-admin-header-height,72px)}
body{font-size:calc(14px * var(--pv-admin-fontscale,1))}
.nav-list{gap:var(--pv-admin-nav-gap,8px)}
.topbar{min-height:var(--pv-admin-header-height,72px)}
@media(max-width:760px){.topbar{min-height:60px}}

/* PlayVibe Mini 1.9 — square music discovery, responsive rails, scrolling and clean forms. */
.showcase-art{aspect-ratio:1 / 1}
.showcase-poster{flex-basis:clamp(208px,24vw,318px)}
.showcase-overlay strong{font-size:clamp(20px,2.2vw,30px)}
.showcase-track{scroll-padding-inline:2px;scroll-behavior:smooth}
.showcase-caption{background:var(--surface);min-height:65px}
.showcase-heading{margin-bottom:14px}
.showcase-foot{margin-bottom:21px}
.pv-vibe-rail{display:none}
.pv-vibe-rail-track{display:flex;overflow-x:auto;overflow-y:hidden;gap:11px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:3px 2px 13px;scroll-behavior:smooth}
.pv-vibe-rail-track::-webkit-scrollbar{display:none}
.pv-vibe-rail-cell{flex:0 0 min(45vw,190px);min-width:0;scroll-snap-align:start}
.pv-vibe-rail-cell .media-card{height:100%}
.pv-vibe-rail-cell .cover{aspect-ratio:1}
.pv-rail-count{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;white-space:nowrap}
.pv-rail-count svg{width:13px;height:13px}
.pv-home-endless{margin-top:32px;padding-bottom:24px}
.pv-home-endless .section-title-row{margin:0 0 14px}
.pv-home-endless .section-title-row h2{font-size:clamp(23px,3vw,31px);letter-spacing:-.035em;margin:3px 0 0}
.pv-home-feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(166px,1fr));gap:13px}
.pv-home-feed-grid .media-card{min-width:0}
#pvHomeFeedSentinel{margin:18px auto 10px;min-height:52px}
#pvHomeFeedSentinel[data-loading="1"]{opacity:.55;pointer-events:none}
.pv-scroll-jump{position:fixed;z-index:45;right:22px;bottom:105px;width:49px;height:49px;display:grid;place-items:center;cursor:pointer;border-radius:17px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--surface) 91%,transparent);color:var(--text);box-shadow:0 12px 35px #0005;backdrop-filter:blur(18px);transition:opacity .18s,transform .18s,border-color .18s}
.pv-scroll-jump svg{width:22px;height:22px}
.pv-scroll-jump:hover{transform:translateY(-3px);border-color:var(--accent)}
.pv-scroll-jump[hidden]{display:none!important}
.pv-explore-intro{margin:3px 0 13px}
.pv-explore-intro h2{font-size:clamp(24px,3vw,33px);letter-spacing:-.04em;margin:0}
.pv-explore-intro p{color:var(--muted);margin:5px 0 0;font-size:13px}
.pv-explore-tags{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:2px 1px 11px;margin:0 0 17px}
.pv-explore-tags::-webkit-scrollbar{display:none}
.pv-explore-tags .chip{flex:0 0 auto;scroll-snap-align:start;border-radius:999px;padding:0 17px;height:38px;font-size:13px;color:var(--text)}
/* Titles should not look like separate cards. Keep essential actions visible. */
.page-head{background:transparent!important;box-shadow:none!important;border:none!important;padding:0!important;border-radius:0!important;min-height:0!important}
.page-head .page-title{font-size:clamp(22px,3vw,35px)}
.pv-playlist-form{display:grid;gap:16px;padding-top:6px}
.pv-playlist-form .field{display:grid;gap:7px}
.pv-playlist-form label{display:block;color:var(--text);font-size:13px;font-weight:760;letter-spacing:.01em}
.pv-playlist-form input:not([type=checkbox]),.pv-playlist-form textarea{display:block;width:100%;min-width:0;min-height:50px;margin:8px 0 0;padding:13px 15px;border:1px solid var(--line-strong);border-radius:15px;outline:none;color:var(--text);background:var(--surface-2);font:inherit;transition:border-color .18s,box-shadow .18s,background .18s}
.pv-playlist-form .field>input,.pv-playlist-form .field>textarea{margin-top:0}
.pv-playlist-form textarea{min-height:88px;resize:vertical}
.pv-playlist-form input:focus,.pv-playlist-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent);background:var(--surface)}
.pv-playlist-form label.helper{display:flex;align-items:center;gap:9px;color:var(--muted);line-height:1.45;font-weight:550}
.pv-playlist-form input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}
.pv-playlist-form .form-actions{display:flex;justify-content:flex-end;gap:9px}
.pv-search-history{padding:13px 15px;border-radius:18px;background:var(--surface);border:1px solid var(--line);margin-bottom:18px}
.pv-search-history-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.pv-search-history-top strong{font-size:14px;color:var(--text)}
.pv-quiet-danger{border:0;background:none;color:var(--muted);padding:7px 8px;border-radius:9px;cursor:pointer;font-size:12px;font-weight:650}
.pv-quiet-danger:hover{background:color-mix(in srgb,red 10%,var(--surface));color:#d45b65}
.pv-search-history-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:7px}
.pv-search-history-item{display:flex;align-items:center;min-width:0;border-radius:12px;border:1px solid var(--line);background:var(--surface-2)}
.pv-search-history-open{min-width:0;flex:1;display:flex;align-items:center;text-align:left;gap:8px;border:0;color:var(--text);background:none;cursor:pointer;padding:11px;font-size:13px}
.pv-search-history-open span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-search-history-open svg{flex:none;width:16px;height:16px;color:var(--accent)}
.pv-search-history-delete{border:0;background:transparent;cursor:pointer;color:var(--muted);width:35px;height:40px;flex:none;display:grid;place-items:center;border-radius:10px}
.pv-search-history-delete:hover{color:#d15f68;background:color-mix(in srgb,red 10%,var(--surface))}
.pv-search-history-delete svg{width:15px;height:15px}
.pv-search-history-more{margin:12px auto 0;display:block}
@media(max-width:760px){
  .showcase-heading h1{font-size:clamp(23px,7vw,36px)}
  .showcase-heading p:not(.eyebrow){font-size:12px}
  .showcase-heading{gap:8px}
  .showcase-arrows .icon-btn{width:34px;height:34px}
  .showcase-poster{flex:0 0 clamp(205px,69vw,310px);border-radius:19px}
  .showcase-art{aspect-ratio:1 / 1}
  .showcase-overlay strong{font-size:clamp(22px,5.8vw,30px)}
  .showcase-track{gap:11px;padding-bottom:7px}
  .showcase-caption{padding:9px 10px 10px}
  .showcase-artist-pic{width:33px;height:33px;flex-basis:33px}
  .showcase-play{width:40px;height:40px;flex-basis:40px}
  .showcase-foot{margin:3px 0 19px}
  .pv-vibe-rail{display:block;margin:19px 0 25px}
  .pv-vibe-rail .section-title-row h2{font-size:20px}
  .pv-home-feed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pv-home-feed-grid .media-card{padding:8px}
  .pv-scroll-jump{right:12px;bottom:calc(var(--player) + 58px + 17px);width:44px;height:44px;border-radius:15px}
  .pv-search-history-list{grid-template-columns:1fr}
  .pv-playlist-form input:not([type=checkbox]){min-height:52px}
}
@media(min-width:761px) and (max-width:1000px){.showcase-poster{flex-basis:clamp(220px,35vw,310px)}}
@media(prefers-reduced-motion:reduce){.pv-vibe-rail-track,.showcase-track{scroll-behavior:auto}.pv-scroll-jump{transition:none}}
