:root{--bg:#08090b;--panel:#111318;--panel2:#171a20;--soft:#22252d;--text:#f5f7fa;--muted:#969ca8;--line:#252932;--accent:#1ed760;--accent2:#72f6a0;--danger:#ff6b75;--player:rgba(15,16,20,.94);--shadow:0 20px 70px rgba(0,0,0,.32)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}button,input{font:inherit}button{color:inherit}.hidden{display:none!important}body.light{--bg:#f4f5f7;--panel:#fff;--panel2:#f1f2f4;--soft:#e4e7eb;--text:#14161a;--muted:#6c727d;--line:#dde1e6;--player:rgba(255,255,255,.96);--shadow:0 18px 55px rgba(20,25,35,.12)}body{padding-bottom:92px}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:calc(100vh - 92px)}.sidebar{position:fixed;z-index:45;left:0;top:0;bottom:92px;width:244px;padding:22px 15px;background:#050607;border-right:1px solid #111318;overflow:auto}.light .sidebar{background:#fff;border-color:var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:850;letter-spacing:-.3px;padding:0 8px 22px}.brand.big{justify-content:center;font-size:21px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent);color:#071109;font-weight:950;box-shadow:0 0 28px rgba(30,215,96,.2)}.nav{display:grid;gap:4px}.nav-item,.new-playlist{width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:10px;color:#a8adb6;cursor:pointer;font-weight:650;display:flex;align-items:center;gap:12px}.nav-item:hover,.nav-item.active{background:#15181d;color:#fff}.light .nav-item:hover,.light .nav-item.active{background:#eef0f2;color:#111}.nav-item span{width:20px;text-align:center;font-size:18px}.nav-label{font-size:10px;color:#666d79;font-weight:800;letter-spacing:1.5px;padding:20px 12px 7px}.new-playlist{margin-top:14px;border:1px solid #242932;justify-content:center;color:#d8dbe0}.light .new-playlist{border-color:var(--line);color:var(--text)}.sidebar-foot{font-size:11px;color:#5e646e;line-height:1.7;padding:25px 12px}.main{grid-column:2;min-width:0}.topbar{height:70px;position:sticky;top:0;z-index:35;display:flex;align-items:center;gap:12px;padding:10px 28px;background:linear-gradient(to bottom,var(--bg) 70%,transparent);backdrop-filter:blur(12px)}.search-wrap{height:44px;max-width:560px;flex:1;display:flex;align-items:center;gap:8px;padding:0 13px;border-radius:22px;background:var(--panel2);border:1px solid var(--line)}.search-wrap input{border:0;outline:0;background:transparent;color:var(--text);width:100%}.search-wrap button{border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.profile-wrap{margin-left:auto;position:relative;display:flex;gap:8px}.theme-btn,.icon-btn{border:1px solid var(--line);background:var(--panel2);width:42px;height:42px;border-radius:50%;cursor:pointer}.profile-pill{height:44px;border:1px solid var(--line);background:var(--panel2);border-radius:24px;padding:4px 10px 4px 5px;display:flex;align-items:center;gap:8px;cursor:pointer}.profile-pill img{width:34px;height:34px;border-radius:50%;object-fit:cover}.profile-pill span{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.profile-menu{display:none;position:absolute;right:0;top:52px;width:240px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.profile-menu.open{display:block}.profile-menu div{padding:8px 10px 12px;border-bottom:1px solid var(--line)}.profile-menu strong,.profile-menu span{display:block;overflow:hidden;text-overflow:ellipsis}.profile-menu span{font-size:12px;color:var(--muted);margin-top:3px}.profile-menu button{width:100%;border:0;background:transparent;text-align:left;padding:11px 10px;cursor:pointer;color:var(--danger)}.content{padding:10px 28px 40px}.view{display:none}.view.active{display:block}.welcome{min-height:250px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:34px;border-radius:24px;background:radial-gradient(circle at 80% 0%,rgba(30,215,96,.26),transparent 34%),linear-gradient(135deg,#1c2520,#111318 58%,#0f1013);border:1px solid #29332d;overflow:hidden}.light .welcome{background:radial-gradient(circle at 80% 0%,rgba(30,215,96,.25),transparent 38%),linear-gradient(135deg,#f2fff7,#fff)}.welcome h1{font-size:clamp(32px,4.5vw,62px);line-height:1;margin:8px 0 14px;letter-spacing:-2.4px}.welcome p{color:var(--muted);margin:0;max-width:590px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:900;color:var(--accent2)}.primary-btn{border:0;border-radius:24px;background:var(--accent);color:#071109;padding:12px 18px;font-weight:850;cursor:pointer;white-space:nowrap}.primary-btn:hover{transform:scale(1.02)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.stat-card{padding:18px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}.stat-card b{display:block;font-size:26px}.stat-card span{font-size:12px;color:var(--muted)}.section{margin:34px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:14px}.section-head h2{margin:4px 0 0;font-size:24px;letter-spacing:-.7px}.section-head small{color:var(--muted)}.text-btn,.back-btn{border:0;background:transparent;color:#c9cdd4;cursor:pointer;font-weight:700}.light .text-btn,.light .back-btn{color:#4b5059}.text-btn.danger{color:var(--danger)}.card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.music-card{min-width:0;padding:10px;border-radius:15px;background:var(--panel);border:1px solid transparent;cursor:pointer;transition:.18s}.music-card:hover{background:var(--panel2);border-color:var(--line);transform:translateY(-2px)}.cover-wrap{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--soft)}.cover-wrap img{width:100%;height:100%;object-fit:cover}.card-play{position:absolute;right:9px;bottom:9px;width:42px;height:42px;border-radius:50%;border:0;background:var(--accent);color:#061007;font-weight:900;opacity:0;transform:translateY(8px);transition:.18s;box-shadow:0 8px 22px rgba(0,0,0,.34)}.music-card:hover .card-play{opacity:1;transform:translateY(0)}.music-card h3{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:10px 2px 3px}.music-card p{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 2px}.track-list{display:grid;gap:3px}.track-row{display:grid;grid-template-columns:48px minmax(180px,1.4fr) minmax(100px,1fr) 60px 120px;gap:12px;align-items:center;min-height:58px;padding:6px 10px;border-radius:10px}.track-row:hover{background:var(--panel2)}.track-cover{width:46px;height:46px;object-fit:cover;border-radius:7px;background:var(--soft)}.track-meta{min-width:0}.track-meta strong,.track-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-meta strong{font-size:13px}.track-meta span,.track-album,.track-duration{font-size:12px;color:var(--muted)}.row-actions{display:flex;justify-content:flex-end;gap:3px}.row-btn{border:0;background:transparent;color:var(--muted);width:34px;height:34px;border-radius:50%;cursor:pointer}.row-btn:hover,.row-btn.active{background:var(--soft);color:var(--accent)}.rank-badge{font-size:18px;font-weight:900;color:var(--muted);text-align:center}.ranked .track-row{grid-template-columns:32px 48px minmax(180px,1.4fr) minmax(90px,.8fr) 60px 120px}.play-count{font-size:12px;color:var(--accent2)}.status-card{padding:18px;border:1px dashed var(--line);border-radius:13px;color:var(--muted);background:var(--panel);margin:8px 0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chips button,.period-tabs button{border:1px solid var(--line);background:var(--panel2);color:var(--muted);border-radius:18px;padding:7px 11px;cursor:pointer}.period-tabs button.active{background:var(--text);color:var(--bg)}.group-grid,.playlist-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.group-card,.playlist-card{padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:16px;cursor:pointer;min-width:0}.group-card:hover,.playlist-card:hover{background:var(--panel2)}.group-cover,.playlist-card-cover{aspect-ratio:1;border-radius:14px;background:linear-gradient(145deg,#24412f,#15181d);overflow:hidden;display:grid;place-items:center;font-size:44px;margin-bottom:11px}.group-cover.artist{border-radius:50%}.group-cover img,.playlist-card-cover img{width:100%;height:100%;object-fit:cover}.group-card strong,.playlist-card strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-card span,.playlist-card span{font-size:12px;color:var(--muted)}.playlist-hero{display:flex;align-items:end;gap:22px;margin:18px 0 28px}.playlist-cover{width:180px;height:180px;flex:0 0 180px;border-radius:16px;display:grid;place-items:center;font-size:62px;background:linear-gradient(145deg,#235b38,#14171b);overflow:hidden}.playlist-cover img{width:100%;height:100%;object-fit:cover}.playlist-hero h2{font-size:40px;margin:5px 0}.playlist-hero p{color:var(--muted)}.hero-actions{display:flex;gap:8px}.queue-panel{position:fixed;z-index:50;right:-390px;top:0;bottom:92px;width:370px;padding:20px;background:var(--panel);border-left:1px solid var(--line);transition:.22s;box-shadow:var(--shadow)}.queue-panel.open{right:0}.queue-head{display:flex;justify-content:space-between;align-items:center}.queue-head h3{margin:4px 0}.queue-list{display:grid;gap:5px;margin-top:14px;overflow:auto;max-height:calc(100vh - 170px)}.queue-item{display:grid;grid-template-columns:44px 1fr 32px;align-items:center;gap:9px;padding:7px;border-radius:10px;cursor:pointer}.queue-item:hover,.queue-item.active{background:var(--panel2)}.queue-item img{width:44px;height:44px;object-fit:cover;border-radius:6px}.queue-item strong,.queue-item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item strong{font-size:12px}.queue-item span{font-size:11px;color:var(--muted)}.player{position:fixed;z-index:60;left:0;right:0;bottom:0;height:92px;background:var(--player);backdrop-filter:blur(18px);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(250px,1fr) minmax(360px,1.4fr) minmax(220px,1fr);align-items:center;padding:10px 18px}.now-track{display:flex;align-items:center;gap:10px;min-width:0}.now-track>img{width:58px;height:58px;border-radius:8px;object-fit:cover;background:var(--soft)}.now-meta{min-width:0}.now-meta strong,.now-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-meta strong{font-size:13px}.now-meta span{font-size:11px;color:var(--muted);margin-top:2px}.like-btn{border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.like-btn.active{color:var(--accent)}.player-center{display:grid;gap:7px}.controls{display:flex;justify-content:center;align-items:center;gap:17px}.controls button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:17px}.controls button.active{color:var(--accent)}.controls .play-control{width:38px;height:38px;border-radius:50%;background:var(--text);color:var(--bg);font-size:15px}.progress-row{display:grid;grid-template-columns:36px 1fr 36px;gap:7px;align-items:center;font-size:10px;color:var(--muted)}input[type=range]{accent-color:var(--accent);height:3px}.player-extra{display:flex;justify-content:flex-end;align-items:center;gap:7px}.player-extra input{width:105px}.login-screen{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow:hidden;background:#060709}.login-card{position:relative;z-index:2;width:min(470px,calc(100% - 28px));padding:38px;border-radius:24px;background:rgba(18,20,24,.9);border:1px solid #2b3038;box-shadow:0 40px 120px rgba(0,0,0,.55);text-align:center;backdrop-filter:blur(16px)}.login-card h1{font-size:40px;line-height:1.04;letter-spacing:-1.7px;margin:8px 0 15px}.login-card h1 em{color:var(--accent);font-style:normal}.login-card p{color:#9ba1ab;line-height:1.6}.login-card small{display:block;color:#626974;margin-top:18px}.login-status{min-height:22px;margin-top:10px;color:#ff9098;font-size:12px}.setup-warning{padding:14px;background:#2b2113;border:1px solid #5c4424;border-radius:12px;color:#f4ca84;text-align:left}.login-orb{position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(20px);opacity:.28}.orb-a{background:#1ed760;left:-130px;top:-170px}.orb-b{background:#3878ff;right:-180px;bottom:-180px}.modal-backdrop{display:none;position:fixed;z-index:200;inset:0;background:rgba(0,0,0,.68);place-items:center}.modal-backdrop.open{display:grid}.modal{width:min(460px,calc(100% - 28px));max-height:80vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;position:relative}.modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:24px;cursor:pointer}.modal h3{margin:5px 0 14px}.playlist-pick{display:flex;align-items:center;justify-content:space-between;padding:11px;border-radius:10px;cursor:pointer}.playlist-pick:hover{background:var(--panel2)}#createPlaylistForm{display:flex;gap:8px;margin-top:13px;border-top:1px solid var(--line);padding-top:15px}#createPlaylistForm input{flex:1;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;padding:10px;outline:0}.toast{position:fixed;z-index:500;left:50%;bottom:112px;transform:translate(-50%,20px);opacity:0;background:#eef2f4;color:#101214;padding:10px 14px;border-radius:9px;font-weight:700;font-size:12px;transition:.18s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-only{display:none}
@media(max-width:1180px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.group-grid,.playlist-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.track-row{grid-template-columns:48px minmax(160px,1.3fr) minmax(80px,.8fr) 55px 112px}.player{grid-template-columns:1fr 1.4fr .7fr}.profile-pill span{display:none}}
@media(max-width:820px){body{padding-bottom:76px}.app-shell{display:block}.sidebar{bottom:76px;transform:translateX(-104%);transition:.2s;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.main{display:block}.mobile-only{display:inline-grid;place-items:center}.topbar{height:62px;padding:9px 12px}.content{padding:6px 12px 28px}.welcome{min-height:205px;padding:24px;align-items:flex-start;flex-direction:column}.welcome h1{font-size:38px}.stat-grid{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-grid,.playlist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.track-row{grid-template-columns:46px minmax(0,1fr) 104px;padding:6px 4px}.track-album,.track-duration{display:none}.ranked .track-row{grid-template-columns:28px 46px minmax(0,1fr) 104px}.ranked .track-album,.ranked .track-duration{display:none}.row-actions{gap:0}.player{height:76px;grid-template-columns:minmax(0,1fr) auto;padding:8px 10px}.player-center{grid-column:2}.player-center .progress-row,.controls button:not(.play-control),.player-extra{display:none}.player-center .controls{gap:0}.controls .play-control{display:block}.now-track>img{width:50px;height:50px}.queue-panel{bottom:76px;width:min(360px,92vw)}.playlist-hero{align-items:flex-start}.playlist-cover{width:120px;height:120px;flex-basis:120px}.playlist-hero h2{font-size:28px}.profile-menu{right:0}.period-tabs{display:flex;overflow:auto;max-width:60vw}.login-card{padding:28px 20px}.login-card h1{font-size:34px}}

/* Reca-play V3 additions */
.login-card-wide{width:min(560px,calc(100% - 24px));max-height:92vh;overflow:auto}.auth-tabs,.local-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#0d0f12;border:1px solid #252a31;border-radius:13px;padding:5px;margin:18px 0}.auth-tab,.local-mode{border:0;background:transparent;color:#8f96a1;padding:10px 12px;border-radius:9px;cursor:pointer;font-weight:800}.auth-tab.active,.local-mode.active{background:#21252c;color:#fff}.auth-panel{display:none}.auth-panel.active{display:block}.auth-form{display:none;gap:11px;text-align:left}.auth-form.active{display:grid}.auth-form label{display:grid;gap:6px;color:#aab0ba;font-size:12px;font-weight:700}.auth-form input{width:100%;height:44px;border:1px solid #2b3038;background:#111419;color:#f4f6f8;border-radius:11px;padding:0 12px;outline:0}.auth-form input:focus{border-color:#1ed760;box-shadow:0 0 0 3px rgba(30,215,96,.10)}.primary-btn.full{width:100%;justify-content:center}.otp-box{display:grid;gap:10px;margin-top:3px;padding:14px;border:1px solid #2a3038;border-radius:13px;background:#0d1014}.otp-info{font-size:12px;color:#9ea5af}.link-btn{border:0;background:transparent;color:#72f6a0;cursor:pointer;padding:4px;font-size:12px}.login-status.ok{color:#72f6a0}.light .auth-tabs,.light .local-mode-tabs,.light .otp-box{background:#f2f4f6;border-color:var(--line)}.light .auth-tab.active,.light .local-mode.active{background:#fff;color:#111}.light .auth-form input{background:#fff;color:#111;border-color:var(--line)}
.profile-menu span{display:block}.profile-menu #profileUsername{color:var(--accent);font-size:11px;margin-top:2px}.share-mini{border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer;width:34px;height:34px;border-radius:50%}.share-mini:hover{background:var(--soft);color:var(--text)}.share-track{display:grid;grid-template-columns:74px 1fr;gap:14px;align-items:center;padding:12px;background:var(--panel2);border:1px solid var(--line);border-radius:14px;margin:12px 0 16px}.share-track img{width:74px;height:74px;object-fit:cover;border-radius:10px}.share-track strong,.share-track span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-track span{font-size:12px;color:var(--muted);margin-top:5px}.share-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.share-btn{border:1px solid var(--line);background:var(--panel2);padding:11px 12px;border-radius:11px;cursor:pointer;font-weight:750}.share-btn:hover{background:var(--soft)}.primary-share{background:var(--accent);color:#071109;border-color:var(--accent)}.share-modal small{display:block;color:var(--muted);line-height:1.5;margin-top:14px}.section-head small{color:var(--muted)}
@media(max-width:820px){.login-card-wide{max-height:94vh}.share-grid{grid-template-columns:1fr 1fr}.now-track .share-mini{display:grid;place-items:center}.now-track{gap:7px}.now-meta{flex:1}.like-btn,.share-mini{flex:0 0 30px}}

/* Reca-play V3.1 — guest mode + streaming quality */
.guest-divider{display:flex;align-items:center;gap:12px;margin:18px 0 12px;color:#626974;font-size:11px;text-transform:uppercase;letter-spacing:1.4px}.guest-divider:before,.guest-divider:after{content:"";height:1px;background:#2b3038;flex:1}.guest-btn{width:100%;border:1px solid #343a43;background:transparent;color:#f4f6f8;border-radius:999px;padding:12px 16px;font-weight:800;cursor:pointer;transition:.18s}.guest-btn:hover{background:#1b1f24;border-color:#4a515c}.guest-login-note{font-size:11px!important;line-height:1.5!important;margin:10px 0 0!important;color:#737b86!important}.light .guest-btn{color:#111;border-color:var(--line)}.light .guest-btn:hover{background:#eef1f3}.light .guest-divider:before,.light .guest-divider:after{background:var(--line)}
.guest-banner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;margin:8px 0 18px;padding:13px 14px 13px 16px;border:1px solid rgba(30,215,96,.25);border-radius:14px;background:linear-gradient(90deg,rgba(30,215,96,.09),rgba(30,215,96,.025));box-shadow:0 10px 30px rgba(0,0,0,.08)}.guest-banner>div{min-width:0}.guest-banner strong,.guest-banner span{display:block}.guest-banner strong{font-size:13px}.guest-banner span{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.guest-banner-action{border:0;border-radius:999px;padding:9px 13px;background:var(--accent);color:#071109;font-weight:850;cursor:pointer;white-space:nowrap}.guest-banner-close{width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.guest-banner-close:hover{background:var(--soft);color:var(--text)}
.guest-gate{grid-column:1/-1;min-height:190px;padding:30px 22px;border:1px dashed var(--line);border-radius:18px;background:linear-gradient(145deg,var(--panel2),transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.guest-gate-icon{width:46px;height:46px;border-radius:15px;background:var(--accent);color:#071109;display:grid;place-items:center;font-weight:950;font-size:22px;box-shadow:0 10px 30px rgba(30,215,96,.18)}.guest-gate h3{margin:12px 0 5px}.guest-gate p{max-width:520px;margin:0 0 15px;color:var(--muted);font-size:12px;line-height:1.55}.guest-stat b{font-size:24px}.guest-stat span{font-size:11px}
#qualityBtn{font-size:10px;font-weight:900;letter-spacing:.2px;min-width:38px}.quality-modal{width:min(560px,calc(100% - 28px))}.quality-intro{color:var(--muted);font-size:12px;line-height:1.6}.quality-options{display:grid;gap:7px;margin:16px 0}.quality-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);color:var(--text);cursor:pointer;text-align:left;transition:.15s}.quality-option:hover{border-color:#4b535f;transform:translateY(-1px)}.quality-option.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(30,215,96,.08)}.quality-option strong,.quality-option span{display:block}.quality-option span{color:var(--muted);font-size:11px;margin-top:3px;line-height:1.4}.quality-option>b{font-size:10px;color:var(--muted);font-weight:800;white-space:nowrap}.quality-option.active>b{color:var(--accent)}.quality-fact{padding:12px 13px;border-radius:12px;background:rgba(255,190,70,.07);border:1px solid rgba(255,190,70,.18);color:var(--muted);font-size:11px;line-height:1.55}.quality-fact strong{color:var(--text)}.quality-live{display:flex;justify-content:space-between;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.quality-live strong{color:var(--text);text-align:right}
@media(max-width:820px){.guest-banner{grid-template-columns:minmax(0,1fr) auto}.guest-banner-action{grid-column:1/2;width:max-content}.guest-banner-close{grid-column:2;grid-row:1}.quality-option{padding:12px}.quality-live{display:grid;gap:4px}.topbar .theme-btn{width:34px;height:34px}.guest-gate{min-height:170px;padding:24px 16px}}

/* Reca-play V3.2 — Offline Library */
.offline-actions{display:flex;gap:8px;align-items:center}.offline-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 14px;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:var(--panel2)}.offline-summary strong,.offline-summary span{display:block}.offline-summary strong{font-size:16px}.offline-summary span{font-size:11px;color:var(--muted);margin-top:4px}.offline-badge{font-size:10px;font-weight:900;letter-spacing:1px;padding:7px 10px;border-radius:999px;background:rgba(30,215,96,.12);color:var(--accent);border:1px solid rgba(30,215,96,.22);white-space:nowrap}.offline-notice{display:grid;gap:4px;margin-bottom:18px;padding:13px 15px;border-left:3px solid var(--accent);background:rgba(30,215,96,.055);border-radius:0 12px 12px 0}.offline-notice strong{font-size:12px}.offline-notice span{font-size:11px;line-height:1.55;color:var(--muted)}.offline-modal{text-align:left}.offline-modal-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--accent);color:#071109;font-size:28px;font-weight:900;margin:14px 0}.offline-modal p{font-size:12px;line-height:1.65;color:var(--muted)}.offline-modal-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.offline-modal small{display:block;color:var(--muted);font-size:10px;line-height:1.55;padding-top:12px;border-top:1px solid var(--line)}.offline-row .track-cover{background:linear-gradient(145deg,#191d22,#0d1013)}#offlineCurrent.active{color:var(--accent);background:rgba(30,215,96,.10)}.like-btn:disabled{opacity:.35;cursor:not-allowed}.row-actions{min-width:145px}.track-row{grid-template-columns:48px minmax(160px,1.3fr) minmax(80px,.8fr) 55px 145px}
@media(max-width:820px){.offline-actions{width:100%;justify-content:flex-start}.offline-summary{align-items:flex-start}.offline-badge{margin-top:2px}.row-actions{min-width:104px}.track-row{grid-template-columns:46px minmax(0,1fr) 104px}.offline-row{grid-template-columns:46px minmax(0,1fr) 104px}.offline-modal-actions{display:grid}.offline-modal-actions>*{width:100%;justify-content:center}}
@media(max-width:820px){.row-actions{min-width:140px}.row-actions .row-btn{width:28px;height:28px}.track-row{grid-template-columns:46px minmax(0,1fr) 140px}.ranked .track-row{grid-template-columns:28px 46px minmax(0,1fr) 140px}.offline-row{grid-template-columns:46px minmax(0,1fr) 96px}.offline-row .row-actions{min-width:96px}}

/* Reca-play V3.3 — local SVG icon system */
.ui-icon{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.14em;flex:0 0 auto;color:currentColor;overflow:visible}
button .ui-icon{pointer-events:none}
.nav-item>.ui-icon{width:19px;height:19px;margin-right:10px}
.primary-btn .ui-icon,.text-btn .ui-icon,.new-playlist .ui-icon,.back-btn .ui-icon,.share-btn .ui-icon{width:16px;height:16px;margin-right:6px;vertical-align:-.2em}
.icon-btn .ui-icon,.share-mini .ui-icon,.like-btn .ui-icon,.row-btn .ui-icon,.controls button .ui-icon{width:19px;height:19px}
.play-control .ui-icon{width:22px!important;height:22px!important}
.search-wrap>.ui-icon{width:18px;height:18px;color:var(--muted)}
.profile-pill b .ui-icon{width:13px;height:13px}
.volume-icon{display:grid;place-items:center;color:var(--muted)}.volume-icon .ui-icon{width:18px;height:18px}
.offline-modal-icon .ui-icon{width:29px;height:29px}
.guest-gate-icon .ui-icon{width:23px;height:23px}
.playlist-cover .placeholder-icon{width:42px;height:42px;color:var(--muted)}
.stat-card b .ui-icon{width:20px;height:20px;margin-right:5px}

/* Reca-play V3.8 auth and audio-only UI */
.auth-shell{padding:34px 36px 28px;text-align:left}.auth-shell>.brand.big{justify-content:flex-start;padding:0 0 20px}.auth-stage{display:none}.auth-stage.active{display:block}.auth-kicker{display:block;font-size:10px;letter-spacing:1.7px;font-weight:900;color:var(--accent2);margin-bottom:9px}.auth-shell h1{margin:0 0 12px;font-size:clamp(34px,5vw,48px);line-height:1.02;letter-spacing:-2px}.auth-shell h2{margin:6px 0 10px;font-size:30px;letter-spacing:-1px}.auth-lead{margin:0 0 20px!important;color:#a3aab4!important;line-height:1.55!important}.auth-lead.compact{font-size:13px!important}.google-signin-wrap{display:flex;justify-content:center;padding:4px 0 2px;min-height:48px}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 12px;color:#686f79;font-size:10px;text-transform:uppercase;letter-spacing:1.2px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#2b3038;flex:1}.auth-choice-grid{display:grid;gap:9px}.auth-choice{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:11px;text-align:left;border:1px solid #2c323b;background:#12151a;color:#f4f6f8;border-radius:14px;padding:12px 13px;cursor:pointer;transition:.18s}.auth-choice:hover{border-color:#46505c;background:#171b21;transform:translateY(-1px)}.auth-choice-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#20252c;color:var(--accent2)}.auth-choice>span:nth-child(2){min-width:0}.auth-choice strong,.auth-choice small{display:block}.auth-choice strong{font-size:13px}.auth-choice small{font-size:11px;color:#7f8792;margin-top:3px}.auth-choice b{display:grid;place-items:center;color:#7d8590}.privacy-note{font-size:11px;color:#707883;line-height:1.5;margin-top:14px}.auth-back{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#aab0ba;padding:0 0 15px;cursor:pointer;font-weight:700}.auth-back:hover{color:#fff}.guest-access{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:18px;padding:14px;border-radius:15px;background:#0d1014;border:1px solid #252b33}.guest-access strong,.guest-access span{display:block}.guest-access strong{font-size:12px}.guest-access span{font-size:10px;color:#747d88;line-height:1.45;margin-top:3px}.guest-access .guest-btn{width:auto;padding:10px 14px;font-size:11px;white-space:nowrap}.login-status{min-height:20px;margin:12px 0 0;text-align:left}.light .auth-choice{background:#fff;color:#17191d;border-color:var(--line)}.light .auth-choice:hover{background:#f7f8f9}.light .auth-choice-icon{background:#eef7f1}.light .auth-divider:before,.light .auth-divider:after{background:var(--line)}.light .guest-access{background:#f7f8f9;border-color:var(--line)}.light .auth-back:hover{color:#111}



.source-attribution{display:block!important;margin-top:5px!important;font-size:9px!important;letter-spacing:.35px;color:var(--muted)!important;opacity:.72}.source-note{display:block;margin-top:10px;font-size:10px;color:var(--muted);opacity:.75}

/* HTML5 audio engine is intentionally control-less; Reca-play renders its own Spotify-like control bar. */
#audioPlayer{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
/* Provider credit required by the online audio catalog terms. Kept deliberately small so Reca-play remains the primary UI brand. */
.provider-credit{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;font-size:10px;line-height:1.2;color:var(--muted);text-decoration:none;opacity:.72;margin-top:3px}
.provider-credit:hover{opacity:1;text-decoration:underline}
.track-meta .provider-credit{font-size:9px;margin-top:1px}
.music-card .provider-credit{font-size:9px;margin-top:5px}

/* V3.8 deployment diagnostics */
.system-banner{position:fixed;z-index:1200;top:14px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 28px));display:flex;align-items:center;gap:16px;justify-content:space-between;padding:13px 16px;border:1px solid rgba(255,190,70,.28);background:rgba(34,26,12,.96);backdrop-filter:blur(18px);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.35);color:#fff}.system-banner.hidden{display:none}.system-banner div{display:flex;flex-direction:column;gap:3px}.system-banner strong{font-size:13px}.system-banner span{font-size:12px;color:rgba(255,255,255,.76);line-height:1.45}.system-banner button{border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer;line-height:1;padding:4px 8px}.light .system-banner{background:rgba(255,248,231,.98);color:#241c0d;border-color:rgba(148,99,0,.22)}.light .system-banner span,.light .system-banner button{color:#5d4a26}

/* Reca-play V3.9 — Smart Search + Indonesian editorial playlists */
.smart-intent{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0 10px;padding:15px 16px;border:1px solid rgba(30,215,96,.25);background:linear-gradient(135deg,rgba(30,215,96,.11),rgba(30,215,96,.025));border-radius:15px}.smart-intent>div{min-width:0}.smart-intent strong,.smart-intent small,.smart-kicker{display:block}.smart-intent strong{font-size:17px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-intent small{color:var(--muted);margin-top:3px}.smart-kicker{font-size:9px;font-weight:900;letter-spacing:1.3px;color:var(--accent)}.smart-suggestions{margin-bottom:10px}.smart-suggestions button{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-badge{display:inline-flex!important;width:max-content!important;margin-top:5px;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,190,78,.24);background:rgba(255,190,78,.08);color:#e9bb66!important;font-size:9px!important;font-weight:800}.track-unavailable{opacity:.88}.track-unavailable .track-cover{filter:saturate(.6)}.row-refine{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--panel2);padding:7px 9px;border-radius:9px;color:var(--text);cursor:pointer;font-size:11px;font-weight:750}.row-refine:hover{border-color:rgba(30,215,96,.35);color:var(--accent)}.row-refine .ui-icon{width:14px;height:14px}.editorial-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.editorial-card{padding:12px;border-radius:15px;background:var(--panel2);border:1px solid var(--line);cursor:pointer;transition:transform .18s,border-color .18s}.editorial-card:hover{transform:translateY(-2px);border-color:rgba(30,215,96,.28)}.editorial-art{aspect-ratio:1.45;border-radius:12px;margin-bottom:11px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 80% 20%,rgba(30,215,96,.45),transparent 34%),linear-gradient(145deg,#213c2b,#0c1110);overflow:hidden}.editorial-art span{font-size:38px;font-weight:950;letter-spacing:-2px}.editorial-art b{font-size:9px;letter-spacing:1.4px;color:#b9f9cd}.editorial-card>strong{display:block;font-size:14px}.editorial-card p{font-size:11px;line-height:1.45;color:var(--muted);min-height:32px;margin:5px 0}.editorial-card>small{font-size:10px;color:var(--muted)}.editorial-cover{font-size:44px;font-weight:950;letter-spacing:-2px;background:radial-gradient(circle at 75% 20%,rgba(30,215,96,.5),transparent 34%),linear-gradient(145deg,#213c2b,#0c1110)}.editorial-note{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--line);font-size:11px;line-height:1.55;color:var(--muted)}
@media(max-width:1180px){.editorial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.smart-intent{align-items:flex-start;flex-direction:column}.smart-intent .text-btn{width:100%;justify-content:center}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.editorial-art span{font-size:30px}}

/* Reca-play V4.1 — streaming-home refresh, local folders, Indonesia chart, playable resolver, external mixes */
.sidebar{background:#000;border-right-color:#090909}.main{background:linear-gradient(180deg,#171717 0,#0b0b0d 340px,#08090b 650px)}
.topbar{background:rgba(8,9,11,.78);backdrop-filter:blur(22px);border-bottom:1px solid rgba(255,255,255,.035)}
.content{max-width:1680px;margin:0 auto}.streaming-hero{min-height:220px;border:0;border-radius:0;margin:-10px -28px 18px;padding:34px 28px;background:linear-gradient(180deg,rgba(34,88,54,.95),rgba(18,35,25,.74) 58%,rgba(8,9,11,0))}.streaming-hero h1{font-size:clamp(34px,5vw,58px)}
.quick-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 24px}.quick-pick{position:relative;height:66px;display:grid;grid-template-columns:66px minmax(0,1fr) 46px;align-items:center;gap:12px;border:0;border-radius:5px;background:rgba(255,255,255,.09);overflow:hidden;cursor:pointer;text-align:left;font-weight:800;transition:.18s}.quick-pick:hover{background:rgba(255,255,255,.16)}.quick-cover{height:66px;display:grid;place-items:center;background:linear-gradient(145deg,#2a5f3c,#16331f);font-size:18px;font-weight:950;box-shadow:5px 0 18px rgba(0,0,0,.22)}.quick-pick i,.floating-play{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#071109;opacity:0;transform:translateY(5px);transition:.18s;box-shadow:0 8px 24px rgba(0,0,0,.4)}.quick-pick:hover i,.streaming-card:hover .floating-play{opacity:1;transform:none}.quick-pick i .ui-icon,.floating-play .ui-icon{width:18px;height:18px}
.compact-stats{margin:6px 0 18px}.compact-stats .stat-card{padding:13px 15px;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.055)}.compact-stats .stat-card b{font-size:18px}.home-shelf{margin:26px 0}.shelf-scroll{scrollbar-width:none}.shelf-scroll::-webkit-scrollbar{display:none}
.editorial-card.streaming-card{position:relative;border:0;background:#151515;padding:12px;border-radius:8px}.editorial-card.streaming-card:hover{background:#242424;border:0}.streaming-card .editorial-art{position:relative;aspect-ratio:1;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.32)}.streaming-card .floating-play{position:absolute;right:10px;bottom:10px}.streaming-card.tone-2 .editorial-art,.quick-pick.tone-2 .quick-cover{background:linear-gradient(145deg,#6b2a50,#2b1020)}.streaming-card.tone-3 .editorial-art,.quick-pick.tone-3 .quick-cover{background:linear-gradient(145deg,#43307b,#1d1536)}.streaming-card.tone-4 .editorial-art,.quick-pick.tone-4 .quick-cover{background:linear-gradient(145deg,#7a491c,#34200d)}.streaming-card.tone-5 .editorial-art,.quick-pick.tone-5 .quick-cover{background:linear-gradient(145deg,#225f68,#102d32)}.streaming-card.tone-6 .editorial-art,.quick-pick.tone-6 .quick-cover{background:linear-gradient(145deg,#5d5c23,#29280f)}
.music-card{background:#151515;border:0;border-radius:8px;padding:12px}.music-card:hover{background:#242424;border:0}.metadata-card .cover-wrap{background:linear-gradient(145deg,#25272a,#111214)}.rank-cover{width:100%;height:100%;display:grid;place-items:center;font-size:clamp(30px,4vw,58px);font-weight:950;color:rgba(255,255,255,.83);background:radial-gradient(circle at 75% 25%,rgba(30,215,96,.28),transparent 40%)}.local-card-badge{display:inline-block;margin-top:7px;color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.7px}.local-ready{color:var(--accent)!important;border-color:rgba(30,215,96,.25)!important;background:rgba(30,215,96,.08)!important}
.offline-summary{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center}.offline-summary>div:not(.offline-badge) strong,.offline-summary>div:not(.offline-badge) span{display:block}.offline-summary>div:not(.offline-badge) span{font-size:10px;color:var(--muted);margin-top:2px}.folder-chips{display:flex;gap:8px;overflow:auto;padding:10px 0 2px;scrollbar-width:none}.folder-chips::-webkit-scrollbar{display:none}.folder-chips button{display:flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line);background:var(--panel2);border-radius:999px;color:var(--text);padding:8px 11px;cursor:pointer}.folder-chips button span{color:var(--muted);font-size:10px}.folder-section{margin:18px 0 26px;scroll-margin-top:85px}.folder-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;padding:0 5px}.folder-head>div{display:flex;align-items:center;gap:10px;min-width:0}.folder-head>div>.ui-icon{width:24px;height:24px;color:var(--accent)}.folder-head strong,.folder-head small{display:block}.folder-head strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-head small{color:var(--muted);font-size:10px;margin-top:2px}
.auth-shell{border-radius:24px;background:rgba(12,13,15,.96);box-shadow:0 30px 100px rgba(0,0,0,.6);border-color:rgba(255,255,255,.08)}.login-screen{background:radial-gradient(circle at 20% 10%,rgba(30,215,96,.14),transparent 32%),radial-gradient(circle at 90% 90%,rgba(82,52,160,.14),transparent 36%),#050607}.guest-access{border-radius:12px}.auth-choice{border-radius:10px}
.light .main{background:linear-gradient(180deg,#edf5ef,#f4f5f7 400px)}.light .sidebar{background:#fff}.light .streaming-hero{background:linear-gradient(180deg,#ccebd6,rgba(244,245,247,0))}.light .music-card,.light .editorial-card.streaming-card{background:#fff}.light .music-card:hover,.light .editorial-card.streaming-card:hover{background:#eceeef}.light .quick-pick{background:rgba(20,25,30,.08)}
@media(max-width:1100px){.quick-picks{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.streaming-hero{margin:-10px -14px 14px;padding:26px 14px 22px;min-height:170px}.quick-picks{grid-template-columns:1fr 1fr;gap:7px}.quick-pick{height:54px;grid-template-columns:54px minmax(0,1fr) 30px;font-size:11px}.quick-cover{height:54px;font-size:14px}.quick-pick i{display:none}.compact-stats{grid-template-columns:repeat(2,1fr)}.home-shelf .card-grid,.home-shelf .editorial-grid{display:flex;overflow-x:auto;gap:10px;padding-bottom:4px}.home-shelf .music-card,.home-shelf .editorial-card{min-width:155px;width:155px}.offline-summary{grid-template-columns:1fr 1fr}.offline-badge{grid-column:1/-1;width:max-content}.folder-head{align-items:flex-start}.folder-head .text-btn{font-size:11px}.auth-shell{border-radius:18px}}
@media(max-width:430px){.quick-picks{grid-template-columns:1fr}.quick-pick:nth-child(n+5){display:none}.home-shelf .music-card,.home-shelf .editorial-card{min-width:145px;width:145px}}


/* V4.1 — external long-mix shelf + clearer playable states */
.external-mix-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.external-mix-card{background:#151515;border-radius:8px;padding:12px;cursor:pointer;transition:.18s}.external-mix-card:hover{background:#242424;transform:translateY(-2px)}.external-mix-art{position:relative;aspect-ratio:1.55;border-radius:7px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#26382d,#101512);box-shadow:0 8px 24px rgba(0,0,0,.35)}.external-mix-art img{width:100%;height:100%;object-fit:cover}.external-mix-art>span{font-size:34px;font-weight:950;letter-spacing:-1.5px}.external-mix-art>i{position:absolute;right:10px;bottom:10px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#071109;opacity:0;transform:translateY(6px);transition:.18s}.external-mix-card:hover .external-mix-art>i{opacity:1;transform:none}.external-mix-card>strong{display:block;margin-top:11px;font-size:14px}.external-mix-card>p{color:var(--muted);font-size:11px;line-height:1.45;min-height:48px}.external-mix-open{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;border:0;background:#242424;color:#fff;border-radius:999px;padding:8px 10px;font-weight:800;cursor:pointer}.external-mix-open:hover{background:var(--accent);color:#071109}.external-mix-open .ui-icon{width:14px;height:14px}.row-refine{min-width:94px;justify-content:center}.track-unavailable .availability-badge{color:#d0d0d0!important;border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.05)}
@media(max-width:1100px){.external-mix-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.home-shelf .external-mix-grid{display:flex;overflow-x:auto;gap:10px;padding-bottom:4px;scrollbar-width:none}.home-shelf .external-mix-grid::-webkit-scrollbar{display:none}.external-mix-card{min-width:190px;width:190px}.external-mix-art>i{opacity:1;transform:none}}

/* V4.2 catalog engine */
.catalog-entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:18px;margin:14px 0 6px}
.catalog-entity-card{min-width:0;padding:14px;border-radius:12px;background:rgba(255,255,255,.055);transition:transform .18s ease,background .18s ease;cursor:pointer;position:relative;overflow:hidden}
.catalog-entity-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.09)}
.catalog-entity-art{aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#16181d;position:relative;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.catalog-entity-art.round{border-radius:50%}
.catalog-entity-art img{width:100%;height:100%;object-fit:cover;display:block}
.catalog-entity-art i{position:absolute;right:9px;bottom:9px;width:42px;height:42px;border-radius:50%;background:#1ed760;color:#07150b;display:grid;place-items:center;opacity:0;transform:translateY(6px);transition:.18s ease;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.catalog-entity-card:hover .catalog-entity-art i{opacity:1;transform:none}
.catalog-kind{display:block;font-size:10px;font-weight:800;letter-spacing:.11em;color:#9ba1ab;margin-top:12px}
.catalog-entity-card strong{display:block;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-entity-card p{margin:5px 0 0;color:#aeb3bd;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-shelf{margin-top:26px}
.catalog-shelf .catalog-entity-grid.shelf-scroll{display:flex;overflow:auto;gap:16px;padding-bottom:8px;scrollbar-width:thin}
.catalog-shelf .catalog-entity-card{flex:0 0 175px}
.catalog-description{max-width:760px;color:#aeb3bd;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.catalog-hero .playlist-cover img{width:100%;height:100%;object-fit:cover}
#searchCatalogEntities:empty,#catalogDetailEntities:empty{display:none}
@media(max-width:700px){.catalog-entity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.catalog-entity-card{padding:10px}.catalog-shelf .catalog-entity-card{flex-basis:145px}.catalog-entity-art i{opacity:1;width:36px;height:36px}.catalog-description{-webkit-line-clamp:3}}

/* V4.3 trusted-device login */
.remember-row{display:flex!important;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line,#2a2f36);border-radius:12px;background:rgba(255,255,255,.035);cursor:pointer}.remember-row input{width:18px;height:18px;margin-top:2px;accent-color:#1ed760}.remember-row span{display:flex;flex-direction:column;gap:3px}.remember-row strong{font-size:13px}.remember-row small{opacity:.68;line-height:1.35}.track-row .availability-badge{margin-right:6px}


/* V4.4 — Spotify-like search controls and simple playback */
.search-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 14px}.search-type-tabs,.search-sort-tabs{display:flex;gap:7px;align-items:center;overflow:auto;scrollbar-width:none}.search-type-tabs::-webkit-scrollbar,.search-sort-tabs::-webkit-scrollbar{display:none}.search-type-tabs button,.search-sort-tabs button{border:1px solid rgba(255,255,255,.10);background:#202124;color:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer;transition:.16s}.search-type-tabs button:hover,.search-sort-tabs button:hover{background:#2b2d30}.search-type-tabs button.active,.search-sort-tabs button.active{background:#fff;color:#111;border-color:#fff}.track-submeta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.track-submeta .availability-badge{margin-top:0}.view-count{font-size:9px;color:var(--muted);font-weight:750}.row-smart-play{background:transparent;border:1px solid rgba(255,255,255,.22);border-radius:50%;width:34px;height:34px}.row-smart-play:hover{border-color:#fff;transform:scale(1.04)}.row-smart-play.loading{opacity:.55;animation:recaPulse .7s infinite alternate}.track-unavailable{opacity:1}.track-unavailable .track-cover{filter:none}.track-unavailable:hover{background:rgba(255,255,255,.055)}@keyframes recaPulse{to{transform:scale(.9);opacity:.35}}.light .search-type-tabs button,.light .search-sort-tabs button{background:#e8eaed;color:#151515;border-color:#d9dde2}.light .search-type-tabs button.active,.light .search-sort-tabs button.active{background:#151515;color:#fff;border-color:#151515}@media(max-width:820px){.search-controls{align-items:flex-start;flex-direction:column}.search-type-tabs,.search-sort-tabs{width:100%}.search-type-tabs button,.search-sort-tabs button{padding:7px 11px;font-size:11px}.row-smart-play{width:32px;height:32px}}


/* V4.6 — full-screen Now Playing + visible responsive mini video */
body.now-playing-open{overflow:hidden}.player{cursor:default}.player .now-track,.player .player-center{cursor:pointer}.now-playing-screen{position:fixed;z-index:95;inset:0;background:#08090b;color:#fff;visibility:hidden;opacity:0;transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.75,.2,1),opacity .2s ease,visibility .28s;overflow:auto;overscroll-behavior:contain}.now-playing-screen.open{visibility:visible;opacity:1;transform:translateY(0)}.now-playing-bg{position:fixed;inset:-36px;background-position:center;background-size:cover;filter:blur(42px) saturate(1.1);opacity:.32;transform:scale(1.12);pointer-events:none}.now-playing-shade{position:fixed;inset:0;background:linear-gradient(180deg,rgba(4,7,9,.28),rgba(5,7,9,.72) 48%,#07090b 88%);pointer-events:none}.now-playing-inner{position:relative;z-index:1;width:min(720px,100%);min-height:100%;margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) 24px calc(38px + env(safe-area-inset-bottom))}.np-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;position:sticky;top:0;z-index:4;padding:4px 0 16px}.np-header>div{text-align:center;min-width:0}.np-header span,.np-header strong{display:block}.np-header span{font-size:10px;letter-spacing:.13em;opacity:.72;font-weight:800}.np-header strong{font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np-icon-btn,.np-like,.np-controls button,.np-actions button{border:0;background:transparent;color:#fff;cursor:pointer}.np-icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.np-icon-btn:hover{background:rgba(255,255,255,.1)}.np-main{display:grid;gap:24px}.np-visual{display:grid;place-items:center;min-height:220px}.np-artwork{width:min(72vw,480px);aspect-ratio:1;border-radius:18px;overflow:hidden;background:#171a20;box-shadow:0 24px 75px rgba(0,0,0,.48)}.np-artwork img{width:100%;height:100%;object-fit:cover;display:block}.np-video-shell{width:min(100%,440px);height:clamp(200px,55vw,248px);min-height:200px;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 22px 70px rgba(0,0,0,.48)}.np-video-shell iframe,#youtubePlayerHost{display:block;width:100%!important;height:100%!important;min-height:200px;border:0}.np-info{width:min(560px,100%);margin:0 auto}.np-title-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:14px}.np-title-row h1{font-size:clamp(25px,6vw,34px);line-height:1.08;letter-spacing:-1px;margin:0 0 6px}.np-title-row p{margin:0;color:#d0d4da;font-size:16px}.np-title-row small{display:block;margin-top:6px;color:#9299a4;font-size:10px;font-weight:750;letter-spacing:.04em}.np-like{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#1ed760}.np-like .ui-icon{width:29px;height:29px}.np-progress{margin-top:22px}.np-progress input{width:100%;accent-color:#fff}.np-progress>div{display:flex;justify-content:space-between;margin-top:2px;font-size:11px;color:#c5c8cf}.np-controls{display:grid;grid-template-columns:44px 58px 82px 58px 44px;align-items:center;justify-content:space-between;margin-top:18px}.np-controls button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%}.np-controls button.active{color:#1ed760}.np-controls .np-play{width:76px;height:76px;background:#fff;color:#060708;justify-self:center}.np-controls .np-play .ui-icon{width:31px;height:31px}.np-controls #npPrev,.np-controls #npNext{width:58px;height:58px}.np-controls #npPrev .ui-icon,.np-controls #npNext .ui-icon{width:31px;height:31px}.np-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.1);margin-top:22px;padding-top:15px}.np-actions button{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;color:#d4d8de;font-size:12px}.np-actions button:hover{background:rgba(255,255,255,.08)}.np-lyrics{margin-top:18px;padding:20px;border-radius:18px;background:linear-gradient(145deg,rgba(20,107,69,.88),rgba(10,68,48,.82));min-height:130px}.np-lyrics>div{display:flex;justify-content:space-between;gap:12px}.np-lyrics strong{font-size:20px}.np-lyrics span{font-size:10px;opacity:.72}.np-lyrics p{font-size:14px;line-height:1.6;margin:22px 0 0;opacity:.82}.player.has-track .now-track{cursor:pointer}@media(max-width:820px){.now-playing-inner{padding-left:18px;padding-right:18px}.np-main{gap:20px}.np-artwork{width:min(82vw,420px)}.np-video-shell{width:min(100%,420px);height:max(200px,calc((100vw - 36px)*.5625))}.np-title-row h1{font-size:25px}.np-controls{grid-template-columns:38px 52px 72px 52px 38px}.np-controls .np-play{width:68px;height:68px}.np-header{padding-bottom:10px}}@media(max-width:390px){.now-playing-inner{padding-left:14px;padding-right:14px}.np-video-shell{height:200px}.np-controls{gap:2px}.np-title-row p{font-size:14px}.np-lyrics{padding:16px}}


/* Reca-play V4.7: mobile app shell, verified-video status, Android PWA */
.np-video-wrap{width:min(100%,480px);display:grid;gap:10px;justify-items:center}.np-video-wrap.hidden{display:none}.np-video-notice{width:100%;font-size:12px;line-height:1.45;color:#d8dce3;background:rgba(10,12,16,.72);border:1px solid rgba(255,255,255,.10);padding:10px 12px;border-radius:12px;text-align:center}.np-video-notice.hidden{display:none}.np-video-notice.busy{color:#fff}.profile-menu #installAppBtn{font-weight:800;color:#1ed760}
html,body{min-height:100%;min-height:100dvh}
@media(max-width:820px){
  body{min-height:100dvh;padding-bottom:76px;overscroll-behavior-y:none}
  .app-shell,.main{min-height:100dvh}
  .now-playing-screen{height:100dvh;min-height:100dvh;overscroll-behavior-y:contain}
  .now-playing-inner{width:100%;max-width:none;min-height:100dvh;padding:calc(8px + env(safe-area-inset-top)) 16px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column}
  .np-header{flex:0 0 auto;padding-bottom:6px}
  .np-main{flex:1;align-content:start;gap:14px}
  .np-visual{min-height:200px}
  .np-video-wrap{width:100%;max-width:420px}
  .np-video-shell{width:100%;height:max(200px,calc((100vw - 32px)*.5625));max-height:240px;border-radius:14px}
  .np-info{width:100%}
  .np-title-row h1{font-size:clamp(22px,6vw,28px)}
  .np-progress{margin-top:14px}
  .np-controls{margin-top:12px}
  .np-actions{margin-top:14px}
  .np-lyrics{margin-top:12px;min-height:110px}
}
@media(display-mode:standalone),(display-mode:fullscreen){
  body{min-height:100dvh;overscroll-behavior:none}
  .topbar{padding-top:max(9px,env(safe-area-inset-top))}
  .now-playing-screen{inset:0;height:100dvh}
}

/* Reca-play V4.8: resilient search feedback */
.search-empty-friendly{display:flex;flex-direction:column;gap:6px;padding:26px 22px;margin-top:10px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);color:var(--text)}
.search-empty-friendly strong{font-size:15px}.search-empty-friendly span{font-size:12px;line-height:1.55;color:var(--muted)}


/* Reca-play V4.9 — opt-in browser fullscreen */
.fullscreen-prompt{position:fixed;z-index:140;left:50%;bottom:max(18px,calc(12px + env(safe-area-inset-bottom)));transform:translateX(-50%);width:min(620px,calc(100% - 28px));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 15px;background:rgba(20,22,26,.96);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 22px 70px rgba(0,0,0,.48);backdrop-filter:blur(18px)}
.fullscreen-prompt.hidden{display:none}
.fullscreen-prompt-icon .brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px}
.fullscreen-prompt-copy{min-width:0}.fullscreen-prompt-copy strong,.fullscreen-prompt-copy span{display:block}.fullscreen-prompt-copy strong{font-size:14px}.fullscreen-prompt-copy span{margin-top:3px;font-size:11px;line-height:1.45;color:var(--muted)}
.fullscreen-prompt-actions{display:flex;align-items:center;gap:7px}.fullscreen-prompt-actions .primary-btn,.fullscreen-prompt-actions .text-btn{white-space:nowrap}
@media(max-width:640px){.fullscreen-prompt{grid-template-columns:auto 1fr;gap:10px;padding:13px;bottom:max(12px,env(safe-area-inset-bottom))}.fullscreen-prompt-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.fullscreen-prompt-actions button{width:100%}}

/* Reca-play V4.9.3 — reliable library/queue, Spotify-style artwork-first player, fullscreen search */
.stat-card{appearance:none;-webkit-appearance:none;width:100%;text-align:left;color:var(--text);font:inherit;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}
.stat-card:hover{transform:translateY(-2px);background:var(--panel2);border-color:rgba(30,215,96,.22)}
.stat-card .stat-number{font:inherit;color:inherit}
.queue-button{position:relative}.queue-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--accent);color:#071109;font-size:9px;font-weight:900;border:2px solid var(--panel)}
.queue-head{gap:10px}.queue-head small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.queue-head-actions{display:flex;align-items:center;gap:5px}.queue-head-actions .text-btn{font-size:11px}
.queue-item{grid-template-columns:44px minmax(0,1fr) 34px}.queue-item .queue-remove{opacity:.45}.queue-item:hover .queue-remove{opacity:1}.queue-item.active{box-shadow:inset 3px 0 0 var(--accent)}
.np-artwork{border-radius:12px;box-shadow:0 32px 90px rgba(0,0,0,.55)}
.np-video-wrap{padding:10px;border-radius:18px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08)}
.np-video-shell{border-radius:12px}.np-actions{justify-content:center}.np-actions button{min-width:94px;justify-content:center;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}
.np-meta-source{font-size:10px}.player.has-track{box-shadow:0 -8px 34px rgba(0,0,0,.12)}
.search-wrap{min-width:120px;visibility:visible!important;opacity:1!important}.search-wrap input{min-width:0}
.topbar{min-width:0}.profile-wrap{flex:0 0 auto;min-width:0}
@media(max-width:820px){
  .topbar{height:auto;min-height:62px;padding-top:max(9px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));display:flex;flex-wrap:nowrap}
  .search-wrap{order:2;flex:1 1 auto;max-width:none;min-width:0;height:42px;padding:0 11px}
  #menuBtn{order:1;flex:0 0 38px;width:38px;height:38px}
  .profile-wrap{order:3;margin-left:0;flex:0 0 auto}
  #qualityBtn,#themeBtn{display:none}
  .profile-pill{width:38px;height:38px;padding:2px;border-radius:50%;display:grid;place-items:center}
  .profile-pill img{width:32px;height:32px}.profile-pill span,.profile-pill>b{display:none}
  .queue-count{right:-5px;top:-6px}
}
@media(max-width:430px){
  .topbar{gap:7px;padding-left:8px;padding-right:8px}
  .search-wrap{min-width:0}.search-wrap>.ui-icon{flex:0 0 17px}.search-wrap input{font-size:13px}
  .search-wrap input::placeholder{font-size:12px}
  .np-actions{gap:6px}.np-actions button{min-width:0;flex:1;padding:9px 6px}
}
@media(display-mode:standalone),(display-mode:fullscreen){
  .topbar{position:sticky!important;top:0!important;z-index:80!important;min-height:calc(58px + env(safe-area-inset-top));padding-top:max(10px,env(safe-area-inset-top));background:rgba(8,9,11,.94)}
  .search-wrap{display:flex!important;visibility:visible!important;opacity:1!important;transform:none!important}
}
:fullscreen .topbar,:-webkit-full-screen .topbar{position:sticky!important;top:0!important;z-index:80!important;background:rgba(8,9,11,.96)}
:fullscreen .search-wrap,:-webkit-full-screen .search-wrap{display:flex!important;visibility:visible!important;opacity:1!important;min-width:0!important}


/* Reca-play V4.9.4 — Spotify-inspired search activity, Realme/fullscreen safe layout, professional footer */
.sidebar-foot{display:flex;flex-direction:column;gap:2px;padding:24px 12px 28px;color:#737984;line-height:1.45}
.sidebar-foot strong{font-size:11px;color:#a7adb7;font-weight:800;letter-spacing:.2px}.sidebar-foot span{font-size:10px}.sidebar-foot small{font-size:9px;color:#555c67}
.search-loading{min-height:112px;margin:12px 0 10px;padding:24px 20px;display:flex;align-items:center;justify-content:center;gap:18px;border-radius:16px;background:linear-gradient(135deg,rgba(30,215,96,.09),rgba(255,255,255,.025));border:1px solid rgba(30,215,96,.14);overflow:hidden;position:relative}
.search-loading::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.035) 48%,transparent 76%);transform:translateX(-100%);animation:recaSearchSweep 1.45s ease-in-out infinite;pointer-events:none}
.search-loading-mark{position:relative;z-index:1;width:54px;height:54px;display:flex;align-items:center;justify-content:center;gap:4px;border-radius:50%;background:#1ed760;box-shadow:0 0 0 7px rgba(30,215,96,.08),0 10px 30px rgba(0,0,0,.28)}
.search-loading-mark span{width:4px;border-radius:6px;background:#071109;animation:recaSearchBar .72s ease-in-out infinite alternate}.search-loading-mark span:nth-child(1){height:16px;animation-delay:-.32s}.search-loading-mark span:nth-child(2){height:28px;animation-delay:-.16s}.search-loading-mark span:nth-child(3){height:20px}
.search-loading-copy{position:relative;z-index:1;min-width:0}.search-loading-copy strong,.search-loading-copy span{display:block}.search-loading-copy strong{font-size:14px;color:var(--text)}.search-loading-copy span{margin-top:5px;font-size:11px;color:var(--muted);line-height:1.45}
@keyframes recaSearchBar{from{transform:scaleY(.45);opacity:.62}to{transform:scaleY(1.08);opacity:1}}@keyframes recaSearchSweep{to{transform:translateX(100%)}}
@media(max-width:820px){
  .sidebar{padding-top:calc(22px + env(safe-area-inset-top) + var(--reca-vv-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom));}
  body.reca-app-mode .sidebar{padding-top:calc(30px + env(safe-area-inset-top) + var(--reca-vv-top,0px));}
  body.reca-fullscreen-mode .sidebar{padding-top:calc(38px + env(safe-area-inset-top) + var(--reca-vv-top,0px));}
  body.reca-app-mode .topbar,body.reca-fullscreen-mode .topbar{padding-top:calc(12px + env(safe-area-inset-top) + var(--reca-vv-top,0px));min-height:calc(64px + env(safe-area-inset-top) + var(--reca-vv-top,0px));}
  .sidebar .brand{padding-bottom:16px}.sidebar .nav{scroll-margin-top:24px}
  .search-loading{min-height:100px;padding:20px 15px;gap:14px}.search-loading-mark{width:48px;height:48px;flex:0 0 48px}.search-loading-copy strong{font-size:13px}.search-loading-copy span{font-size:10px}
}
@media(max-width:430px){body.reca-fullscreen-mode .sidebar{padding-top:calc(42px + env(safe-area-inset-top) + var(--reca-vv-top,0px));}.content{padding-left:10px;padding-right:10px}.streaming-hero{margin-left:-10px;margin-right:-10px}.search-loading{justify-content:flex-start}}
@media(max-height:760px) and (max-width:820px){.sidebar .brand{padding-bottom:12px}.nav-item,.new-playlist{padding-top:9px;padding-bottom:9px}.nav-label{padding-top:14px}.sidebar-foot{padding-top:17px;padding-bottom:20px}}

/* Reca-play V4.9.7 — private account queue, playlist modal contrast, personal banner */
.playlist-pick{width:100%;border:1px solid var(--line);background:var(--panel2);color:var(--text);text-align:left;gap:12px;margin:6px 0;transition:.16s ease}
.playlist-pick span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:750}
.playlist-pick b{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:700}
.playlist-pick:hover,.playlist-pick:focus-visible{background:var(--soft);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));outline:none}
.playlist-pick:disabled{opacity:.58;cursor:wait}
.personal-promo-slot{width:100%;max-width:1180px;margin:34px auto 6px;padding:0;overflow:hidden;border-radius:18px}
.personal-promo-slot a{display:block;width:100%;line-height:0}
.personal-promo-slot img{display:block;width:100%;height:auto;max-height:280px;object-fit:cover;border-radius:18px;border:1px solid var(--line);background:var(--panel)}
#deletePlaylist:disabled{opacity:.55;cursor:wait}
@media(max-width:820px){.personal-promo-slot{margin:26px auto 8px;border-radius:14px}.personal-promo-slot img{max-height:220px;border-radius:14px}}
@media(max-width:430px){.personal-promo-slot{margin:22px auto 4px}.personal-promo-slot img{max-height:190px}}
.brand-mark{background:#08090b url('favicon.svg') center/cover no-repeat;color:transparent;font-size:0;overflow:hidden;border:1px solid #243129}

/* V4.9.8 - curated owner playlists */
.curated-home-section{position:relative;padding:20px;border:1px solid rgba(30,215,96,.14);border-radius:22px;background:linear-gradient(145deg,rgba(30,215,96,.07),rgba(255,255,255,.018) 55%,transparent)}
.light .curated-home-section{background:linear-gradient(145deg,rgba(30,215,96,.10),rgba(255,255,255,.9));border-color:rgba(18,150,68,.18)}
.curator-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(30,215,96,.22);border-radius:999px;background:rgba(30,215,96,.08);color:var(--accent2);font-size:11px;font-weight:850;white-space:nowrap}
.featured-playlist-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.featured-playlist-card{min-width:0;padding:10px;border-radius:16px;background:var(--panel);border:1px solid rgba(255,255,255,.045);cursor:pointer;transition:transform .18s,border-color .18s,background .18s}
.light .featured-playlist-card{border-color:var(--line)}
.featured-playlist-card:hover{transform:translateY(-3px);border-color:rgba(30,215,96,.28);background:var(--panel2)}
.featured-playlist-art{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#205c37,#111518)}
.featured-playlist-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.featured-playlist-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.62);font-size:42px;z-index:1}
.featured-playlist-placeholder .ui-icon{width:44px;height:44px}
.featured-official{position:absolute;z-index:4;left:8px;top:8px;display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;background:rgba(4,9,6,.78);backdrop-filter:blur(7px);color:#8df2ae;font-size:9px;font-weight:950;letter-spacing:.8px}
.featured-official .ui-icon{width:12px;height:12px}
.featured-play-button{position:absolute;z-index:4;right:9px;bottom:9px;width:42px;height:42px;border:0;border-radius:50%;background:var(--accent);color:#061007;display:grid;place-items:center;box-shadow:0 10px 25px rgba(0,0,0,.34);opacity:.95;cursor:pointer}
.featured-play-button .ui-icon{width:18px;height:18px}
.featured-playlist-copy{padding:10px 2px 2px;min-width:0}
.featured-playlist-copy strong,.featured-playlist-copy span,.featured-playlist-copy small{display:block;overflow:hidden;text-overflow:ellipsis}
.featured-playlist-copy strong{white-space:nowrap;font-size:13px}
.featured-playlist-copy span{white-space:nowrap;margin-top:4px;color:var(--muted);font-size:11px}
.featured-playlist-copy small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.45;min-height:0}
.curator-empty{padding:16px;border:1px dashed rgba(30,215,96,.22);border-radius:13px;color:var(--muted);font-size:12px;background:rgba(30,215,96,.035)}
.playlist-curator-line{display:flex;align-items:center;gap:7px;color:var(--accent2);font-size:12px;font-weight:700;margin:8px 0 12px}
.playlist-curator-line .ui-icon{width:15px;height:15px}
.featured-order-control{display:inline-flex;align-items:center;gap:7px;padding:4px 5px 4px 10px;border:1px solid var(--line);border-radius:22px;background:var(--panel2);color:var(--muted);font-size:11px}
.featured-order-control input{width:56px;border:0;outline:0;background:transparent;color:var(--text);font-weight:800;text-align:center}
.featured-order-control .text-btn{padding:7px 9px;border-radius:16px;background:var(--soft)}
#featurePlaylist.active{color:var(--accent2)}
.playlist-hero-copy{min-width:0}
.playlist-hero .hero-actions{flex-wrap:wrap;align-items:center}

@media(max-width:1100px){.featured-playlist-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}}
@media(max-width:820px){.curated-home-section{padding:15px;margin:20px 0}.featured-playlist-grid{display:flex;overflow-x:auto;gap:12px;padding-bottom:3px}.featured-playlist-card{flex:0 0 min(42vw,178px)}.curator-badge{display:none}.playlist-hero .hero-actions{gap:6px}.featured-order-control{width:100%;justify-content:flex-start}.featured-order-control input{margin-left:auto}}
@media(max-width:420px){.featured-playlist-card{flex-basis:46vw}.curated-home-section{padding:13px;border-radius:18px}.featured-playlist-copy small{display:none}.playlist-hero{gap:14px}.playlist-hero-copy{width:calc(100% - 126px)}.playlist-hero h2{font-size:24px;word-break:break-word}.playlist-hero .hero-actions{margin-left:calc(-120px - 14px);margin-top:18px;width:calc(100vw - 24px)}}
.playlist-card-cover{position:relative}.playlist-card-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.55)}.playlist-card-cover>img{position:relative;z-index:2}.playlist-featured-tag{position:absolute!important;z-index:3;left:8px;top:8px;padding:4px 6px;border-radius:999px;background:rgba(4,9,6,.82);color:#86efa9!important;font-size:9px!important;font-weight:900;letter-spacing:.7px;line-height:1}

/* V4.9.10 product polish */
.mix-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:-5px 0 13px;color:var(--muted);font-size:11px}.mix-legend span{display:inline-flex;align-items:center;gap:6px}.mix-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.mix-dot.familiar{background:var(--accent)}.mix-dot.discovery{background:#8b9cff}.offline-row img.track-cover{object-fit:cover}.offline-actions .danger{margin-left:auto}
@media(max-width:820px){.offline-actions .danger{margin-left:0}.mix-legend{gap:10px}}


/* V4.9.13 - Home curated playlists wrap vertically like Playlist page */
.featured-playlist-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;overflow:visible;padding-bottom:0}
.featured-playlist-card{min-width:0;flex:none}
@media(max-width:1180px){.featured-playlist-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.featured-playlist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:14px;padding-bottom:0}.featured-playlist-card{flex:none;width:auto}.curated-home-section{overflow:visible}}
@media(max-width:420px){.featured-playlist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.featured-playlist-card{flex:none}.featured-playlist-copy strong{font-size:12px}.featured-playlist-copy span{font-size:10px}}


/* V4.9.13 guest search allowance */
.guest-search-limit-modal{width:min(430px,calc(100vw - 28px));text-align:center;padding:30px 26px 24px}
.guest-search-limit-icon{width:58px;height:58px;border-radius:50%;margin:4px auto 16px;display:grid;place-items:center;background:rgba(29,185,84,.13);color:#1db954}
.guest-search-limit-icon svg{width:27px;height:27px}
.guest-search-limit-modal h3{margin:0 0 8px;font-size:1.35rem}
.guest-search-limit-modal p{margin:0 auto;color:var(--muted);line-height:1.55;max-width:340px}
.guest-search-limit-progress{display:flex;gap:7px;justify-content:center;margin:20px 0 22px}
.guest-search-limit-progress span{width:34px;max-width:14vw;height:5px;border-radius:999px;background:var(--line)}
.guest-search-limit-progress span.used{background:#1db954}
.guest-search-limit-actions{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
.guest-search-limit-actions .primary-btn,.guest-search-limit-actions .text-btn{min-width:126px}
@media(max-width:430px){.guest-search-limit-modal{width:calc(100vw - 20px);padding:26px 18px 20px}.guest-search-limit-actions{display:grid;grid-template-columns:1fr}.guest-search-limit-actions .primary-btn,.guest-search-limit-actions .text-btn{width:100%}}
