.music-track-row{grid-template-columns:52px minmax(0,1fr) auto}
#ntMusicMount{display:flex;flex:1 1 auto;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.music-modal>.music-card,#ntMusicMount>.music-card{flex:1 1 auto;min-height:0}.music-content>#ntMViewMine,.music-mine-shell{min-height:0;max-height:100%;overflow:hidden}.music-mine-content{contain:size layout;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.music-room-overlay{display:none;position:fixed;inset:0;background:rgba(3,7,18,.62);backdrop-filter:blur(9px) saturate(.72);-webkit-backdrop-filter:blur(9px) saturate(.72);z-index:100000}.music-room-overlay.open{display:block}
.music-room-modal{display:none;position:fixed;z-index:3291;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1160px,calc(100vw - 32px));height:min(780px,calc(100vh - 40px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid rgba(255,255,255,.65);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(235,242,255,.64));backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%);box-shadow:0 28px 80px rgba(30,41,59,.28),inset 0 1px 0 rgba(255,255,255,.8);color:#1e293b}.music-room-modal.open{display:block}.music-room-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 14px;border-bottom:1px solid rgba(148,163,184,.22)}.music-room-head b{display:block;font-size:20px}.music-room-head small{display:block;margin-top:4px;color:#64748b}.music-room-head button{width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.58);color:#475569;font-size:25px;line-height:1;cursor:pointer}.music-room-home,.music-room-inside{padding:20px 22px 24px}.music-room-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.music-room-modal button{border:0;border-radius:12px;padding:10px 14px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;cursor:pointer;font-weight:600}.music-room-modal button.secondary{background:rgba(255,255,255,.68);color:#475569;border:1px solid rgba(148,163,184,.28)}.music-room-modal button.danger{margin-right:auto;background:linear-gradient(135deg,#ef4444,#f97316)}.music-room-home h4{margin:0 0 10px;color:#475569}.music-room-list-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;margin:8px 0;background:rgba(255,255,255,.58)!important;color:#334155!important;border:1px solid rgba(148,163,184,.2)!important}.music-room-list-item small{margin-top:4px;color:#94a3b8}.music-room-muted{color:#94a3b8;font-size:13px}.music-room-form{display:grid;gap:14px;padding:22px}.music-room-form label{display:grid;gap:6px;color:#475569;font-size:13px;font-weight:600}.music-room-form input,.music-room-form select{width:100%;box-sizing:border-box;border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:11px 12px;background:rgba(255,255,255,.62);color:#1e293b;outline:none}.music-room-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.music-room-code{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700}.music-room-code code{font-size:12px;padding:4px 8px;border-radius:7px;background:rgba(99,102,241,.12);color:#6366f1}.music-room-code button{margin-left:auto;padding:7px 10px;font-size:12px}.music-room-current{display:grid;gap:4px;margin:22px 0 14px;padding:18px;border-radius:18px;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.68)}.music-room-current b{font-size:18px}.music-room-current span{color:#64748b}.music-room-controls{display:flex;gap:8px;margin-bottom:20px}.music-room-section-head{display:flex;align-items:center;justify-content:space-between;margin:12px 0 8px}.music-room-section-head button{padding:7px 10px;font-size:12px}.music-room-queue{display:grid;gap:7px;max-height:230px;overflow:auto}.music-room-queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.52)}.music-room-queue-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-room-queue-item small{color:#94a3b8}.music-room-queue-item button{padding:5px 8px;font-size:11px}.music-room-members{margin-top:18px;color:#64748b;font-size:13px}.music-room-members>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.music-room-members span{padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.62);color:#475569}.music-room-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.music-room-list-wrap{display:flex;align-items:center;gap:8px}.music-room-list-wrap .music-room-list-item{flex:1}.music-room-inline-delete{padding:7px 9px!important;background:rgba(239,68,68,.12)!important;color:#dc2626!important;font-size:12px}
.music-room-landing{min-height:100%;background:radial-gradient(circle at 72% 30%,rgba(68,46,153,.24),transparent 30%),#050912;color:#eef2ff}.music-room-landing-nav{height:70px;display:flex;align-items:center;gap:30px;padding:0 34px;border-bottom:1px solid rgba(139,92,246,.12);background:rgba(3,7,16,.88)}.music-room-landing-nav nav{display:flex;gap:28px;margin-left:90px}.music-room-landing-nav nav a{font-size:13px;color:#8d96aa}.music-room-landing-nav nav a.active{color:#fff}.music-room-landing-search{margin-left:auto;width:235px;padding:10px 15px;border-radius:22px;background:rgba(255,255,255,.06);color:#70798e;font-size:12px}.music-room-landing-nav>button,.music-room-hero-actions button{border:0;border-radius:22px;padding:11px 20px;background:linear-gradient(100deg,#7046ff,#5b9cff);color:#fff;font-weight:700;box-shadow:0 10px 24px rgba(102,78,255,.25)}.music-room-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d7a878,#704bcb);font-size:11px}.music-room-hero{display:grid;grid-template-columns:45% 55%;min-height:380px;border-bottom:1px solid rgba(139,92,246,.1)}.music-room-hero-copy{padding:68px 0 52px 70px;position:relative;z-index:2}.music-room-pill{display:inline-block;padding:6px 12px;border-radius:14px;background:#754cff;color:#fff;font-size:10px;font-weight:800}.music-room-hero h1{margin:22px 0 14px;font-size:40px;line-height:1.22;letter-spacing:.03em}.music-room-hero p{color:#8d96aa;font-size:14px;line-height:2}.music-room-hero-actions{display:flex;gap:13px;margin-top:28px}.music-room-hero-actions .ghost{background:transparent;border:1px solid rgba(255,255,255,.22);box-shadow:none}.music-room-hero-scene{position:relative;overflow:hidden;background:linear-gradient(110deg,#060b16 0%,rgba(31,29,79,.78) 42%,rgba(18,12,37,.92)),radial-gradient(circle at 60% 56%,#7652ff,transparent 28%)}.music-room-hero-scene:before{content:'';position:absolute;inset:12% 5% 0;background:linear-gradient(180deg,rgba(40,53,92,.5),rgba(8,12,25,.3));border-radius:40px 0 0 0;box-shadow:0 0 90px rgba(113,80,255,.28)}.music-room-hero-glow{position:absolute;left:45%;top:38%;display:grid;place-items:center;width:125px;height:125px;border:1px solid rgba(158,116,255,.5);border-radius:50%;color:#fff;font-size:64px;text-shadow:0 0 26px #b18cff;box-shadow:0 0 40px rgba(128,87,255,.5),inset 0 0 30px rgba(128,87,255,.2)}.music-room-hero-wave{position:absolute;left:25%;right:8%;bottom:28%;height:4px;background:linear-gradient(90deg,transparent,#9d78ff,transparent);box-shadow:0 0 20px #825cff}.music-room-floating-user{position:absolute;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#e4b7a1,#6254b7);border:4px solid rgba(115,82,255,.32);box-shadow:0 0 22px rgba(137,102,255,.55)}.u1{left:25%;top:30%}.u2{right:20%;top:38%}.music-room-popular{padding:24px 55px}.music-room-section-title{display:flex;align-items:center;justify-content:space-between}.music-room-section-title h2{font-size:18px}.music-room-section-title a{color:#8b92a5;font-size:12px}.music-room-popular-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:16px}.music-room-popular-card{overflow:hidden;border:1px solid rgba(139,92,246,.12);border-radius:16px;background:#101725;cursor:pointer;transition:.2s}.music-room-popular-card:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.45)}.music-room-card-cover{height:118px;position:relative;display:grid;place-items:center;background:var(--room-cover);font-size:44px;color:rgba(255,255,255,.7)}.music-room-card-cover em{position:absolute;top:10px;left:10px;font-style:normal;font-size:11px;background:rgba(0,0,0,.35);padding:4px 7px;border-radius:8px}.music-room-card-info{padding:12px}.music-room-card-info h3{margin:0;font-size:14px}.music-room-card-info p{margin:7px 0;color:#7e889f;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-room-card-bottom{display:flex;justify-content:space-between;align-items:center;color:#8d6dff;font-size:11px}.music-room-card-bottom .music-room-inline-delete{padding:3px 6px!important}.music-room-benefits{display:grid;grid-template-columns:repeat(4,1fr);margin:0 55px 28px;padding:20px 30px;border:1px solid rgba(139,92,246,.12);border-radius:18px;background:rgba(17,24,39,.7)}.music-room-benefits>div{display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center;border-right:1px solid rgba(255,255,255,.08);padding:0 24px}.music-room-benefits>div:last-child{border-right:0}.music-room-benefits i{grid-row:span 2;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#5f45c8,#a55bf4);font-style:normal}.music-room-benefits b{font-size:13px}.music-room-benefits small{color:#7e889f;font-size:10px}
@media(max-width:900px){.music-room-landing-nav{padding:0 16px;gap:14px}.music-room-landing-nav nav{display:none}.music-room-landing-search{display:none}.music-room-hero{grid-template-columns:1fr}.music-room-hero-copy{padding:44px 24px}.music-room-hero h1{font-size:32px}.music-room-hero-scene{height:240px}.music-room-popular{padding:22px 18px}.music-room-popular-grid{grid-template-columns:repeat(2,1fr)}.music-room-benefits{grid-template-columns:1fr 1fr;margin:0 18px 18px;gap:12px;padding:15px}.music-room-benefits>div{padding:8px;border-right:0}}
.music-room-reference{height:100%;min-height:0;background:#0a0b10;color:#fff;display:flex;flex-direction:column}.music-room-ref-nav{height:64px;flex:none;display:flex;align-items:center;gap:34px;padding:0 28px;background:rgba(10,11,16,.9);border-bottom:1px solid rgba(255,255,255,.06)}.music-room-ref-nav nav{display:flex;gap:28px;height:100%;align-items:center}.music-room-ref-nav nav a{height:100%;display:flex;align-items:center;color:#94a3b8;font-size:14px}.music-room-ref-nav nav a.active{color:#fff;border-bottom:3px solid #8b5cf6}.music-room-ref-search{margin-left:auto;width:280px;height:36px;padding:0 16px;display:flex;align-items:center;border-radius:18px;background:#161824;color:#475569;font-size:12px}.music-room-ref-nav>button{height:36px;padding:0 16px;border:0;border-radius:18px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-weight:700}.music-room-ref-user{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d7a878,#704bcb)}.music-room-ref-main{flex:1;min-height:0;max-width:1440px;width:100%;margin:0 auto;padding:20px 24px 90px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;overflow:auto}.music-room-ref-content{display:flex;flex-direction:column;gap:20px}.music-room-ref-hero{position:relative;height:380px;overflow:hidden;border-radius:20px;background:#0f121d;border:1px solid rgba(255,255,255,.06)}.music-room-ref-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 68% 37%,rgba(113,73,222,.5),transparent 26%),linear-gradient(135deg,#121a35,#101629 45%,#221438)}.music-room-ref-hero-bg:after{content:'☾';position:absolute;right:28%;top:18%;font-size:86px;color:#c4a4ff;text-shadow:0 0 28px #9a5cff}.music-room-ref-info{position:absolute;top:24px;left:28px}.music-room-ref-info h1{font-size:26px;margin:0 0 9px}.music-room-ref-info h1 span{color:#fbbf24}.music-room-ref-info label{display:inline-block;padding:4px 10px;border-radius:12px;background:rgba(255,255,255,.12);font-size:11px;color:#dbe4f5}.music-room-ref-info p{font-size:13px;color:#cbd5e1;margin:15px 0}.music-room-ref-stats{font-size:12px;color:#94a3b8}.music-room-ref-tools{position:absolute;right:28px;top:24px;display:flex;gap:10px}.music-room-ref-tools button{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#fff;font-size:18px}.music-room-ref-now{position:absolute;left:28px;right:28px;bottom:24px;padding:16px 20px;display:flex;align-items:center;gap:16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(20,24,40,.72);backdrop-filter:blur(20px)}.music-room-ref-cover{width:64px;height:64px;position:relative;flex:none}.music-room-ref-cover img,.music-room-ref-cover>span{width:64px;height:64px;display:grid;place-items:center;object-fit:cover;border-radius:8px;background:linear-gradient(135deg,#7957db,#27184f);font-size:34px}.music-room-ref-cover i{position:absolute;right:-14px;top:2px;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,#222 20%,#111 21%,#333 26%,#111 28%,#000 70%);z-index:-1}.music-room-ref-now h2{margin:0 0 4px;font-size:16px}.music-room-ref-now p{margin:0 0 6px;color:#94a3b8;font-size:13px}.music-room-ref-now small{color:#a78bfa;font-size:10px}.music-room-ref-wave{margin-left:auto;color:#8b5cf6;letter-spacing:2px}.music-room-ref-now time{color:#94a3b8;font:13px monospace}.music-room-ref-playlist{padding:20px 24px;border-radius:16px;background:#121420;border:1px solid rgba(255,255,255,.06)}.music-room-ref-playlist>header{display:flex;align-items:center;gap:8px;margin-bottom:15px}.music-room-ref-playlist>header b{font-size:16px}.music-room-ref-playlist>header small{color:#475569}.music-room-ref-playlist>header div{margin-left:auto;display:flex;gap:10px}.music-room-ref-playlist>header button{padding:7px 13px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#1c1e2e;color:#fff}.music-room-ref-song-list{display:grid;gap:4px}.music-room-ref-song{display:grid;grid-template-columns:32px 44px minmax(130px,2fr) minmax(120px,1.5fr) 100px;align-items:center;padding:10px 12px;border-radius:10px;font-size:13px}.music-room-ref-song:hover{background:#1a1c2e}.music-room-ref-song>span{color:#475569}.music-room-ref-song>div img,.music-room-ref-song>div i{width:36px;height:36px;display:grid;place-items:center;border-radius:6px;background:#24233c;object-fit:cover;font-style:normal}.music-room-ref-song>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-room-ref-song>small{color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-room-ref-song>em{color:#94a3b8;font-style:normal;text-align:right}.music-room-ref-empty{padding:30px;text-align:center;color:#475569}.music-room-ref-sidebar{display:flex;flex-direction:column;min-height:640px;border-radius:16px;background:#121420;border:1px solid rgba(255,255,255,.06);overflow:hidden}.music-room-ref-tabs{display:flex;gap:22px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.music-room-ref-tabs b{color:#94a3b8;font-size:14px}.music-room-ref-tabs b:first-child{color:#fff;border-bottom:2px solid #8b5cf6;padding-bottom:12px;margin-bottom:-15px}.music-room-ref-tabs small,.music-room-ref-label em{font-weight:400;color:#475569}.music-room-ref-members{padding:12px 16px;display:grid;gap:8px;max-height:230px;overflow:auto;border-bottom:1px solid rgba(255,255,255,.06)}.music-room-ref-member{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px}.music-room-ref-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#d8a68d,#536dc4);flex:none}.music-room-ref-member div{display:grid;gap:3px;min-width:0}.music-room-ref-member b{font-size:13px}.music-room-ref-member b i{font-style:normal;font-size:10px;padding:2px 5px;border-radius:4px;background:#8b5cf6}.music-room-ref-member small{font-size:11px;color:#475569}.music-room-ref-member>em{margin-left:auto;color:#475569}.music-room-ref-chat{flex:1;padding:16px;display:grid;align-content:start;gap:14px;overflow:auto}.music-room-ref-chat b{font-size:11px;color:#94a3b8}.music-room-ref-chat p{display:inline-block;margin:4px 0 0;padding:8px 12px;border-radius:4px 12px 12px 12px;background:#181a29;font-size:12px}.music-room-ref-chat-input{display:flex;gap:8px;padding:12px 16px;background:#10121c;border-top:1px solid rgba(255,255,255,.06)}.music-room-ref-chat-input input{flex:1;height:36px;border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:0 14px;background:#161826;color:#fff}.music-room-ref-chat-input button{width:36px;height:36px;border:0;border-radius:50%;background:#8b5cf6;color:#fff}.music-room-ref-dock{position:fixed;left:0;right:0;bottom:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:rgba(13,14,23,.96);border-top:1px solid rgba(255,255,255,.06);z-index:20}.dock-ref-song{display:flex;align-items:center;gap:12px;width:240px;color:#fff}.dock-ref-song img,.dock-ref-song>span:first-child{width:44px;height:44px;border-radius:6px;object-fit:cover;background:#30245f}.dock-ref-song>span:not(:first-child){display:grid;gap:3px;font-size:13px}.dock-ref-song small{display:block;color:#94a3b8;font-size:11px}.dock-ref-controls{display:flex;align-items:center;gap:18px;position:relative}.dock-ref-controls button{width:36px;height:36px;border:0;border-radius:50%;background:#8b5cf6;color:#fff}.dock-ref-progress{position:absolute;left:140px;top:48px;width:430px;height:4px;border-radius:2px;background:rgba(255,255,255,.12)}.dock-ref-progress i{display:block;width:42%;height:100%;background:#8b5cf6;border-radius:2px}.music-room-ref-dock>div:last-child{width:240px;text-align:right;color:#94a3b8}
@media(max-width:1050px){.music-room-ref-main{grid-template-columns:1fr}.music-room-ref-sidebar{min-height:420px}.music-room-ref-dock{position:sticky}.dock-ref-progress{width:260px}}@media(max-width:640px){.music-room-ref-nav{padding:0 14px;gap:12px}.music-room-ref-nav nav,.music-room-ref-search{display:none}.music-room-ref-main{padding:12px 10px 90px}.music-room-ref-hero{height:430px}.music-room-ref-now{left:14px;right:14px}.music-room-ref-wave{display:none}.music-room-ref-song{grid-template-columns:26px 38px minmax(0,1fr) auto}.music-room-ref-song>small,.music-room-ref-song>em{display:none}.music-room-ref-dock{padding:0 12px}.dock-ref-song{width:auto}.dock-ref-controls{gap:7px}.dock-ref-progress{left:90px;width:180px}.music-room-ref-dock>div:last-child{display:none}}
.music-room-modal.compact{width:min(520px,calc(100vw - 32px));height:auto;max-height:none;overflow:hidden}.music-room-form{max-width:470px;margin:0 auto}.music-room-form-title{font-size:22px;font-weight:800;color:#f1f5ff;margin-bottom:4px}.music-room-form-title small{display:block;margin-top:6px;font-size:12px;font-weight:400;color:#8993aa}.music-room-form label{color:#aeb8cf}.music-room-form input,.music-room-form select{background:rgba(255,255,255,.075);border-color:rgba(139,92,246,.24);color:#eef2ff}.music-room-form-actions{padding-top:8px}
.music-room-modal.form-open{display:grid!important;place-items:center;overflow:auto!important;padding:26px;background:radial-gradient(circle at 78% 0%,rgba(91,61,210,.3),transparent 38%),linear-gradient(145deg,#080d1b,#0d1428)}.music-room-modal.form-open>#ntMusicRoomBody{width:min(560px,100%);max-height:100%;overflow:auto}.music-room-modal.form-open .music-room-settings-form{width:100%;max-width:none;margin:0;padding:28px 32px;border:1px solid rgba(139,92,246,.22);border-radius:22px;background:linear-gradient(155deg,rgba(22,29,54,.94),rgba(9,15,31,.96));box-shadow:0 22px 55px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)}.music-room-modal.form-open .music-room-form-title{font-size:24px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.music-room-modal.form-open .music-room-form label{gap:8px;font-size:13px}.music-room-modal.form-open .music-room-form input,.music-room-modal.form-open .music-room-form select{height:46px;padding:0 14px;border-radius:12px}.music-room-modal.form-open .music-room-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.music-room-modal.form-open .music-room-form-actions button{min-width:92px;height:42px}.music-room-modal.form-open .music-room-form-actions .secondary{background:rgba(255,255,255,.07);color:#d8dded}
.music-room-modal:not(.compact){width:min(1380px,calc(100vw - 48px))!important;height:min(860px,calc(100vh - 24px))!important;max-height:calc(100vh - 24px)!important;overflow:hidden!important}.music-room-modal.compact{width:min(520px,calc(100vw - 32px))!important;height:auto!important;max-height:none!important;overflow:hidden!important}.music-room-modal.reference-open{display:flex!important;flex-direction:column;padding:0}.music-room-modal.reference-open>#ntMusicRoomBody{display:flex;flex:1;min-height:0;overflow:hidden}.music-room-modal.reference-open .music-room-reference{width:100%;height:100%;min-height:0}.music-room-modal.reference-open .music-room-ref-main{min-height:0;overflow:auto;padding-bottom:24px;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.72) rgba(255,255,255,.035)}.music-room-modal.reference-open .music-room-ref-main::-webkit-scrollbar,.music-room-modal.reference-open .music-room-ref-sidebar::-webkit-scrollbar,.music-room-modal.reference-open .music-room-ref-search-results::-webkit-scrollbar{width:9px;height:9px}.music-room-modal.reference-open .music-room-ref-main::-webkit-scrollbar-track,.music-room-modal.reference-open .music-room-ref-sidebar::-webkit-scrollbar-track,.music-room-modal.reference-open .music-room-ref-search-results::-webkit-scrollbar-track{background:rgba(255,255,255,.035);border-radius:99px}.music-room-modal.reference-open .music-room-ref-main::-webkit-scrollbar-thumb,.music-room-modal.reference-open .music-room-ref-sidebar::-webkit-scrollbar-thumb,.music-room-modal.reference-open .music-room-ref-search-results::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a78bfa,#6d28d9);border:2px solid rgba(10,11,16,.78);border-radius:99px}.music-room-modal.reference-open .music-room-ref-dock{position:absolute;left:0;right:0;bottom:0;z-index:30}
.music-room-search-tools{display:flex;gap:8px;margin-top:14px}.music-room-search-tools select{flex:1;min-width:0;border:1px solid rgba(139,92,246,.22);border-radius:10px;padding:9px;background:rgba(255,255,255,.055);color:#d8dded}.music-room-result-actions{display:flex;gap:6px}.music-room-result-actions button{padding:6px 9px;font-size:11px}.music-room-playlist-item{display:flex!important;flex-direction:column;align-items:flex-start;width:100%;margin:5px 0;background:rgba(255,255,255,.055)!important;color:#eef2ff!important;text-align:left}.music-room-playlist-item small{color:#8993aa}
.music-room-search-song{display:flex;align-items:center;gap:9px;min-width:0}.music-room-search-song img,.music-room-search-song>span{width:36px;height:36px;border-radius:7px;object-fit:cover;display:grid;place-items:center;background:rgba(139,92,246,.2);color:#b99cff;flex:none}.music-room-search-song>div{min-width:0;display:grid;gap:3px}.music-room-more{width:100%;margin-top:8px;background:rgba(139,92,246,.12)!important;color:#b99cff!important;font-size:12px}
.music-room-dashboard{height:100%;min-height:0;display:flex;flex-direction:column}.music-room-dashboard-head{display:flex;align-items:center;justify-content:space-between;padding:22px 30px 18px;border-bottom:1px solid rgba(148,163,184,.22)}.music-room-dashboard-head>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.music-room-dashboard-head b{font-size:22px}.music-room-dashboard-head code{padding:5px 9px;border-radius:8px;background:rgba(99,102,241,.13);color:#6366f1;font-size:12px}.music-room-dashboard-head small{color:#64748b}.music-room-live-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.music-room-head-actions{display:flex;gap:8px}.music-room-grid{display:grid;grid-template-columns:minmax(270px,.9fr) minmax(300px,1.2fr) minmax(240px,.9fr);gap:18px;flex:1;min-height:0;padding:22px 30px;overflow:hidden}.music-room-now,.music-room-search-panel,.music-room-side{min-width:0;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:rgba(255,255,255,.42);padding:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}.music-room-now{text-align:center}.music-room-label{font-size:12px;color:#64748b;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.music-room-now-art{width:min(210px,80%);aspect-ratio:1;margin:18px auto;border-radius:24px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#818cf8,#c084fc);box-shadow:0 18px 32px rgba(99,102,241,.22)}.music-room-now-art img{width:100%;height:100%;object-fit:cover}.music-room-now-art span{font-size:76px;color:rgba(255,255,255,.9)}.music-room-now h2{margin:8px 0 4px;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-room-now p{margin:0 0 16px;color:#64748b}.music-room-controls{justify-content:center}.music-room-sync-state{margin-top:16px;color:#6366f1;font-size:12px}.music-room-search-box{display:flex;gap:8px;margin:14px 0}.music-room-search-box input{flex:1;min-width:0;border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.65);outline:0}.music-room-search-box button{padding:9px 14px}.music-room-search-results{display:grid;gap:7px;max-height:500px;overflow:auto}.music-room-search-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.55)}.music-room-search-item>div{min-width:0;display:grid;gap:4px}.music-room-search-item b,.music-room-search-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-room-search-item small{color:#64748b}.music-room-search-item button{padding:6px 9px;font-size:11px}.music-room-side{display:flex;flex-direction:column;min-height:0}.music-room-side .music-room-queue{flex:1;max-height:none}.music-room-label em{float:right;font-style:normal;color:#6366f1}.music-room-member-title{margin-top:18px}.music-room-dashboard-foot{display:flex;gap:8px;padding:15px 30px 20px;border-top:1px solid rgba(148,163,184,.2)}
@media(max-width:900px){.music-room-modal{width:calc(100vw - 20px);height:calc(100vh - 20px)}.music-room-grid{grid-template-columns:1fr 1fr;overflow:auto}.music-room-now{grid-row:span 2}.music-room-side{min-height:320px}.music-room-dashboard-head,.music-room-grid,.music-room-dashboard-foot{padding-left:18px;padding-right:18px}}@media(max-width:640px){.music-room-dashboard-head{align-items:flex-start;gap:12px;flex-direction:column}.music-room-grid{grid-template-columns:1fr;padding-top:14px}.music-room-now{grid-row:auto}.music-room-now-art{width:150px}.music-room-side{min-height:280px}.music-room-dashboard-foot{flex-wrap:wrap}.music-room-dashboard-foot .danger{margin-right:0}.music-room-head-actions{width:100%}.music-room-head-actions button{flex:1}}
@media(max-width:900px){.music-room-modal:not(.compact){width:calc(100vw - 20px)!important;height:calc(100vh - 20px)!important}}@media(max-width:640px){.music-room-modal:not(.compact){width:calc(100vw - 10px)!important;height:calc(100vh - 10px)!important;max-height:calc(100vh - 10px)!important;border-radius:18px}.music-room-modal.reference-open .music-room-ref-nav{height:56px;padding:0 14px}.music-room-modal.reference-open .music-room-ref-main{padding:12px 10px 88px}.music-room-modal.reference-open .music-room-ref-sidebar{height:420px}}
.music-room-modal{border-color:rgba(111,82,255,.28);background:radial-gradient(circle at 72% 4%,rgba(85,63,214,.25),transparent 34%),linear-gradient(145deg,rgba(5,10,22,.98),rgba(10,16,34,.97));color:#eef2ff}.music-room-overlay{background:rgba(2,6,16,.72);backdrop-filter:blur(12px)}.music-room-head{display:none}.music-room-dashboard-head{background:rgba(3,8,19,.76);border-bottom-color:rgba(139,92,246,.18)}.music-room-brand{display:flex!important;align-items:center!important;gap:10px!important}.music-room-brand>span{color:#9b6cff;font-size:28px;text-shadow:0 0 20px #754cff}.music-room-brand>b{font-size:18px!important}.music-room-brand nav{display:flex;gap:22px;margin-left:26px}.music-room-brand nav a{color:#8d96aa;font-size:13px}.music-room-brand nav a.active{color:#fff;position:relative}.music-room-brand nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:-14px;height:2px;background:#8b5cf6}.music-room-room-meta{display:flex;align-items:center;gap:9px}.music-room-room-meta code{background:rgba(139,92,246,.16)!important;color:#b99cff!important}.music-room-room-meta small,.music-room-label,.music-room-now p,.music-room-search-item small,.music-room-muted{color:#8993aa}.music-room-now,.music-room-search-panel,.music-room-side{border-color:rgba(139,92,246,.14);background:linear-gradient(155deg,rgba(22,29,54,.88),rgba(9,15,31,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 44px rgba(0,0,0,.24)}.music-room-now-art{background:radial-gradient(circle,rgba(168,85,247,.92),rgba(91,62,210,.52) 45%,rgba(21,28,58,.8) 70%);box-shadow:0 0 45px rgba(139,92,246,.3)}.music-room-search-box input{border-color:rgba(139,92,246,.22);background:rgba(255,255,255,.055);color:#fff}.music-room-search-item,.music-room-queue-item,.music-room-members span{background:rgba(255,255,255,.055);color:#eef2ff}.music-room-modal button.secondary{background:rgba(255,255,255,.06);border-color:rgba(139,92,246,.2);color:#d8dded}.music-room-dashboard-foot{border-top-color:rgba(139,92,246,.15);background:rgba(3,8,19,.68)}
.music-room-loading,.music-room-my-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:36px 24px;text-align:center;color:#cbd5e1;background:radial-gradient(circle at 50% 0%,rgba(139,92,246,.2),transparent 58%),linear-gradient(145deg,#080d1b,#0d1428)}
.music-room-loading{font-size:14px;color:#9aa7c1}
.music-room-my-empty-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:#c4b5fd;background:linear-gradient(135deg,rgba(139,92,246,.34),rgba(99,102,241,.18));border:1px solid rgba(167,139,250,.34);box-shadow:0 12px 32px rgba(99,102,241,.22)}
.music-room-my-empty-icon .music-room-svg-icon{width:30px;height:30px}
.music-room-my-empty h2{margin:2px 0 0;color:#f1f5ff;font-size:22px}
.music-room-my-empty p{margin:0;max-width:360px;color:#8f9bb2;font-size:13px;line-height:1.7}
.music-room-my-empty button{margin-top:6px;min-height:42px;padding:0 18px;border-radius:12px}
.music-track-cover{position:relative;width:44px;height:44px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(34,211,238,.2),rgba(124,58,237,.28));color:rgba(237,247,255,.76);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 16px rgba(4,10,28,.16);isolation:isolate}
.music-track-cover:before{content:"";position:absolute;inset:-35%;z-index:-1;background:conic-gradient(from 20deg,rgba(103,232,249,.22),rgba(129,140,248,.16),rgba(244,114,182,.18),rgba(103,232,249,.22));animation:musicTrackCoverAura 12s linear infinite}
.music-track-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .22s ease,transform .3s ease}
.music-track-cover.is-loaded img{opacity:1;transform:scale(1)}
.music-track-cover>span{font-size:19px;line-height:1;text-shadow:0 2px 9px rgba(3,8,25,.3)}
.music-track-row:hover .music-track-cover img,.music-track-row.active .music-track-cover img{transform:scale(1.07)}
.music-track-row.active .music-track-cover{border-color:rgba(125,211,252,.5);box-shadow:0 0 0 2px rgba(56,189,248,.1),0 8px 20px rgba(14,165,233,.2)}
.music-track-playing{position:absolute;inset:0;display:none;align-items:center;justify-content:center;gap:3px;background:rgba(3,10,26,.48);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.music-track-row.active.playing .music-track-playing{display:flex}
.music-track-playing b{width:3px;height:12px;border-radius:99px;background:#e9fbff;box-shadow:0 0 7px rgba(103,232,249,.7);animation:musicTrackBar .75s ease-in-out infinite alternate}
.music-track-playing b:nth-child(2){height:18px;animation-delay:-.4s}.music-track-playing b:nth-child(3){height:9px;animation-delay:-.2s}
@keyframes musicTrackBar{to{height:5px;opacity:.7}}@keyframes musicTrackCoverAura{to{transform:rotate(360deg)}}
.music-side-lyrics{padding-right:2px;padding-left:2px}
.music-side-lyrics-inner{display:flex!important;flex-direction:column;align-items:stretch;width:100%;max-width:310px;overflow:visible!important;-webkit-line-clamp:unset!important;gap:2px;transition:filter .25s ease}
.music-side-lyric-line{position:relative;min-height:22px;padding:2px 11px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:rgba(229,240,255,.37);font-size:12px;line-height:1.5;letter-spacing:.01em;transition:color .35s ease,opacity .35s ease,transform .35s ease,background .35s ease,filter .35s ease;isolation:isolate}
.music-side-lyric-line>span{position:relative;z-index:2;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.music-side-lyric-line.is-past{color:rgba(217,235,255,.32);opacity:var(--lyric-opacity,.45);transform:scale(var(--lyric-scale,.97))}
.music-side-lyric-line.is-future{color:rgba(225,238,255,.42);opacity:var(--lyric-opacity,.55);transform:scale(var(--lyric-scale,.98))}
.music-side-lyric-line.is-current{min-height:28px;margin:1px 0;padding:4px 13px;font-size:13px;font-weight:800;letter-spacing:.025em;transform:scale(1.035);filter:drop-shadow(0 3px 10px color-mix(in srgb,var(--lyric-b) 28%,transparent));animation:musicLyricEnter .42s cubic-bezier(.22,.8,.3,1)}
.music-side-lyric-line.is-current:before{content:"";position:absolute;inset:0;z-index:-2;border:1px solid color-mix(in srgb,var(--lyric-b) 24%,transparent);border-radius:inherit;background:linear-gradient(100deg,color-mix(in srgb,var(--lyric-a) 12%,transparent),color-mix(in srgb,var(--lyric-b) 18%,rgba(255,255,255,.025)),color-mix(in srgb,var(--lyric-c) 12%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 7px 18px color-mix(in srgb,var(--lyric-b) 10%,transparent)}
.music-side-lyric-line.is-current:after{content:"";position:absolute;left:8px;bottom:1px;width:var(--lyric-progress,0%);max-width:calc(100% - 16px);height:2px;z-index:1;border-radius:99px;background:linear-gradient(90deg,var(--lyric-a),var(--lyric-b),var(--lyric-c));box-shadow:0 0 9px color-mix(in srgb,var(--lyric-b) 65%,transparent);transition:width .22s linear}
.music-side-lyric-line.is-current>span{color:transparent;background:linear-gradient(100deg,var(--lyric-a) 0%,var(--lyric-b) 42%,var(--lyric-c) 72%,var(--lyric-a) 100%);background-size:220% 100%;background-position:var(--lyric-progress,0%) center;-webkit-background-clip:text;background-clip:text;text-shadow:0 0 16px color-mix(in srgb,var(--lyric-b) 20%,transparent);transition:background-position .22s linear}
.music-side-lyric-line.is-current>i{position:absolute;z-index:-1;width:72%;height:120%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--lyric-b) 18%,transparent),transparent 70%);filter:blur(8px);animation:musicLyricGlow 2.2s ease-in-out infinite alternate}
.music-side-lyric-line.is-placeholder{color:rgba(229,240,255,.46)}
@keyframes musicLyricEnter{from{opacity:.2;transform:translateY(5px) scale(.98);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1.035);filter:drop-shadow(0 3px 10px color-mix(in srgb,var(--lyric-b) 28%,transparent))}}@keyframes musicLyricGlow{to{opacity:.45;transform:scaleX(1.12)}}
.music-lrc-bar{--lyric-a:#67e8f9;--lyric-b:#60a5fa;--lyric-c:#c084fc;--lrc-progress:0%;min-width:min(360px,calc(100vw - 32px));max-width:min(86vw,980px);padding:10px 16px 13px;border-radius:20px;background:linear-gradient(112deg,color-mix(in srgb,var(--lyric-a) 9%,rgba(12,19,48,.68)),color-mix(in srgb,var(--lyric-b) 13%,rgba(20,24,67,.72)) 48%,color-mix(in srgb,var(--lyric-c) 10%,rgba(14,22,55,.69)));border-color:color-mix(in srgb,var(--lyric-b) 26%,rgba(255,255,255,.1));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 15px 36px rgba(4,8,28,.3),0 0 30px color-mix(in srgb,var(--lyric-b) 10%,transparent);isolation:isolate;transition:background .42s ease,border-color .42s ease,box-shadow .42s ease}
.music-lrc-bar:after{content:"";position:absolute;inset:1px;border-radius:18px;z-index:-2;background:linear-gradient(110deg,color-mix(in srgb,var(--lyric-a) 7%,transparent),transparent 42%,color-mix(in srgb,var(--lyric-c) 8%,transparent));pointer-events:none}
.music-lrc-bar #ntLrcText{position:relative;display:flex;justify-content:center;min-width:0;overflow:hidden;border-radius:14px}
.music-lrc-bar #ntLrcText:after{content:"";position:absolute;left:12px;bottom:0;width:var(--lrc-progress);max-width:calc(100% - 24px);height:2px;border-radius:99px;background:linear-gradient(90deg,var(--lyric-a),var(--lyric-b),var(--lyric-c));box-shadow:0 0 12px color-mix(in srgb,var(--lyric-b) 72%,transparent);transition:width .22s linear}
.music-lrc-bar .lrc-line{position:relative;display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:0;padding:.32em 1em .38em;border:1px solid color-mix(in srgb,var(--lyric-b) 20%,rgba(255,255,255,.05));border-radius:14px;background:linear-gradient(100deg,color-mix(in srgb,var(--lyric-a) 8%,transparent),color-mix(in srgb,var(--lyric-b) 12%,rgba(255,255,255,.02)),color-mix(in srgb,var(--lyric-c) 8%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.07);font-weight:800;letter-spacing:.025em;color:rgba(224,235,255,.32);text-shadow:0 1px 8px rgba(0,0,0,.18);animation:desktopLyricEnter .42s cubic-bezier(.22,.8,.3,1);isolation:isolate}
.music-lrc-bar .lrc-line:after{content:none}
.music-lrc-bar .lrc-line>span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:transparent;background:linear-gradient(100deg,var(--lyric-a) 0%,var(--lyric-b) 42%,var(--lyric-c) 72%,var(--lyric-a) 100%);background-size:220% 100%;background-position:var(--lrc-progress) center;-webkit-background-clip:text;background-clip:text;text-shadow:0 0 18px color-mix(in srgb,var(--lyric-b) 25%,transparent);transition:background-position .22s linear}
.music-lrc-bar .lrc-line>i{position:absolute;z-index:-1;width:72%;height:130%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--lyric-b) 20%,transparent),transparent 70%);filter:blur(10px);animation:desktopLyricGlow 2.2s ease-in-out infinite alternate;pointer-events:none}
@keyframes desktopLyricEnter{from{opacity:.25;transform:translateY(5px) scale(.98);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:none}}@keyframes desktopLyricGlow{to{opacity:.42;transform:scaleX(1.14)}}
.music-track-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end;min-width:76px}
.music-row-action{width:34px;height:34px;border-radius:11px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);color:rgba(231,239,255,.65);font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.16s ease}
.music-row-action:hover,.music-row-action.active{color:#ff8fb8;background:rgba(255,102,153,.14);border-color:rgba(255,143,184,.24);transform:translateY(-1px)}
.music-row-action.danger{font-size:18px;color:#ff9d9d}.music-row-action.danger:hover{background:rgba(255,86,86,.15);border-color:rgba(255,113,113,.24)}
.music-current-favorite{position:absolute;right:4px;top:12px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:rgba(255,255,255,.72);font-size:23px;cursor:pointer;z-index:2}.music-current-favorite:hover,.music-current-favorite.active{color:#ff8fb8;background:rgba(255,117,163,.13)}
.music-mine-shell{display:flex;flex-direction:column;height:100%;min-height:0;margin:10px 0;gap:12px}.music-mine-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.music-mine-tabs{display:flex;gap:8px;flex-wrap:wrap}.music-mine-tab,.music-library-secondary,.music-library-primary{font:inherit;border:1px solid rgba(255,255,255,.11);color:rgba(235,242,255,.72);background:rgba(255,255,255,.06);height:38px;padding:0 15px;border-radius:12px;cursor:pointer;transition:.16s ease}.music-mine-tab:hover,.music-mine-tab.active,.music-library-secondary:hover{color:#fff;background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.18)}
.music-library-primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:linear-gradient(135deg,rgba(34,211,238,.9),rgba(99,102,241,.88));color:#071525;border:0;font-weight:750;box-shadow:0 10px 22px rgba(34,211,238,.12)}.music-library-primary.compact{height:38px;padding:0 16px}.music-library-secondary.danger{color:#ffb0b0}.music-library-primary:disabled,.music-library-secondary:disabled{opacity:.4;cursor:not-allowed}
.music-mine-actions{display:flex;align-items:center;gap:8px}.music-mine-content{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;padding:2px 7px 8px 0;overscroll-behavior:contain}.music-mine-content::-webkit-scrollbar{width:5px}.music-mine-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:99px}
.music-library-list{display:flex;flex-direction:column;gap:8px}.music-library-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(255,255,255,.045);cursor:pointer;transition:.16s ease}.music-library-row:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.14);transform:translateY(-1px)}
.music-library-cover{width:44px;height:44px;border-radius:13px;overflow:hidden;background:linear-gradient(145deg,rgba(34,211,238,.22),rgba(124,58,237,.28));position:relative;display:grid;place-items:center;color:rgba(255,255,255,.68)}.music-library-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.music-library-cover span{font-size:20px}.music-library-row-main{min-width:0}.music-library-row-main b{display:block;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-library-row-main small{display:block;margin-top:5px;color:rgba(225,236,255,.48);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-library-tag,.music-library-count{font-size:11px;color:rgba(218,231,255,.48);white-space:nowrap}
.music-library-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px 24px;color:#fff}.music-library-state-icon{width:66px;height:66px;border-radius:22px;background:linear-gradient(145deg,rgba(34,211,238,.2),rgba(124,58,237,.26));border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;font-size:28px;margin-bottom:18px}.music-library-state b{font-size:17px}.music-library-state small{max-width:460px;color:rgba(225,236,255,.5);line-height:1.7;margin:9px 0 18px}.music-library-spinner{width:38px;height:38px;border:3px solid rgba(255,255,255,.12);border-top-color:#67e8f9;border-radius:50%;animation:musicLibrarySpin .8s linear infinite;margin-bottom:18px}@keyframes musicLibrarySpin{to{transform:rotate(360deg)}}
.music-resume-banner{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:18px;background:linear-gradient(105deg,rgba(34,211,238,.13),rgba(124,58,237,.13));border:1px solid rgba(103,232,249,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.music-resume-banner[hidden]{display:none}.music-resume-banner>div{min-width:0;flex:1}.music-resume-banner span{display:block;font-size:10px;letter-spacing:.15em;color:#80e8f5}.music-resume-banner b{display:block;color:#fff;font-size:14px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-resume-banner small{display:block;color:rgba(225,236,255,.48);font-size:11px;margin-top:4px}.music-resume-banner button{border:0;border-radius:11px;padding:9px 13px;background:rgba(255,255,255,.13);color:#fff;cursor:pointer;white-space:nowrap}.music-resume-banner .dismiss{width:30px;height:30px;padding:0;border-radius:50%;font-size:18px;color:rgba(255,255,255,.55)}
.music-playlist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.music-playlist-card{display:grid;grid-template-columns:64px minmax(0,1fr) 34px;gap:13px;align-items:center;padding:12px;border-radius:19px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:.16s ease}.music-playlist-card:hover{background:rgba(255,255,255,.09);transform:translateY(-1px)}.music-playlist-card>button{width:32px;height:32px;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.55);font-size:20px;cursor:pointer}.music-playlist-card>button:hover{background:rgba(255,255,255,.1);color:#fff}.music-playlist-art{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--playlist-color) 72%,#fff 8%),color-mix(in srgb,var(--playlist-color) 65%,#07111f));position:relative;overflow:hidden;color:#fff;font-size:25px;box-shadow:0 12px 24px color-mix(in srgb,var(--playlist-color) 22%,transparent)}.music-playlist-art i{position:absolute;width:55px;height:55px;border-radius:50%;border:1px solid rgba(255,255,255,.13);right:-18px;bottom:-20px}.music-playlist-art.small{width:76px;height:76px;border-radius:22px}.music-playlist-card-info{min-width:0}.music-playlist-card-info b{display:block;color:#fff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-playlist-card-info small{display:block;color:rgba(225,236,255,.47);font-size:11px;line-height:1.5;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-playlist-detail>header{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center;padding:5px 4px 16px}.music-playlist-detail header>div:nth-child(2){min-width:0}.music-playlist-detail header small{color:rgba(225,236,255,.44);font-size:11px}.music-playlist-detail h3{color:#fff;font-size:22px;margin:3px 0}.music-playlist-detail p{color:rgba(225,236,255,.5);font-size:12px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-playlist-order{display:flex;gap:4px}.music-playlist-order button{width:28px;height:28px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.62);cursor:pointer}.music-playlist-order button:disabled{opacity:.25;cursor:default}
.music-library-dialog-wrap{position:absolute;inset:0;z-index:15;display:grid;place-items:center;padding:20px}.music-library-dialog-backdrop{position:absolute;inset:0;background:rgba(2,6,16,.56);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.music-library-dialog{position:relative;width:min(460px,94%);max-height:min(620px,88%);overflow-y:auto;padding:24px;border-radius:24px;background:linear-gradient(180deg,rgba(30,40,64,.97),rgba(12,20,38,.97));border:1px solid rgba(255,255,255,.15);box-shadow:0 28px 70px rgba(0,0,0,.45);color:#fff}.music-library-dialog h3{margin:0 0 8px;font-size:20px}.music-library-dialog>p{margin:0 0 18px;color:rgba(225,236,255,.52);line-height:1.6;font-size:13px}.music-library-dialog label{display:flex;flex-direction:column;gap:8px;margin-top:15px;color:rgba(225,236,255,.56);font-size:12px}.music-library-dialog input:not([type=color]),.music-library-dialog textarea{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.07);border-radius:13px;color:#fff;padding:11px 13px;font:inherit;outline:none}.music-library-dialog textarea{min-height:90px;resize:vertical}.music-library-dialog input:focus,.music-library-dialog textarea:focus{border-color:rgba(103,232,249,.4)}.music-library-dialog input[type=color]{width:54px;height:38px;background:transparent;border:0;padding:0}.music-dialog-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:21px;cursor:pointer}.music-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.music-dialog-playlists{display:flex;flex-direction:column;gap:8px}.music-dialog-playlists>button{display:grid;grid-template-columns:42px minmax(0,1fr) 26px;align-items:center;gap:11px;width:100%;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.045);color:#fff;text-align:left;cursor:pointer}.music-dialog-playlists>button:hover{background:rgba(255,255,255,.1)}.music-dialog-playlists i{width:40px;height:40px;border-radius:12px;background:var(--playlist-color);display:grid;place-items:center;font-style:normal}.music-dialog-playlists b,.music-dialog-playlists small{display:block}.music-dialog-playlists small{color:rgba(225,236,255,.45);margin-top:4px}.music-dialog-playlists em{font-style:normal;font-size:20px;color:rgba(255,255,255,.55)}
.music-library-toast{position:fixed;left:50%;bottom:34px;z-index:9999;transform:translate(-50%,16px);opacity:0;padding:11px 17px;border-radius:13px;background:rgba(9,17,31,.92);border:1px solid rgba(255,255,255,.13);color:#fff;box-shadow:0 16px 38px rgba(0,0,0,.36);transition:.2s ease}.music-library-toast.show{opacity:1;transform:translate(-50%,0)}
.music-playlist-art{background:linear-gradient(145deg,rgba(103,232,249,.22),rgba(99,102,241,.34));box-shadow:0 12px 24px rgba(7,15,36,.28)}.music-playlist-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.music-playlist-art.has-cover:after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,transparent 58%,rgba(3,8,22,.25))}.music-playlist-art>span{position:relative;z-index:1}.music-library-dialog input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.07);border-radius:13px;color:#fff;padding:11px 13px;font:inherit;outline:none}.music-dialog-playlists i{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(103,232,249,.2),rgba(99,102,241,.32))}.music-dialog-playlists i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.music-dialog-playlists i span{position:relative}.music-import-source{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 4px}.music-import-source button{height:42px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.05);color:rgba(235,242,255,.62);cursor:pointer}.music-import-source button.active{color:#fff;border-color:rgba(103,232,249,.32);background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(99,102,241,.2))}.music-import-divider{display:flex;align-items:center;gap:12px;margin:24px 0 2px;color:rgba(225,236,255,.38);font-size:11px}.music-import-divider:before,.music-import-divider:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.09)}.music-import-fetch-action{margin-top:12px}.music-external-lists{display:flex;flex-direction:column;gap:8px;margin-top:14px}.music-external-lists>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:11px 13px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.045);color:#fff;text-align:left;cursor:pointer}.music-external-lists>button:hover{background:rgba(255,255,255,.09)}.music-external-lists b,.music-external-lists small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-external-lists small{margin-top:4px;color:rgba(225,236,255,.42);font-size:11px}.music-external-lists em{font-style:normal;color:#80e8f5;font-size:12px}.music-external-lists button:disabled{opacity:.55;cursor:wait}.music-external-loading,.music-external-empty{padding:16px;border-radius:14px;background:rgba(255,255,255,.04);color:rgba(225,236,255,.48);font-size:12px;line-height:1.7;text-align:center}
@media(max-width:980px){.music-playlist-grid{grid-template-columns:1fr}.music-mine-shell{min-height:420px}.music-mine-content{max-height:560px}}
@media(max-width:640px){.music-card{overflow:hidden}.music-main{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(300px,1fr) auto;height:calc(100vh - 62px);max-height:calc(100vh - 62px);min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-bottom:22px;align-items:start}.music-sidebar{grid-column:1;grid-row:1;position:sticky;top:0;z-index:5;background:linear-gradient(180deg,rgba(61,69,145,.96),rgba(45,57,128,.9));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.music-content{grid-column:1;grid-row:2;display:block;height:auto;min-height:390px;overflow:visible;padding-top:14px}.music-view{height:auto;min-height:390px}.music-view.active{height:auto;min-height:390px;overflow:visible}.music-library-wrap,.music-mine-shell,.mc-search{height:auto;min-height:390px}.music-library-scroll,.music-search-scroll{height:auto;max-height:none;min-height:390px;overflow:visible}.music-sideplayer{grid-column:1;grid-row:3;height:560px;min-height:560px;max-height:560px;margin:14px 0 0}.music-cover{width:148px;height:148px}.music-side-lyrics-inner{-webkit-line-clamp:5}.music-track-row{grid-template-columns:44px minmax(0,1fr) auto;padding:11px 10px}.music-track-cover{width:40px;height:40px;border-radius:12px}.music-track-actions{min-width:70px;gap:4px}.music-row-action{width:32px;height:32px}.music-mine-shell{margin:0;min-height:390px}.music-mine-head{align-items:stretch}.music-mine-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}.music-mine-tab{padding:0 7px;font-size:11px}.music-mine-actions{width:100%;justify-content:flex-end}.music-mine-content{max-height:none;padding-right:2px;overflow:visible}.music-library-row{grid-template-columns:42px minmax(0,1fr) auto;padding:9px;gap:9px}.music-library-cover{width:40px;height:40px}.music-library-row-extra{display:none}.music-library-row .music-track-actions{min-width:70px}.music-playlist-grid{grid-template-columns:1fr}.music-resume-banner{gap:8px;padding:10px}.music-resume-banner button{padding:8px;font-size:11px}.music-resume-banner .dismiss{display:none}.music-playlist-detail>header{grid-template-columns:62px minmax(0,1fr);gap:11px}.music-playlist-detail header>.music-library-secondary{grid-column:1/-1}.music-playlist-art.small{width:62px;height:62px}.music-playlist-detail h3{font-size:18px}.music-playlist-order{display:none}.music-library-dialog-wrap{position:fixed;padding:10px}.music-library-dialog{width:100%;max-height:88vh;border-radius:22px}.music-current-favorite{right:0;top:8px}.music-library-state{min-height:220px;padding:25px 14px}}
@media(prefers-reduced-motion:reduce){.music-track-cover:before,.music-track-playing b,.music-side-lyric-line.is-current,.music-side-lyric-line.is-current>i,.music-lrc-bar .lrc-line,.music-lrc-bar .lrc-line>i{animation:none}.music-side-lyric-line,.music-side-lyric-line.is-current:after,.music-side-lyric-line.is-current>span,.music-lrc-bar,.music-lrc-bar #ntLrcText:after,.music-lrc-bar .lrc-line>span{transition:none}}

.music-room-ref-art{position:absolute;inset:0;width:100%;height:100%;z-index:1}.music-room-ref-hero-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(10,11,16,.28),rgba(10,11,16,.88))}.music-room-ref-hero>.music-room-ref-info,.music-room-ref-hero>.music-room-ref-tools,.music-room-ref-hero>.music-room-ref-now{z-index:3}
.music-room-ref-search-panel{padding:20px 24px;border-radius:16px;background:#121420;border:1px solid rgba(255,255,255,.06)}.music-room-ref-search-panel>header{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.music-room-ref-search-panel>header b{font-size:16px}.music-room-ref-search-panel>header small{color:#64748b;font-size:12px}.music-room-ref-search-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.music-room-ref-search-tools select{height:38px;min-width:0;border:1px solid rgba(139,92,246,.25);border-radius:10px;padding:0 11px;background:#1b1e31;color:#dce4ff;outline:none}.music-room-ref-search-box{grid-column:1/-1;display:flex;gap:8px;margin-top:2px}.music-room-ref-search-box input{flex:1;min-width:0;height:38px;border:1px solid rgba(139,92,246,.25);border-radius:10px;padding:0 13px;background:#171a2a;color:#fff;outline:none}.music-room-ref-search-box input:focus,.music-room-ref-search-tools select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.12)}.music-room-ref-search-box button,.music-room-ref-search-item button{height:38px;padding:0 15px;border:0;border-radius:10px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-weight:700;cursor:pointer}.music-room-ref-search-results{display:grid;gap:6px;max-height:265px;overflow:auto;margin-top:14px;padding-right:2px}.music-room-ref-search-results::-webkit-scrollbar{width:5px}.music-room-ref-search-results::-webkit-scrollbar-thumb{background:rgba(139,92,246,.35);border-radius:99px}.music-room-ref-search-item,.music-room-ref-search-results .music-room-search-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.04)}.music-room-ref-search-item:hover,.music-room-ref-search-results .music-room-search-item:hover{background:#1a1c2e}.music-room-ref-search-item>div:last-child,.music-room-ref-search-results .music-room-result-actions{display:flex;gap:6px;flex:none}.music-room-ref-search-item>div:last-child button,.music-room-ref-search-results .music-room-result-actions button{height:30px;padding:0 9px;font-size:11px}.music-room-ref-search-song,.music-room-ref-search-results .music-room-search-song{display:flex;align-items:center;gap:9px;min-width:0}.music-room-ref-search-song img,.music-room-ref-search-song>span,.music-room-ref-search-results .music-room-search-song img,.music-room-ref-search-results .music-room-search-song>span{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:7px;object-fit:cover;background:linear-gradient(135deg,#4c3a95,#1d274d);color:#c4b5fd;font-size:18px}.music-room-ref-search-song>div,.music-room-ref-search-results .music-room-search-song>div{display:grid;gap:3px;min-width:0}.music-room-ref-search-song b,.music-room-ref-search-song small,.music-room-ref-search-results .music-room-search-song b,.music-room-ref-search-results .music-room-search-song small{display:block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-room-ref-search-song small,.music-room-ref-search-results .music-room-search-song small{font-size:11px;color:#94a3b8}.music-room-ref-search-hint{padding:18px 8px;color:#64748b;font-size:12px;text-align:center}@media(max-width:640px){.music-room-ref-search-panel{padding:16px}.music-room-ref-search-tools{grid-template-columns:1fr}.music-room-ref-search-box{grid-column:auto}.music-room-ref-search-song b,.music-room-ref-search-song small,.music-room-ref-search-results .music-room-search-song b,.music-room-ref-search-results .music-room-search-song small{max-width:145px}}

/* Keep the room above all desktop widgets. */
.music-room-modal{z-index:100001!important}.music-room-overlay{z-index:100000!important}.music-room-modal.reference-open{border-radius:22px;background:#0a0b10;border-color:rgba(139,92,246,.28);box-shadow:0 30px 90px rgba(0,0,0,.58),0 0 0 1px rgba(139,92,246,.08)}
html.music-room-open,body.music-room-open{overflow:hidden!important}

/* Reference music-room search panel */
.music-room-ref-search-panel{padding:20px 24px;border-radius:16px;background:#121420;border:1px solid rgba(255,255,255,.06)}
.music-room-ref-search-panel[hidden]{display:none!important}.music-room-ref-search-panel{box-sizing:border-box;position:absolute;z-index:40;left:50%;top:50%;width:min(620px,calc(100% - 36px));max-height:calc(100% - 36px);transform:translate(-50%,-50%);overflow:auto;box-shadow:0 28px 90px rgba(0,0,0,.58),0 0 0 9999px rgba(2,6,16,.48)}.music-room-ref-search-panel>header{position:relative}.music-room-ref-search-close{order:2;margin-left:auto;float:none;height:28px;padding:0 10px;border:1px solid rgba(139,92,246,.25);border-radius:8px;background:rgba(139,92,246,.1);color:#c4b5fd;font-size:11px;cursor:pointer}.music-room-ref-search-panel>header>small{order:3}
.music-room-ref-search-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;border:1px solid rgba(139,92,246,.2);border-radius:16px;background:linear-gradient(135deg,rgba(139,92,246,.16),rgba(99,102,241,.08));color:#eef2ff;font-size:15px;font-weight:700;cursor:pointer}.music-room-ref-search-trigger:after{content:'⌕';font-size:20px;color:#a78bfa}.music-room-ref-sidebar>.music-room-ref-playlist{order:1;flex:none;max-height:360px;overflow:auto;padding:16px 14px;border:0;border-bottom:1px solid rgba(255,255,255,.06);border-radius:0;background:transparent}.music-room-ref-sidebar>.music-room-ref-playlist>header{margin-bottom:10px}.music-room-ref-sidebar>.music-room-ref-playlist>header div{gap:5px}.music-room-ref-sidebar>.music-room-ref-playlist>header button{padding:5px 8px;font-size:11px}.music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song{grid-template-columns:26px 36px minmax(0,1fr);padding:7px 4px;font-size:12px}.music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>small,.music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>em{display:none}.music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>div img,.music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>div i{width:32px;height:32px}.music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-queue-remove{padding:3px 5px;font-size:10px}
.music-room-ref-search-panel>header{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.music-room-ref-search-panel>header b{font-size:16px}.music-room-ref-search-panel>header small{color:#64748b;font-size:12px}
.music-room-ref-search-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.music-room-ref-search-tools select{height:38px;min-width:0;border:1px solid rgba(139,92,246,.25);border-radius:10px;padding:0 11px;background:#1b1e31;color:#dce4ff;outline:none}.music-room-ref-search-box{grid-column:1/-1;display:flex;gap:8px;margin-top:2px}.music-room-ref-search-box input{flex:1;min-width:0;height:38px;border:1px solid rgba(139,92,246,.25);border-radius:10px;padding:0 13px;background:#171a2a;color:#fff;outline:none}.music-room-ref-search-box input:focus,.music-room-ref-search-tools select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.12)}.music-room-ref-search-box button,.music-room-ref-search-item button{height:38px;padding:0 15px;border:0;border-radius:10px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-weight:700;cursor:pointer}.music-room-ref-search-results{display:grid;gap:6px;max-height:265px;overflow:auto;margin-top:14px;padding-right:2px}.music-room-ref-search-results::-webkit-scrollbar{width:5px}.music-room-ref-search-results::-webkit-scrollbar-thumb{background:rgba(139,92,246,.35);border-radius:99px}.music-room-ref-search-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.04)}.music-room-ref-search-item:hover{background:#1a1c2e}.music-room-ref-search-item>div:last-child{display:flex;gap:6px;flex:none}.music-room-ref-search-item>div:last-child button{height:30px;padding:0 9px;font-size:11px}.music-room-ref-search-song{display:flex;align-items:center;gap:9px;min-width:0}.music-room-ref-search-song img,.music-room-ref-search-song>span{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:7px;object-fit:cover;background:linear-gradient(135deg,#4c3a95,#1d274d);color:#c4b5fd;font-size:18px}.music-room-ref-search-song>div{display:grid;gap:3px;min-width:0}.music-room-ref-search-song b,.music-room-ref-search-song small{display:block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-room-ref-search-song small{font-size:11px;color:#94a3b8}.music-room-ref-search-hint{padding:18px 8px;color:#64748b;font-size:12px;text-align:center}
@media(max-width:640px){.music-room-ref-search-panel{padding:16px}.music-room-ref-search-tools{grid-template-columns:1fr}.music-room-ref-search-box{grid-column:auto}.music-room-ref-search-song b,.music-room-ref-search-song small{max-width:145px}.music-room-ref-sidebar>.music-room-ref-playlist{max-height:300px}}

/* Keep the reference room inside its modal; do not let the global player cover it. */
.music-room-modal.reference-open .music-room-ref-main{padding-bottom:92px;scrollbar-gutter:stable}.music-room-modal.reference-open .music-room-ref-sidebar{min-height:0;height:100%}.music-room-modal.reference-open .music-room-ref-content{min-width:0}.music-room-modal.reference-open .music-room-ref-dock{height:72px}.music-room-modal.reference-open .music-room-ref-nav{flex:none}
.music-room-modal.reference-open .music-room-ref-main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.music-room-modal.reference-open .music-room-ref-sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.72) rgba(255,255,255,.035)}.music-room-modal.reference-open .music-room-ref-sidebar::-webkit-scrollbar{width:8px}.music-room-modal.reference-open .music-room-ref-sidebar::-webkit-scrollbar-track{background:rgba(255,255,255,.035)}.music-room-modal.reference-open .music-room-ref-sidebar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a78bfa,#6d28d9);border-radius:99px}
.dock-ref-controls button,.dock-ref-list-btn,.music-room-ref-dock [data-mr-volume]{cursor:pointer}.dock-ref-controls button:hover,.music-room-ref-dock [data-mr-volume]:hover,.dock-ref-list-btn:hover{filter:brightness(1.16);transform:translateY(-1px)}.music-room-ref-dock>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:6px}.music-room-ref-dock [data-mr-volume],.dock-ref-list-btn{width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:#94a3b8;font-size:16px}.dock-ref-progress i{transition:width .2s linear}
.music-room-ref-chat-msg{min-width:0}.music-room-ref-chat-empty{padding:20px 4px;text-align:center;color:#64748b;font-size:12px}.music-room-ref-chat-input button:disabled{opacity:.55;cursor:wait}.music-room-ref-chat-input input:focus{border-color:rgba(139,92,246,.6);box-shadow:0 0 0 3px rgba(139,92,246,.12);outline:0}
.dock-ref-song{min-width:0}.dock-ref-song>span:not(:first-child){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-ref-favorite{width:30px;height:30px;border:0;background:transparent;color:#94a3b8;font-size:20px;cursor:pointer;padding:0}.dock-ref-favorite.active,.music-room-ref-tools button.active{color:#f472b6}.dock-ref-progress{cursor:pointer;touch-action:none}.dock-ref-progress:hover{height:6px}.dock-ref-progress[aria-disabled="true"]{cursor:not-allowed;opacity:.6}.music-room-ref-song.is-current{background:rgba(139,92,246,.14);border:1px solid rgba(139,92,246,.25)}.music-room-ref-song[onclick]{cursor:pointer}.music-room-ref-song.is-current>b{color:#c4b5fd}.music-room-ref-song.is-current>span{color:#a78bfa}.music-room-ref-hero time{min-width:84px;text-align:right}.music-room-ref-wave{animation:mrWavePulse 1.6s ease-in-out infinite alternate}@keyframes mrWavePulse{from{opacity:.55;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1.08)}}
.music-room-modal.reference-open .music-room-reference{position:relative}.music-room-modal.reference-open .music-room-ref-dock{position:absolute;left:0;right:0;bottom:0}
.music-room-ref-song{position:relative}.music-room-ref-queue-remove{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:4px 8px;border:1px solid rgba(248,113,113,.25);border-radius:7px;background:rgba(248,113,113,.1);color:#fca5a5;font-size:11px;cursor:pointer}.music-room-ref-queue-remove:hover{background:rgba(248,113,113,.22);color:#fff}.music-room-ref-song>em{padding-right:6px}
.music-room-svg-icon{display:inline-block;width:1em;height:1em;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transform:none;transform-origin:center;overflow:visible}.music-room-svg-icon+*{margin-left:.18em}.music-room-brand>span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;line-height:0;flex:0 0 28px}.music-room-brand .music-room-svg-icon{display:block;width:28px;height:28px;vertical-align:middle;stroke-width:1.7}.music-room-ref-nav .music-room-svg-icon{width:17px;height:17px}.music-room-modal button .music-room-svg-icon{width:17px;height:17px}.music-room-ref-tools button .music-room-svg-icon{width:20px;height:20px}.music-room-ref-dock .music-room-svg-icon{width:18px;height:18px}.music-room-ref-member .music-room-svg-icon{width:15px;height:15px}.music-room-svg-icon[fill]{stroke:none}
.music-room-modal button{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1;gap:6px}.music-room-modal button .music-room-svg-icon{display:block;flex:0 0 auto;vertical-align:middle;margin:0}.music-room-ref-tools button,.music-room-ref-dock button{line-height:1}.music-room-ref-tools button{gap:0}.music-room-ref-dock .dock-ref-controls button{display:inline-flex;align-items:center;justify-content:center}.music-room-ref-dock [data-mr-volume],.music-room-ref-dock .dock-ref-list-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;gap:0}.music-room-brand{line-height:1}.music-room-ref-stats,.music-room-card-cover,.music-room-benefits i,.music-room-ref-avatar{line-height:1}.music-room-ref-stats .music-room-svg-icon{vertical-align:middle}
.music-room-ref-member{min-width:0}.music-room-member-actions{margin-left:auto;display:flex;gap:4px;opacity:0;transition:opacity .18s}.music-room-ref-member:hover .music-room-member-actions,.music-room-member-actions:focus-within{opacity:1}.music-room-member-action{padding:4px 6px;border:1px solid rgba(139,92,246,.24);border-radius:6px;background:rgba(139,92,246,.1);color:#c4b5fd;font-size:10px;cursor:pointer;white-space:nowrap}.music-room-member-action.danger{border-color:rgba(248,113,113,.25);background:rgba(248,113,113,.1);color:#fca5a5}.music-room-ref-member b i.admin{background:#0ea5e9}.music-room-ref-member small{white-space:nowrap}
.music-room-ref-avatar{position:relative;font-size:13px;font-weight:700;color:#f3e8ff;text-transform:uppercase}.music-room-ref-avatar:after{content:'';position:absolute;right:-1px;bottom:0;width:8px;height:8px;border:2px solid #0f1626;border-radius:50%;background:#34d399}.music-room-ref-avatar[data-status="offline"]{filter:grayscale(.7);opacity:.65}.music-room-ref-avatar[data-status="offline"]:after{background:#64748b}.music-room-member-wave{margin-left:auto;color:#a78bfa;font-size:15px;letter-spacing:1px;animation:mrWavePulse 1.6s ease-in-out infinite alternate}.music-room-ref-member>.music-room-member-actions{display:flex;align-items:center;gap:4px;min-width:0}.music-room-ref-chat-msg{display:flex;align-items:flex-start;gap:9px}.music-room-ref-chat-avatar{width:28px;height:28px;display:grid;place-items:center;flex:none;border-radius:50%;background:linear-gradient(135deg,#d8a68d,#536dc4);color:#fff;font-size:11px;font-weight:700}.music-room-ref-chat-body{min-width:0}.music-room-ref-chat b{display:block}.music-room-ref-chat b time{margin-left:5px;color:#536079;font-size:10px;font-weight:400}.music-room-ref-chat p{max-width:100%;box-sizing:border-box;word-break:break-word}
.music-room-ref-sidebar>.music-room-ref-members{order:1;flex:none;max-height:260px;overflow:auto}.music-room-ref-sidebar>.music-room-ref-tabs{order:2;flex:none}.music-room-ref-sidebar>.music-room-ref-chat{order:3;min-height:180px}.music-room-ref-sidebar>.music-room-ref-chat-input{order:4;flex:none}.music-room-ref-search-panel,.music-room-ref-search-results{overscroll-behavior:contain;scrollbar-gutter:stable;overflow-anchor:none}

/* Reference room visual treatment: dark ocean room with layered glass cards. */
.music-room-modal.reference-open{background:#050913;border-color:rgba(139,92,246,.32);box-shadow:0 35px 100px rgba(0,0,0,.7),0 0 0 1px rgba(129,86,255,.08)}
.music-room-modal.reference-open .music-room-reference{background:linear-gradient(180deg,#070b16 0%,#090d18 58%,#070a13 100%)}
.music-room-modal.reference-open .music-room-ref-nav{height:72px;padding:0 10px;gap:26px;background:rgba(3,7,15,.94);border-bottom-color:rgba(255,255,255,.06)}
.music-room-modal.reference-open .music-room-ref-search{display:flex;align-items:center;justify-content:flex-start;gap:7px;padding:0 16px;border:1px solid rgba(255,255,255,.08);color:#67738d;font:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none}
.music-room-modal.reference-open .music-room-ref-search:hover{background:rgba(255,255,255,.11);color:#aab5cb}
.music-room-modal.reference-open .music-room-ref-search{flex:0 1 345px;min-width:180px}
.music-room-modal.reference-open .music-room-ref-nav .music-room-brand>b{font-size:21px!important;letter-spacing:-.02em}.music-room-modal.reference-open .music-room-ref-nav .music-room-brand>span{width:30px;height:30px;flex-basis:30px}.music-room-modal.reference-open .music-room-ref-nav nav{gap:38px;margin-left:28px}.music-room-modal.reference-open .music-room-ref-nav nav a{font-size:14px;font-weight:600}.music-room-modal.reference-open .music-room-ref-search{width:345px;height:40px;margin-left:auto;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.075);color:#67738d}.music-room-modal.reference-open .music-room-ref-nav>button{height:38px;padding:0 17px;border-radius:9px}.music-room-modal.reference-open .music-room-ref-user{width:34px;height:34px;margin-right:0}
.music-room-modal.reference-open .music-room-ref-main{max-width:none;padding:0 0 84px;grid-template-columns:minmax(0,1fr) minmax(340px,25vw);gap:32px;background:radial-gradient(circle at 24% 18%,rgba(25,45,90,.16),transparent 35%)}
.music-room-modal.reference-open .music-room-ref-content{gap:12px;padding-top:0}.music-room-modal.reference-open .music-room-ref-hero{height:clamp(365px,53vh,452px);border-radius:0 0 18px 18px;border-color:rgba(255,255,255,.08);background:#0b1121;box-shadow:0 18px 45px rgba(0,0,0,.28)}
.music-room-modal.reference-open .music-room-ref-art{filter:saturate(1.2) brightness(.83);transform:scale(1.04);transform-origin:center}.music-room-modal.reference-open .music-room-ref-hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,10,24,.32),transparent 48%,rgba(6,9,20,.2)),linear-gradient(180deg,rgba(3,7,18,.08),rgba(3,7,18,.72))}.music-room-modal.reference-open .music-room-ref-hero-shade{background:linear-gradient(180deg,rgba(4,7,17,.12),rgba(4,7,17,.48) 42%,rgba(4,7,17,.86))}
.music-room-modal.reference-open .music-room-ref-info{top:58px;left:44px}.music-room-modal.reference-open .music-room-ref-title-row{display:flex;align-items:center;gap:16px}.music-room-modal.reference-open .music-room-ref-info h1{font-size:30px;letter-spacing:.01em}.music-room-modal.reference-open .music-room-ref-info label{margin-top:0;padding:5px 11px;border-radius:14px;background:rgba(139,92,246,.2);border:1px solid rgba(167,139,250,.24);color:#dcd4ff}.music-room-modal.reference-open .music-room-ref-info p{margin:14px 0 22px;color:#a9b4cb;font-size:14px}.music-room-modal.reference-open .music-room-ref-stats{color:#a1acc2;font-size:13px}
.music-room-modal.reference-open .music-room-ref-tools{top:56px;right:42px}.music-room-modal.reference-open .music-room-ref-tools button{width:50px;height:50px;border-radius:13px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.13);font-size:21px}.music-room-modal.reference-open .music-room-ref-now{left:40px;right:40px;bottom:24px;height:156px;padding:20px;border-radius:15px;background:rgba(20,26,46,.88);border-color:rgba(255,255,255,.12);box-shadow:0 18px 35px rgba(0,0,0,.28)}.music-room-modal.reference-open .music-room-ref-cover,.music-room-modal.reference-open .music-room-ref-cover img,.music-room-modal.reference-open .music-room-ref-cover>span{width:116px;height:116px;border-radius:12px}.music-room-modal.reference-open .music-room-ref-cover{margin-right:16px}.music-room-modal.reference-open .music-room-ref-cover i{width:102px;height:102px;right:-28px;top:7px;opacity:.8}.music-room-modal.reference-open .music-room-ref-now h2{font-size:21px}.music-room-modal.reference-open .music-room-ref-now p{font-size:15px;margin:8px 0 10px}.music-room-modal.reference-open .music-room-ref-now small{font-size:11px}.music-room-modal.reference-open .music-room-ref-wave{font-size:17px;letter-spacing:3px;white-space:nowrap}.music-room-modal.reference-open .music-room-ref-now time{font-size:13px;min-width:92px}
.music-room-modal.reference-open .music-room-ref-playlist{padding:20px 22px;border-radius:16px;border-color:rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(21,28,49,.9),rgba(10,15,29,.94));box-shadow:0 18px 44px rgba(0,0,0,.22)}.music-room-modal.reference-open .music-room-ref-playlist>header{margin-bottom:12px}.music-room-modal.reference-open .music-room-ref-playlist>header b{font-size:17px}.music-room-modal.reference-open .music-room-ref-playlist>header small{font-size:12px;color:#73809b}.music-room-modal.reference-open .music-room-ref-playlist>header button{height:34px;padding:0 12px;border-radius:9px;background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.12)}.music-room-modal.reference-open .music-room-ref-song-list{gap:2px}.music-room-modal.reference-open .music-room-ref-song{grid-template-columns:32px 44px minmax(130px,2fr) minmax(140px,1.5fr) 90px;padding:9px 12px;border-radius:9px;color:#e7ebf7}.music-room-modal.reference-open .music-room-ref-song.is-current{background:rgba(139,92,246,.13);border-color:rgba(139,92,246,.24)}.music-room-modal.reference-open .music-room-ref-song>div img,.music-room-modal.reference-open .music-room-ref-song>div i{width:38px;height:38px}.music-room-modal.reference-open .music-room-ref-song>b{font-size:13px}.music-room-modal.reference-open .music-room-ref-song>small,.music-room-modal.reference-open .music-room-ref-song>em{color:#a4aec2}
.music-room-modal.reference-open .music-room-ref-sidebar{align-self:stretch;margin-top:0;border-radius:17px;border-color:rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(15,22,37,.96),rgba(9,14,25,.97));box-shadow:0 18px 48px rgba(0,0,0,.3)}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members{padding:24px 24px 12px;max-height:330px;border-bottom:1px solid rgba(255,255,255,.07)}.music-room-modal.reference-open .music-room-ref-tabs{padding:20px 24px 17px;gap:34px}.music-room-modal.reference-open .music-room-ref-tabs b{font-size:15px}.music-room-modal.reference-open .music-room-ref-tabs b:first-child{padding-bottom:15px;margin-bottom:-18px}.music-room-modal.reference-open .music-room-ref-member{padding:9px 0}.music-room-modal.reference-open .music-room-ref-avatar{width:40px;height:40px}.music-room-modal.reference-open .music-room-ref-member b{font-size:14px}.music-room-modal.reference-open .music-room-ref-member small{font-size:12px}.music-room-modal.reference-open .music-room-ref-chat{padding:20px 24px;gap:12px}.music-room-modal.reference-open .music-room-ref-chat-msg p{margin-top:5px;padding:9px 12px;border-radius:5px 12px 12px 12px;background:#1b2234;color:#e4e9f5}.music-room-modal.reference-open .music-room-ref-chat-input{padding:14px 24px;background:rgba(8,13,24,.9)}.music-room-modal.reference-open .music-room-ref-chat-input input{height:42px;background:#151d2d;border-color:rgba(255,255,255,.1)}.music-room-modal.reference-open .music-room-ref-chat-input button{width:42px;height:42px}
.music-room-modal.reference-open .music-room-ref-dock{height:84px;padding:0 28px;background:rgba(12,17,30,.98);border-top-color:rgba(255,255,255,.1)}.music-room-modal.reference-open .dock-ref-song{width:280px}.music-room-modal.reference-open .dock-ref-song img,.music-room-modal.reference-open .dock-ref-song>span:first-child{width:50px;height:50px;border-radius:8px}.music-room-modal.reference-open .dock-ref-controls{gap:24px}.music-room-modal.reference-open .dock-ref-controls button{width:38px;height:38px}.music-room-modal.reference-open .dock-ref-controls button[data-mr-play]{width:48px;height:48px}.music-room-modal.reference-open .dock-ref-progress{position:relative;left:auto;top:auto;width:min(420px,34vw);margin-left:10px}.music-room-modal.reference-open .music-room-ref-dock>div:last-child{width:150px}
@media(max-width:1050px){.music-room-modal.reference-open .music-room-ref-main{grid-template-columns:minmax(0,1fr) 340px;padding-left:16px;padding-right:16px}.music-room-modal.reference-open .music-room-ref-nav{padding:0 20px}.music-room-modal.reference-open .music-room-ref-search{width:240px}.music-room-modal.reference-open .music-room-ref-now{left:24px;right:24px}}
@media(min-width:761px) and (max-height:760px){.music-room-modal.reference-open .music-room-ref-main{padding-bottom:76px}.music-room-modal.reference-open .music-room-ref-hero{height:365px}.music-room-modal.reference-open .music-room-ref-now{height:132px;bottom:18px}.music-room-modal.reference-open .music-room-ref-cover,.music-room-modal.reference-open .music-room-ref-cover img,.music-room-modal.reference-open .music-room-ref-cover>span{width:92px;height:92px}.music-room-modal.reference-open .music-room-ref-cover i{width:84px;height:84px}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members{max-height:245px}}
@media(max-width:760px){.music-room-modal.reference-open .music-room-ref-main{display:block;padding:0 10px 88px}.music-room-modal.reference-open .music-room-ref-sidebar{margin-top:12px;min-height:620px}.music-room-modal.reference-open .music-room-ref-nav{padding:0 14px;gap:12px}.music-room-modal.reference-open .music-room-ref-nav nav,.music-room-modal.reference-open .music-room-ref-search{display:none}.music-room-modal.reference-open .music-room-ref-hero{height:430px}.music-room-modal.reference-open .music-room-ref-info{left:22px;top:28px}.music-room-modal.reference-open .music-room-ref-tools{right:20px;top:24px}.music-room-modal.reference-open .music-room-ref-tools button{width:38px;height:38px}.music-room-modal.reference-open .music-room-ref-now{left:16px;right:16px;height:128px;padding:12px}.music-room-modal.reference-open .music-room-ref-cover,.music-room-modal.reference-open .music-room-ref-cover img,.music-room-modal.reference-open .music-room-ref-cover>span{width:84px;height:84px}.music-room-modal.reference-open .music-room-ref-wave{display:none}.music-room-modal.reference-open .music-room-ref-song{grid-template-columns:26px 38px minmax(0,1fr) auto}.music-room-modal.reference-open .music-room-ref-song>small,.music-room-modal.reference-open .music-room-ref-song>em{display:none}.music-room-modal.reference-open .music-room-ref-dock{padding:0 12px}.music-room-modal.reference-open .dock-ref-song{width:auto}.music-room-modal.reference-open .music-room-ref-dock>div:last-child{display:none}.music-room-modal.reference-open .music-room-ref-progress{width:180px}}

/* Final reference refinements: keep the large now-playing card visually compact,
   add room depth to the hero, and reserve space for the fixed player on short windows. */
.music-room-modal.reference-open .music-room-ref-main{grid-template-columns:minmax(0,1fr) minmax(340px,25vw)}
.music-room-modal.reference-open .music-room-ref-now{right:auto;width:min(66%,680px)}
.music-room-modal.reference-open .music-room-ref-now{min-width:0}
.music-room-modal.reference-open .music-room-ref-now>.music-room-ref-wave{flex:0 0 auto}
.music-room-modal.reference-open .music-room-ref-now>time{flex:0 0 auto}
.music-room-modal.reference-open .music-room-ref-now>div:nth-child(2){min-width:0;overflow:hidden}
.music-room-modal.reference-open .music-room-ref-now h2,.music-room-modal.reference-open .music-room-ref-now p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.music-room-modal.reference-open .music-room-ref-hero:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(3,8,20,.42) 0%,transparent 42%,rgba(3,8,20,.1) 72%,rgba(3,8,20,.35) 100%)}
.music-room-modal.reference-open .music-room-ref-hero>.music-room-ref-info,.music-room-modal.reference-open .music-room-ref-hero>.music-room-ref-tools,.music-room-modal.reference-open .music-room-ref-hero>.music-room-ref-now{z-index:4}
@media(min-width:761px) and (max-height:760px){.music-room-modal.reference-open .music-room-ref-main{padding-bottom:84px}.music-room-modal.reference-open .music-room-ref-hero{height:300px}.music-room-modal.reference-open .music-room-ref-now{height:116px;bottom:14px;padding:14px}.music-room-modal.reference-open .music-room-ref-cover,.music-room-modal.reference-open .music-room-ref-cover img,.music-room-modal.reference-open .music-room-ref-cover>span{width:78px;height:78px}.music-room-modal.reference-open .music-room-ref-cover i{width:72px;height:72px}.music-room-modal.reference-open .music-room-ref-now h2{font-size:18px}.music-room-modal.reference-open .music-room-ref-now p{font-size:13px;margin:5px 0}.music-room-modal.reference-open .music-room-ref-sidebar{height:507px;min-height:0;align-self:start}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members{max-height:180px}.music-room-modal.reference-open .music-room-ref-playlist{max-height:180px;overflow:auto}.music-room-modal.reference-open .music-room-ref-dock{height:72px}.music-room-modal.reference-open .music-room-ref-main{padding-bottom:84px}}
@media(max-width:760px){.music-room-modal.reference-open .music-room-ref-now{right:16px;width:auto}.music-room-modal.reference-open .music-room-ref-main{padding-bottom:98px}}
@media(max-width:760px){.music-room-modal.reference-open .music-room-ref-search{display:none}}

@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-nav{gap:8px;padding:0 10px}
  .music-room-modal.reference-open .music-room-ref-nav .music-room-brand{gap:6px;min-width:0}
  .music-room-modal.reference-open .music-room-ref-nav .music-room-brand>b{font-size:17px!important;white-space:nowrap}
  .music-room-modal.reference-open .music-room-ref-nav>button:not(.music-room-ref-search){height:34px;padding:0 10px;font-size:11px;white-space:nowrap}
  .music-room-modal.reference-open .music-room-ref-user{width:30px;height:30px;flex:0 0 30px}
  .music-room-modal.reference-open .music-room-ref-search-panel>header{align-items:center;gap:8px}
  .music-room-modal.reference-open .music-room-ref-search-panel>header>b{white-space:nowrap;font-size:15px}
  .music-room-modal.reference-open .music-room-ref-search-panel>header>small{display:none}
  .music-room-modal.reference-open .music-room-ref-search-close{height:28px;flex:0 0 auto}
}

/* User-facing reading order: playlist first in the left column, then chat,
   and members after it in the right rail. The chat input stays attached to the
   chat block; mobile still hides the inactive panel via the real tabs. */
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-tabs{order:1!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat{order:2!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input{order:3!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members{order:4!important}

/* The rail is a three-way switch: playlist, chat, or members. */
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist[hidden],
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat[hidden],
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input[hidden],
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members[hidden]{display:none!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]),
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members:not([hidden]){display:flex!important;flex-direction:column;flex:1 1 auto;min-height:0;overflow:auto}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]) .music-room-ref-song-list,
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members:not([hidden]){align-content:start}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat:not([hidden]){display:grid!important;flex:1 1 auto;min-height:0;overflow:auto}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input:not([hidden]){display:flex!important;flex:none}
.music-room-modal.reference-open .music-room-ref-tabs{flex:none;gap:24px;overflow-x:auto;white-space:nowrap}
.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab]{flex:none}

/* Animate the hero bars from the real audio position instead of showing a
   static decorative waveform. */
.music-room-modal.reference-open .music-room-ref-wave{--mr-progress:0;--mr-wave-color:#8b5cf6;position:relative;overflow:hidden;color:var(--mr-wave-color)}
.music-room-modal.reference-open .music-room-ref-wave:after{content:'';position:absolute;left:0;top:0;bottom:0;width:calc(var(--mr-progress) * 100%);background:rgba(196,181,253,.85);mix-blend-mode:screen;pointer-events:none}

/* Keep the search entry available on desktop as well as mobile; it opens the
   same modal as the header/search actions and matches the reference layout. */
.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{
  display:flex!important;
  align-items:center;
  justify-content:center;
  height:42px;
  margin:0;
  border-radius:11px;
  padding:0 18px;
  font-size:14px;
}

/* Keep the playlist rows readable inside the compact right rail. */
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist{
  max-height:260px;
  overflow:auto;
}
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist{
    max-height:300px;
  }
}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song{
  grid-template-columns:26px 48px minmax(0,1fr) auto;
  column-gap:10px;
}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>div{
  min-width:0;
  display:flex;
  align-items:center;
}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>div img,
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>div i{
  width:40px;
  height:40px;
  flex:0 0 40px;
}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>small,
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>em{
  display:none;
}

/* Let the main column reach the modal edge like the reference while keeping a
   small mobile gutter for touch targets. */
.music-room-modal.reference-open .music-room-ref-content{padding-left:0}
.music-room-modal.reference-open .music-room-ref-sidebar{margin-right:10px}
@media(max-width:1050px){.music-room-modal.reference-open .music-room-ref-main{gap:18px;padding-left:16px;padding-right:0}.music-room-modal.reference-open .music-room-ref-sidebar{margin-right:16px}}
@media(max-width:760px){.music-room-modal.reference-open .music-room-ref-main{padding-left:10px;padding-right:10px}.music-room-modal.reference-open .music-room-ref-sidebar{margin-right:0}}

/* Align playlist metadata with the reference: song, artist, duration and requester. */
.music-room-modal.reference-open .music-room-ref-song{grid-template-columns:32px 44px minmax(130px,2fr) minmax(120px,1.35fr) 68px 92px}
.music-room-modal.reference-open .music-room-ref-song>time{color:#8f9bb2;text-align:right;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}
.music-room-modal.reference-open .music-room-ref-song>em{text-align:right}
.music-room-modal.reference-open .music-room-ref-song:has(.music-room-ref-queue-remove)>em{padding-right:72px}
@media(max-width:1050px){.music-room-modal.reference-open .music-room-ref-song{grid-template-columns:28px 40px minmax(110px,2fr) minmax(100px,1.2fr) 62px 76px}.music-room-modal.reference-open .music-room-ref-song>em{font-size:11px}}
@media(max-width:760px){.music-room-modal.reference-open .music-room-ref-song{grid-template-columns:26px 38px minmax(0,1fr) auto}.music-room-modal.reference-open .music-room-ref-song>time{display:none}}

/* Keep the compact playlist rail readable on small screens as well: reserve
   enough room for the cover before allowing the title to ellipsize. */
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song{
    grid-template-columns:26px 44px minmax(0,1fr) auto;
    column-gap:8px;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>div img,
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song>div i{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
}

/* Keep the reference reading order: playlist in the left column, members above
   chat in the right rail. The playlist is moved into the left content column
   by the runtime; these orders control the right rail after that move. */
.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-playlist{order:2}
.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{display:flex;align-items:center;justify-content:center;height:42px;margin:0;border-radius:11px;padding:0 18px;font-size:14px}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-tabs{order:1;flex:none}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members{order:2;flex:none;max-height:240px;overflow:auto}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat{order:3;flex:1;min-height:220px}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input{order:4;flex:none}
.music-room-modal.reference-open{width:min(1680px,calc(100vw - 64px))!important;height:min(940px,calc(100vh - 24px))!important;max-height:calc(100vh - 24px)!important}
@media(max-width:760px){.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{display:flex;margin:0 0 12px}}

/* Last-resort structural guard for old cached rules: after the runtime moves
   the playlist, make the two columns explicit at every desktop width. */
@media(min-width:1051px){
  .music-room-modal.reference-open .music-room-ref-main{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(340px,25vw)!important;align-items:start}
  .music-room-modal.reference-open .music-room-ref-content{display:flex!important;flex-direction:column!important}
  .music-room-modal.reference-open .music-room-ref-content>.music-room-ref-playlist{display:block!important;width:100%;box-sizing:border-box}
  .music-room-modal.reference-open .music-room-ref-sidebar{display:flex!important;flex-direction:column!important}
}

/* At tablet widths the rail moves below the hero instead of competing with a
   340px minimum column.  This keeps the now-playing card wide enough for its
   title, waveform, and time label. */
@media(min-width:761px) and (max-width:1050px){
  .music-room-modal.reference-open .music-room-ref-main{
    display:block!important;
    padding:0 16px 100px!important;
    overflow:auto!important;
  }
  .music-room-modal.reference-open .music-room-ref-content{display:flex!important;width:100%!important}
  .music-room-modal.reference-open .music-room-ref-sidebar{display:flex!important;width:100%!important;margin:18px 0 0!important;max-height:none!important}
  .music-room-modal.reference-open .music-room-ref-hero{height:360px!important}
  .music-room-modal.reference-open .music-room-ref-now{width:min(76%,660px)!important;left:24px!important}
}

/* Search is a real modal: block the room behind it so wheel/touch events stay
   inside the result list instead of bubbling to the main room scroller. */
.music-room-modal.reference-open.search-open .music-room-reference:after{
  content:'';
  position:absolute;
  inset:0;
  z-index:35;
  background:rgba(2,6,16,.28);
  pointer-events:auto;
}
.music-room-modal.reference-open.search-open .music-room-ref-search-panel{
  z-index:40;
}
.music-room-search-end{padding:10px 8px;text-align:center;color:#64748b;font-size:11px}
.music-room-modal.reference-open .music-room-ref-search-trigger:after{content:none}
.music-room-modal.reference-open .music-room-ref-search-trigger .music-room-svg-icon{width:17px;height:17px;color:#c4b5fd}
.music-room-modal.reference-open .music-room-moon-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;vertical-align:-3px;color:#fbbf24}
.music-room-modal.reference-open .music-room-moon-icon .music-room-svg-icon{width:25px;height:25px;stroke:#fbbf24;stroke-width:1.7}
.music-room-modal.reference-open .music-room-ref-stats{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{display:none!important}
@media(max-width:760px){.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{display:flex!important}}

/* Final interaction guard: the search dialog owns scrolling while open, and
   the side labels remain real keyboard/click targets even with legacy markup. */
.music-room-modal.reference-open .music-room-ref-main.search-blocked{overflow:hidden!important;touch-action:none}
.music-room-modal.reference-open .music-room-ref-tabs{align-items:flex-end}
.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab]{appearance:none;-webkit-appearance:none;border:0;border-bottom:2px solid transparent;border-radius:0;margin:0;padding:0 0 15px;background:transparent;color:#8490a8;font-family:inherit;font-size:15px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap}
.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab].active{color:#fff;border-bottom-color:#a66bff}
.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab]:focus-visible{outline:2px solid rgba(167,139,250,.8);outline-offset:4px;border-radius:3px}
.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab] small{font-family:inherit;font-size:12px;font-weight:400;line-height:1;color:#66738c}
.music-room-modal.reference-open .music-room-ref-search-panel{overscroll-behavior:contain;touch-action:auto}
.music-room-modal.reference-open .music-room-ref-search-results{overscroll-behavior:contain;touch-action:pan-y}
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab]{font-size:14px;padding-bottom:12px}
}

/* Keep close controls at the far right of both reference surfaces.  The
   search dialog's markup places the close button before its helper text, so
   flex ordering keeps the helper copy beside the title and the close action
   as the final, right-most item. */
.music-room-modal.reference-open .music-room-ref-search-panel>header{
  display:flex;
  align-items:center;
  gap:10px;
}
.music-room-modal.reference-open .music-room-ref-search-panel>header>b{order:1}
.music-room-modal.reference-open .music-room-ref-search-panel>header>small{order:2}
.music-room-modal.reference-open .music-room-ref-search-panel>header>.music-room-ref-search-close{
  order:3;
  margin-left:auto;
  float:none;
  flex:0 0 auto;
}

/* The room header no longer uses a profile/avatar action.  Hide the legacy
   placeholder and make the purple close button the last visible control. */
.music-room-modal.reference-open .music-room-ref-nav>.music-room-ref-user{
  display:none!important;
}
.music-room-modal.reference-open .music-room-ref-nav>.music-room-ref-close{
  order:5;
  flex:0 0 40px;
  width:40px;
  height:40px;
  margin-left:0;
  padding:0;
  border:1px solid rgba(255,255,255,.13);
  border-radius:10px;
  background:linear-gradient(135deg,#7657f5,#6540dc);
  color:#fff;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-nav>.music-room-ref-close{
    flex-basis:36px;
    width:36px;
    height:36px;
    padding:0;
    margin-left:auto;
  }
}

/* Last-pass tab sizing (kept at EOF so older compatibility rules cannot
   re-expand the chat view). */
@media(min-width:1051px){
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat{
    height:340px!important;
    min-height:340px!important;
    max-height:340px!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat
    > .music-room-ref-chat:not([hidden]){
    height:212px!important;
    min-height:0!important;
    max-height:none!important;
    flex:1 1 auto!important;
    overflow:auto!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat
    > .music-room-ref-chat-input:not([hidden]){
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    flex:0 0 60px!important;
    box-sizing:border-box!important;
    padding:9px 18px!important;
  }
}
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat
    > .music-room-ref-chat:not([hidden]){
    height:170px!important;
    min-height:0!important;
    max-height:none!important;
    flex:1 1 auto!important;
    overflow:auto!important;
    padding-bottom:14px!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat
    > .music-room-ref-chat-input:not([hidden]){
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    flex:0 0 60px!important;
    box-sizing:border-box!important;
    padding:8px 14px!important;
  }
}

/* Match the chat rail to the compact playlist rail on a wide screen.  The
   empty-state copy should not create a noticeably taller card, while real
   conversations can still scroll inside the message area. */
@media(min-width:1051px){
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat{
    height:340px!important;
    min-height:340px!important;
    max-height:340px!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat
    > .music-room-ref-chat:not([hidden]){
    min-height:0!important;
    height:212px!important;
    max-height:none!important;
    flex:1 1 auto!important;
    overflow:auto!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat
    > .music-room-ref-chat-input:not([hidden]){
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    flex:0 0 60px!important;
    box-sizing:border-box!important;
    padding:9px 18px!important;
  }
}

/* On a phone the side rail follows the hero in the page scroll. Keep each
   selected view bounded so switching tabs never produces a giant blank gap;
   the message list remains the only scrollable portion. */
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat
    > .music-room-ref-chat:not([hidden]){
    min-height:0!important;
    height:170px!important;
    max-height:none!important;
    flex:1 1 auto!important;
    overflow:auto!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat
    > .music-room-ref-chat-input:not([hidden]){
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    flex:0 0 60px!important;
    box-sizing:border-box!important;
    padding:8px 14px!important;
  }
}

/* The room itself is already a scroll surface.  A coloured browser scrollbar
   down the edge of the modal reads like an extra panel and, on phones, can
   cover the final few pixels of the fixed player.  Keep scrolling available
   while making the edge visually quiet; the inner search/list surfaces keep
   their own touch and wheel scrolling. */
.music-room-modal.reference-open,
.music-room-modal.reference-open .music-room-reference,
.music-room-modal.reference-open .music-room-ref-main{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.music-room-modal.reference-open::-webkit-scrollbar,
.music-room-modal.reference-open .music-room-reference::-webkit-scrollbar,
.music-room-modal.reference-open .music-room-ref-main::-webkit-scrollbar{
  width:0!important;
  height:0!important;
}

/* Keep the compact rail from growing a second visual frame when a tab has
   little content.  The selected view remains scrollable when its content is
   longer than the reserved tablet/mobile height. */
@media(min-width:761px) and (max-width:1050px){
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat
    > .music-room-ref-chat:not([hidden]){
    height:240px!important;
    min-height:0!important;
    max-height:none!important;
    flex:1 1 auto!important;
    overflow:auto!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat
    > .music-room-ref-chat-input:not([hidden]){
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    flex:0 0 60px!important;
    box-sizing:border-box!important;
    padding:9px 18px!important;
  }
}

/* On phones the members/chat tabs are mutually exclusive. Keep the desktop
   two-panel reference unchanged while giving the narrow layout a single,
   predictable scroll target. */
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members[hidden],
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat[hidden],
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist[hidden],
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input[hidden]{display:none!important}
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]){max-height:none;overflow:auto}
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members:not([hidden]){max-height:none;overflow:auto}
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat:not([hidden]){min-height:260px;flex:1}
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat>.music-room-ref-chat:not([hidden]){min-height:400px}
}

/* Ensure the reference rail always reads members first, then chat, regardless
   of earlier compatibility rules or the order returned by the API. */
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-tabs{order:1!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members{order:2!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat{order:3!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input{order:4!important}
.music-room-modal.reference-open .music-room-ref-info h1 .music-room-ref-title-text{color:#fff}

/* The desktop reference width guard above intentionally leaves a generous
   outer gutter. On phones that same rule would make the room only 326px wide
   on a 390px viewport, so the mobile layout gets the final say here. */
@media(max-width:760px){
  .music-room-modal.reference-open{
    width:calc(100vw - 10px)!important;
    height:calc(100vh - 10px)!important;
    max-height:calc(100vh - 10px)!important;
  }
  /* Keep the room title clear of the three hero actions on narrow screens.
     Long Chinese room names should wrap in their own column instead of being
     covered by the favorite/share/more buttons. */
  .music-room-modal.reference-open .music-room-ref-info{
    right:16px;
    width:auto;
    max-width:calc(100% - 32px);
  }
  .music-room-modal.reference-open .music-room-ref-title-row{display:block}
  .music-room-modal.reference-open .music-room-ref-title-row h1{
    display:flex;
    align-items:flex-start;
    gap:8px;
    max-width:calc(100% - 138px);
    font-size:22px;
    line-height:1.2;
    margin-bottom:10px;
  }
  .music-room-modal.reference-open .music-room-ref-title-text{
    min-width:0;
    overflow-wrap:anywhere;
  }
  .music-room-modal.reference-open .music-room-moon-icon{
    flex:0 0 25px;
    margin-top:2px;
  }
  .music-room-modal.reference-open .music-room-ref-title-row label{margin-left:0}
  .music-room-modal.reference-open .music-room-ref-tools{top:18px;right:16px}
}

/* Keep the reference hierarchy readable on short desktop windows and phones:
   playlist is a normal section in the left column, while the right rail keeps
   its tabs at the top and does not steal the main page scroll. */
@media(min-width:761px){
  .music-room-modal.reference-open .music-room-ref-content>.music-room-ref-playlist{
    max-height:360px;
    overflow:auto;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar{
    overflow:hidden!important;
    overflow-y:hidden!important;
  }
}
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-main{
    overflow-y:auto;
    overscroll-behavior:contain;
    /* The player is fixed over the modal.  Reserve its full height plus a
       small touch-safe buffer so the chat composer/member rows can be scrolled
       completely above it instead of ending underneath the dock. */
    padding-bottom:calc(88px + 84px + 64px);
  }
  .music-room-modal.reference-open .music-room-ref-content>.music-room-ref-playlist{
    max-height:300px;
    overflow:auto;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar{
    overflow:visible!important;
    overflow-y:visible!important;
  }
}

/* Search results must remain usable when a long title is returned: keep the
   action buttons visible and allow only the song metadata column to shrink. */
.music-room-modal.reference-open .music-room-ref-search-item,
.music-room-modal.reference-open .music-room-search-item{
  min-width:0;
}
.music-room-modal.reference-open .music-room-ref-search-item>div:first-child,
.music-room-modal.reference-open .music-room-search-item>div:first-child{
  min-width:0;
  flex:1 1 auto;
}
.music-room-modal.reference-open .music-room-ref-search-item>div:last-child,
.music-room-modal.reference-open .music-room-search-item>div:last-child{
  flex:0 0 auto;
}

/* Final cascade: leave the mobile/desktop search trigger visible. */
.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{
  display:flex!important;
  align-items:center;
  justify-content:center;
  height:42px;
  margin:0;
  border-radius:11px;
  padding:0 18px;
  font-size:14px;
}

/* Final cascade guard for the requested desktop reading order. */
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-tabs{order:1!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat{order:2!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input{order:3!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members{order:4!important}

@media(min-width:761px) and (max-height:820px){
  .music-room-modal.reference-open .music-room-ref-sidebar{
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    scrollbar-width:thin;
  }
}

/* Keep the reference header on one line at medium desktop widths. */
@media(min-width:761px) and (max-width:1100px){
  .music-room-modal.reference-open .music-room-ref-nav{
    gap:14px;
    padding-left:16px;
    padding-right:16px;
  }
  .music-room-modal.reference-open .music-room-ref-nav .music-room-brand{
    flex:0 0 auto;
    min-width:max-content;
  }
  .music-room-modal.reference-open .music-room-ref-nav .music-room-brand>b{
    white-space:nowrap!important;
    font-size:18px!important;
    line-height:1!important;
  }
  .music-room-modal.reference-open .music-room-ref-nav nav{
    gap:20px;
    margin-left:4px;
    flex:0 0 auto;
  }
  .music-room-modal.reference-open .music-room-ref-nav .music-room-ref-search{
    min-width:150px;
    width:clamp(150px,24vw,240px);
  }
  .music-room-modal.reference-open .music-room-ref-nav>button:not(.music-room-ref-search){
    white-space:nowrap;
    padding-left:11px;
    padding-right:11px;
  }
}

/* Polished now-playing treatment: the reference uses a live waveform, not a
   seek/progress bar.  The bars stay high and readable while their animation
   follows the actual play/pause state through data-playing. */
.music-room-modal.reference-open .music-room-ref-wave{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:230px;
  min-width:170px;
  height:58px;
  margin-left:auto;
  color:#a78bfa;
  letter-spacing:0;
  white-space:normal;
  overflow:visible;
  transform:none;
}
.music-room-modal.reference-open .music-room-ref-wave:before,
.music-room-modal.reference-open .music-room-ref-wave:after{display:none!important;content:none!important}
.music-room-modal.reference-open .music-room-ref-wave i{
  display:block;
  flex:1 1 0;
  width:5px;
  max-width:8px;
  height:var(--wave-height,calc(var(--wave-h,50) * 1%));
  min-height:10px;
  border-radius:999px;
  background:linear-gradient(180deg,#c4b5fd 0%,#a78bfa 42%,#7c3aed 100%);
  box-shadow:0 0 13px rgba(139,92,246,.38),inset 0 1px 0 rgba(255,255,255,.28);
  transform-origin:center;
  animation:musicRoomHighWave 1.05s ease-in-out infinite alternate;
}
.music-room-modal.reference-open .music-room-ref-wave i:nth-child(2n){animation-delay:-.18s}
.music-room-modal.reference-open .music-room-ref-wave i:nth-child(3n){animation-delay:-.36s}
.music-room-modal.reference-open .music-room-ref-wave i:nth-child(4n){animation-delay:-.52s}
.music-room-modal.reference-open .music-room-ref-wave[data-playing="false"] i{animation-play-state:paused;opacity:.66;transform:scaleY(.72)}
@keyframes musicRoomHighWave{from{transform:scaleY(.62);opacity:.68}to{transform:scaleY(1.12);opacity:1}}

/* Remove every seek-line variant, including legacy rules earlier in this
   stylesheet.  Time text remains available beside the waveform. */
.music-room-modal.reference-open .dock-ref-progress,
.music-room-modal.reference-open [data-mr-seekbar],
.music-room-modal.reference-open [data-mr-progress]{display:none!important}

/* Extra finish on the room shell: stronger surfaces, quieter separators and
   clearer selected-state contrast without changing the requested layout. */
.music-room-modal.reference-open .music-room-ref-sidebar{
  background:linear-gradient(180deg,rgba(18,25,44,.98),rgba(8,13,26,.98));
  border-color:rgba(167,139,250,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.035);
}
.music-room-modal.reference-open .music-room-ref-tabs{
  min-height:68px;
  padding:18px 22px 0;
  gap:28px;
  background:rgba(11,17,31,.72);
  border-bottom-color:rgba(255,255,255,.07);
}
.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab]{
  position:relative;
  padding:0 0 17px;
  color:#75829b;
  border-bottom:0;
  transition:color .18s ease,transform .18s ease;
}
.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab]:hover{color:#d9d4ef;transform:translateY(-1px)}
.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab].active{color:#fff;border-bottom:0}
.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab].active:after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:3px;
  border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,#c4b5fd,#7c3aed);
  box-shadow:0 0 16px rgba(139,92,246,.75);
}
.music-room-modal.reference-open .music-room-ref-playlist:not([hidden]),
.music-room-modal.reference-open .music-room-ref-members:not([hidden]){
  padding:20px 22px;
  background:linear-gradient(180deg,rgba(16,24,42,.55),rgba(8,13,26,.18));
}
.music-room-modal.reference-open .music-room-ref-chat:not([hidden]){
  padding:22px;
  background:linear-gradient(180deg,rgba(16,24,42,.38),rgba(8,13,26,.15));
}
.music-room-modal.reference-open .music-room-ref-song{
  min-height:62px;
  padding:9px 12px;
  border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.music-room-modal.reference-open .music-room-ref-song:hover{
  transform:translateX(2px);
  background:rgba(139,92,246,.09);
  border-color:rgba(167,139,250,.18);
}
.music-room-modal.reference-open .music-room-ref-song.is-current{
  background:linear-gradient(100deg,rgba(124,58,237,.22),rgba(67,56,202,.08));
  border-color:rgba(167,139,250,.34);
  box-shadow:inset 3px 0 0 #a78bfa,0 8px 22px rgba(76,29,149,.15);
}
.music-room-modal.reference-open .music-room-ref-now{
  box-shadow:0 22px 46px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06);
}
.music-room-modal.reference-open .music-room-ref-tools button{
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.music-room-modal.reference-open .music-room-ref-tools button:hover{
  transform:translateY(-2px);
  background:rgba(167,139,250,.2);
  border-color:rgba(196,181,253,.34);
}
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-now{gap:6px;padding:9px 10px}
  .music-room-modal.reference-open .music-room-ref-cover,
  .music-room-modal.reference-open .music-room-ref-cover img,
  .music-room-modal.reference-open .music-room-ref-cover>span{width:68px;height:68px}
  .music-room-modal.reference-open .music-room-ref-cover{margin-right:0}
  .music-room-modal.reference-open .music-room-ref-cover i{width:62px;height:62px;right:-17px;top:4px}
  .music-room-modal.reference-open .music-room-ref-now>div:nth-child(2){flex:0 1 78px;max-width:78px}
  .music-room-modal.reference-open .music-room-ref-now h2{font-size:15px}
  .music-room-modal.reference-open .music-room-ref-now p{font-size:11px;margin:4px 0 6px}
  .music-room-modal.reference-open .music-room-ref-wave{display:flex;width:78px;min-width:78px;height:46px;gap:3px}
  .music-room-modal.reference-open .music-room-ref-wave i{min-height:7px;max-width:5px}
  .music-room-modal.reference-open .music-room-ref-now>time{flex:0 0 54px;min-width:54px;font-size:10px;white-space:nowrap;letter-spacing:-.04em}
}

/* Scrolling remains available for long queues/member lists, but the rail and
   search panel use a quiet scrollbar so it does not compete with the artwork. */
.music-room-modal.reference-open .music-room-ref-sidebar,
.music-room-modal.reference-open .music-room-ref-playlist,
.music-room-modal.reference-open .music-room-ref-members,
.music-room-modal.reference-open .music-room-ref-chat,
.music-room-modal.reference-open .music-room-ref-search-results{
  scrollbar-width:thin;
  scrollbar-color:rgba(167,139,250,.42) transparent;
}
.music-room-modal.reference-open .music-room-ref-sidebar::-webkit-scrollbar,
.music-room-modal.reference-open .music-room-ref-playlist::-webkit-scrollbar,
.music-room-modal.reference-open .music-room-ref-members::-webkit-scrollbar,
.music-room-modal.reference-open .music-room-ref-chat::-webkit-scrollbar,
.music-room-modal.reference-open .music-room-ref-search-results::-webkit-scrollbar{width:6px;height:6px}
.music-room-modal.reference-open .music-room-ref-sidebar::-webkit-scrollbar-track,
.music-room-modal.reference-open .music-room-ref-playlist::-webkit-scrollbar-track,
.music-room-modal.reference-open .music-room-ref-members::-webkit-scrollbar-track,
.music-room-modal.reference-open .music-room-ref-chat::-webkit-scrollbar-track,
.music-room-modal.reference-open .music-room-ref-search-results::-webkit-scrollbar-track{background:transparent}
.music-room-modal.reference-open .music-room-ref-sidebar::-webkit-scrollbar-thumb,
.music-room-modal.reference-open .music-room-ref-playlist::-webkit-scrollbar-thumb,
.music-room-modal.reference-open .music-room-ref-members::-webkit-scrollbar-thumb,
.music-room-modal.reference-open .music-room-ref-chat::-webkit-scrollbar-thumb,
.music-room-modal.reference-open .music-room-ref-search-results::-webkit-scrollbar-thumb{background:rgba(167,139,250,.42);border-radius:999px}

/* Minimal premium visual pass: calm surfaces, tighter hierarchy, and a
   right rail whose empty state still feels deliberately designed. */
.music-room-modal.reference-open{border:1px solid rgba(150,132,255,.24)!important;border-radius:20px!important;background:#080c16!important;box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.025) inset!important}
.music-room-modal.reference-open .music-room-reference{background:radial-gradient(circle at 12% 18%,rgba(112,84,230,.08),transparent 28%),linear-gradient(180deg,#080c16 0%,#090d18 100%)}
.music-room-modal.reference-open .music-room-ref-nav{height:68px;padding:0 26px;background:rgba(7,10,18,.88);border-bottom:1px solid rgba(255,255,255,.055);backdrop-filter:blur(18px)}
.music-room-modal.reference-open .music-room-ref-nav .music-room-brand>b{font-weight:650!important;letter-spacing:-.03em}
.music-room-modal.reference-open .music-room-ref-nav .music-room-brand>span{color:#a78bfa;background:rgba(139,92,246,.12);border:1px solid rgba(167,139,250,.18)}
.music-room-modal.reference-open .music-room-ref-nav nav a{color:#78849c;font-weight:500;transition:color .2s ease}.music-room-modal.reference-open .music-room-ref-nav nav a:hover,.music-room-modal.reference-open .music-room-ref-nav nav a.active{color:#f1efff}.music-room-modal.reference-open .music-room-ref-nav nav a.active{border-bottom:2px solid #a78bfa}
.music-room-modal.reference-open .music-room-ref-search{height:38px;border-radius:11px;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.075)!important;color:#74809a!important;box-shadow:0 1px 0 rgba(255,255,255,.03) inset}
.music-room-modal.reference-open .music-room-ref-close{background:#171229!important;border-color:rgba(167,139,250,.28)!important;color:#c4b5fd!important;transition:background .2s ease,border-color .2s ease,transform .2s ease}.music-room-modal.reference-open .music-room-ref-close:hover{background:#251b49!important;border-color:rgba(196,181,253,.55)!important;transform:translateY(-1px)}
.music-room-modal.reference-open .music-room-ref-main{gap:24px!important;padding-bottom:88px!important;background:transparent!important}.music-room-modal.reference-open .music-room-ref-content{gap:14px!important}
.music-room-modal.reference-open .music-room-ref-hero{border-radius:0 0 18px 18px!important;border-color:rgba(255,255,255,.07)!important;box-shadow:0 20px 52px rgba(0,0,0,.22)!important}.music-room-modal.reference-open .music-room-ref-hero:after{background:linear-gradient(90deg,rgba(4,7,16,.5),transparent 48%,rgba(4,7,16,.18)),linear-gradient(180deg,rgba(3,6,14,.04),rgba(3,6,14,.82))!important}
.music-room-modal.reference-open .music-room-ref-info{left:42px!important;top:54px!important}.music-room-modal.reference-open .music-room-ref-info h1{font-size:29px!important;font-weight:680;letter-spacing:-.035em!important}.music-room-modal.reference-open .music-room-ref-info p{color:#9ba6bb!important;letter-spacing:.01em}.music-room-modal.reference-open .music-room-ref-stats{color:#8995ac!important}
.music-room-modal.reference-open .music-room-ref-tools{right:38px!important;top:52px!important;gap:8px!important}.music-room-modal.reference-open .music-room-ref-tools button{width:42px!important;height:42px!important;border-radius:11px!important;background:rgba(7,10,20,.38)!important;border-color:rgba(255,255,255,.1)!important;color:#d8d4ed!important;transition:background .2s ease,border-color .2s ease,transform .2s ease}.music-room-modal.reference-open .music-room-ref-tools button:hover{background:rgba(139,92,246,.2)!important;border-color:rgba(196,181,253,.35)!important;transform:translateY(-1px)}
.music-room-modal.reference-open .music-room-ref-now{left:38px!important;bottom:22px!important;width:min(63%,660px)!important;height:132px!important;padding:16px 18px!important;border-radius:14px!important;background:rgba(12,17,31,.86)!important;border-color:rgba(255,255,255,.1)!important;box-shadow:0 16px 36px rgba(0,0,0,.28),0 1px 0 rgba(255,255,255,.05) inset!important}.music-room-modal.reference-open .music-room-ref-cover,.music-room-modal.reference-open .music-room-ref-cover img,.music-room-modal.reference-open .music-room-ref-cover>span{width:92px!important;height:92px!important;border-radius:10px!important}.music-room-modal.reference-open .music-room-ref-cover i{width:82px!important;height:82px!important;right:-22px!important}.music-room-modal.reference-open .music-room-ref-now h2{font-size:19px!important;font-weight:650}.music-room-modal.reference-open .music-room-ref-now p{font-size:13px!important;color:#929db4!important}.music-room-modal.reference-open .music-room-ref-wave{color:#a78bfa!important;opacity:.9}
.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{width:max-content!important;min-width:192px;height:40px!important;margin:0 0 0 38px!important;padding:0 18px!important;border:1px solid rgba(167,139,250,.28)!important;border-radius:10px!important;background:rgba(139,92,246,.1)!important;color:#d8d0ff!important;font-size:13px!important;font-weight:600!important;box-shadow:none!important;transition:background .2s ease,border-color .2s ease,transform .2s ease}.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger:hover{background:rgba(139,92,246,.18)!important;border-color:rgba(196,181,253,.5)!important;transform:translateY(-1px)}
.music-room-modal.reference-open .music-room-ref-sidebar{align-self:start!important;min-height:0!important;height:fit-content!important;max-height:calc(100vh - 174px)!important;border-radius:15px!important;border-color:rgba(255,255,255,.085)!important;background:linear-gradient(180deg,rgba(14,20,34,.96),rgba(9,14,25,.98))!important;box-shadow:0 18px 42px rgba(0,0,0,.28)!important}.music-room-modal.reference-open .music-room-ref-tabs{padding:18px 20px 15px!important;gap:26px!important;border-bottom:1px solid rgba(255,255,255,.06)!important}.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab]{padding-bottom:12px!important;color:#738098!important;font-size:14px!important;font-weight:600!important}.music-room-modal.reference-open .music-room-ref-tabs>[data-mr-side-tab].active{color:#f2efff!important;border-bottom-color:#a78bfa!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]){flex:none!important;max-height:none!important;min-height:208px!important;overflow:hidden!important;padding:18px 18px 16px!important;background:transparent!important}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden])>header{margin-bottom:12px!important}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden])>header b{font-size:15px!important;font-weight:650}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden])>header small{color:#6f7b93!important}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song-list{gap:3px!important}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song{min-height:54px;padding:7px 8px!important;border:1px solid transparent;border-radius:10px!important;transition:background .2s ease,border-color .2s ease}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song:hover{background:rgba(255,255,255,.045)!important}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-song.is-current{background:rgba(139,92,246,.11)!important;border-color:rgba(167,139,250,.28)!important}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist .music-room-ref-empty{min-height:126px;display:grid;place-items:center;padding:18px!important;color:#5e6b84!important;text-align:center}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:has(.music-room-ref-empty){min-height:278px!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members:not([hidden]){max-height:310px!important;padding:16px 20px!important}.music-room-modal.reference-open .music-room-ref-member{padding:8px 0!important}.music-room-modal.reference-open .music-room-ref-avatar{width:36px!important;height:36px!important;background:linear-gradient(145deg,#343d61,#7162b4)!important;border:1px solid rgba(255,255,255,.08)}.music-room-modal.reference-open .music-room-ref-member b{font-size:13px!important;font-weight:600}.music-room-modal.reference-open .music-room-ref-member small{color:#69758d!important}.music-room-modal.reference-open .music-room-ref-chat{background:rgba(4,8,16,.18)}.music-room-modal.reference-open .music-room-ref-chat-input{border-top-color:rgba(255,255,255,.055)!important;background:rgba(8,12,21,.76)!important}.music-room-modal.reference-open .music-room-ref-chat-input input{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.09)!important}
.music-room-modal.reference-open .music-room-ref-dock{height:76px!important;padding:0 26px!important;background:rgba(8,12,21,.94)!important;border-top:1px solid rgba(255,255,255,.075)!important;box-shadow:0 -10px 30px rgba(0,0,0,.18)!important;backdrop-filter:blur(18px)}.music-room-modal.reference-open .music-room-ref-dock .dock-ref-song img,.music-room-modal.reference-open .music-room-ref-dock .dock-ref-song>span:first-child{width:46px!important;height:46px!important;border-radius:8px!important}.music-room-modal.reference-open .dock-ref-controls{gap:20px!important}.music-room-modal.reference-open .dock-ref-controls button{background:rgba(255,255,255,.08)!important;color:#c8c2e5!important}.music-room-modal.reference-open .dock-ref-controls button[data-mr-play]{background:#8b5cf6!important;color:#fff!important;box-shadow:0 8px 20px rgba(139,92,246,.28)}.music-room-modal.reference-open .music-room-ref-dock>div:last-child button{color:#8995ac!important}
@media(max-width:1050px){.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{margin-left:24px!important}.music-room-modal.reference-open .music-room-ref-now{left:24px!important;width:min(70%,660px)!important}}
@media(max-width:760px){.music-room-modal.reference-open .music-room-ref-nav{height:60px;padding:0 12px}.music-room-modal.reference-open .music-room-ref-main{gap:12px!important;padding-bottom:94px!important}.music-room-modal.reference-open .music-room-ref-info{left:22px!important;top:26px!important}.music-room-modal.reference-open .music-room-ref-info h1{font-size:24px!important}.music-room-modal.reference-open .music-room-ref-tools{right:18px!important;top:22px!important}.music-room-modal.reference-open .music-room-ref-tools button{width:36px!important;height:36px!important}.music-room-modal.reference-open .music-room-ref-now{left:16px!important;right:16px!important;width:auto!important;height:116px!important;bottom:16px!important;padding:12px!important}.music-room-modal.reference-open .music-room-ref-cover,.music-room-modal.reference-open .music-room-ref-cover img,.music-room-modal.reference-open .music-room-ref-cover>span{width:76px!important;height:76px!important}.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{margin-left:16px!important;min-width:176px}.music-room-modal.reference-open .music-room-ref-sidebar{max-height:none!important}.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:has(.music-room-ref-empty){min-height:240px!important}.music-room-modal.reference-open .music-room-ref-dock{height:70px!important;padding:0 12px!important}.music-room-modal.reference-open .dock-ref-controls{gap:8px!important}}

/* Final structural pass: the three right-rail views are peers.  The tabs
   must stay above whichever view is selected; older compatibility rules left
   the playlist at the default flex order, which made it look permanently
   pinned above the switcher. */
.music-room-modal.reference-open .music-room-ref-sidebar{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100vh - 174px)!important;
  overflow:visible!important;
}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-tabs{order:1!important;flex:0 0 auto!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist{order:2!important;flex:0 0 auto!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat{order:2!important;flex:0 0 auto!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input{order:3!important;flex:0 0 auto!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members{order:2!important;flex:0 0 auto!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist[hidden],
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat[hidden],
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input[hidden],
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members[hidden]{display:none!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]){
  max-height:360px!important;
  min-height:0!important;
  overflow:auto!important;
  border-bottom:0!important;
}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]):has(.music-room-ref-empty){min-height:214px!important}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat:not([hidden]){
  min-height:270px!important;
  max-height:420px!important;
  overflow:auto!important;
  border-bottom:0!important;
}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members:not([hidden]){
  min-height:180px!important;
  max-height:330px!important;
  overflow:auto!important;
  border-bottom:0!important;
}
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input:not([hidden]){border-top:1px solid rgba(255,255,255,.06)!important}

/* Let an empty queue feel intentional instead of leaving a tall, vacant
   rectangle in the rail. */
.music-room-modal.reference-open .music-room-ref-playlist .music-room-ref-empty{
  min-height:132px!important;
  display:grid!important;
  place-items:center!important;
  padding:20px 14px!important;
  line-height:1.65;
}
.music-room-modal.reference-open .music-room-ref-history-label{margin:16px 4px 4px;color:#69758d;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.music-room-modal.reference-open .music-room-ref-queue-label{margin-top:18px}.music-room-modal.reference-open .music-room-ref-song.is-history{opacity:.72}.music-room-modal.reference-open .music-room-ref-song.is-history>span{color:#68748c}.music-room-modal.reference-open .music-room-ref-song.is-history em{color:#68748c}.music-room-modal.reference-open .music-room-ref-song.is-history[onclick]{cursor:pointer}.music-room-modal.reference-open .music-room-ref-song.is-history[onclick]:hover{opacity:1;background:rgba(167,139,250,.10)!important;border-color:rgba(167,139,250,.18)!important}
.music-room-modal.reference-open .music-room-ref-song-list{scroll-behavior:smooth;padding-bottom:32px}

/* Room actions should not fall behind the room surface.  Queue feedback is
   intentionally a compact toast inside the room rather than the global alert
   dialog, so it remains visible while the search panel is open and does not
   cover the newly updated playlist. */
.music-room-modal.reference-open>#ntMusicRoomBody{position:relative}
.music-room-modal.reference-open .music-room-inline-toast{
  position:absolute;
  top:76px;
  right:24px;
  z-index:120;
  max-width:min(320px,calc(100% - 48px));
  padding:10px 15px;
  border:1px solid rgba(167,139,250,.42);
  border-radius:12px;
  background:rgba(23,19,50,.96);
  box-shadow:0 14px 34px rgba(0,0,0,.34),0 0 0 1px rgba(139,92,246,.08);
  color:#f4f1ff;
  font-size:12px;
  line-height:1.4;
  pointer-events:none;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .18s ease,transform .18s ease;
}
.music-room-modal.reference-open .music-room-inline-toast.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-inline-toast{
    top:68px;
    right:14px;
    max-width:calc(100% - 28px);
  }
}

/* Keep the live waveform visually distinct from a seek bar: high bars,
   compact spacing, and no horizontal track behind it. */
.music-room-modal.reference-open .music-room-ref-wave{
  position:relative;
  z-index:1;
  gap:4px!important;
  height:56px!important;
  min-height:56px!important;
  background:transparent!important;
}
.music-room-modal.reference-open .music-room-ref-wave i{
  width:5px!important;
  max-width:7px!important;
  min-height:11px!important;
  border-radius:999px!important;
}

/* Preserve a readable title beside the live waveform.  The old fixed 230px
   waveform plus a wide time label left only a few pixels for the metadata at
   medium desktop widths, which rendered titles such as “狐狸” as “狐…”. */
.music-room-modal.reference-open .music-room-ref-now>div:nth-child(2){
  min-width:84px!important;
  flex:1 1 150px!important;
  overflow:hidden!important;
}
.music-room-modal.reference-open .music-room-ref-now>div:nth-child(2) h2,
.music-room-modal.reference-open .music-room-ref-now>div:nth-child(2) p{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.music-room-modal.reference-open .music-room-ref-wave{
  width:clamp(150px,20vw,210px)!important;
  min-width:150px!important;
}
.music-room-modal.reference-open .music-room-ref-now>time{
  flex:0 0 84px!important;
  min-width:84px!important;
  font-size:12px!important;
  letter-spacing:-.03em;
  white-space:nowrap!important;
  text-align:right!important;
}

/* Keep scrollability for long lists without displaying a heavy scrollbar in
   the compact side rail.  Search results retain their subtle thumb below. */
.music-room-modal.reference-open .music-room-ref-sidebar,
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist,
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat,
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members{
  scrollbar-width:none!important;
}
.music-room-modal.reference-open .music-room-ref-sidebar::-webkit-scrollbar,
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist::-webkit-scrollbar,
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat::-webkit-scrollbar,
.music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members::-webkit-scrollbar{width:0!important;height:0!important}

/* Search trigger remains a quiet secondary action rather than a full-width
   banner.  On a phone it can expand to the available content width. */
.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{
  align-self:flex-start!important;
  width:auto!important;
  min-width:188px!important;
  max-width:100%!important;
  height:40px!important;
  margin:0!important;
  padding:0 16px!important;
  border-radius:10px!important;
  background:rgba(139,92,246,.10)!important;
  border-color:rgba(167,139,250,.24)!important;
  box-shadow:none!important;
}
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-sidebar{
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]){max-height:330px!important}
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat:not([hidden]){max-height:none!important;min-height:300px!important}
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members:not([hidden]){max-height:none!important;min-height:180px!important}
  .music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{width:100%!important;min-width:0!important}
  .music-room-modal.reference-open .music-room-ref-wave{width:84px!important;min-width:84px!important;height:44px!important;min-height:44px!important;gap:3px!important}
  .music-room-modal.reference-open .music-room-ref-wave i{width:4px!important;max-width:5px!important;min-height:7px!important}
  .music-room-modal.reference-open .music-room-ref-now>div:nth-child(2){min-width:72px!important;flex-basis:72px!important}
  .music-room-modal.reference-open .music-room-ref-now>time{flex-basis:54px!important;min-width:54px!important;font-size:10px!important}
}

/* Mobile chat and member views need their own bottom clearance.  The fixed
   dock must never cover the last message, composer, or member row. */
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-main{padding-bottom:calc(70px + 28px)!important}
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat>.music-room-ref-chat:not([hidden]){min-height:270px!important;padding-bottom:26px!important}
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat>.music-room-ref-chat-input:not([hidden]){padding-bottom:16px!important}
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members:not([hidden]){padding-bottom:24px!important}
  /* Reserve the entire fixed dock plus a comfortable touch-safe gap in the
     scrolling canvas.  This makes the final composer/member row reachable
     even after switching directly from the playlist tab. */
  .music-room-modal.reference-open .music-room-ref-main{padding-bottom:118px!important}
}

/* Keep the compact rail from becoming a tall empty card on desktop.  The
   content area remains scrollable while the fixed player dock stays clear. */
@media(min-width:1051px){
  .music-room-modal.reference-open .music-room-ref-main{padding-bottom:92px!important}
  .music-room-modal.reference-open .music-room-ref-sidebar:not(.side-tab-chat){max-height:340px!important}
}

/* The desktop side rail is intentionally compact; do not let the empty
   playlist create a second oversized panel while the main area is idle. */
@media(min-width:761px){
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]){
    /* The queue belongs to the same scroll surface as its tab/header.  Do not
       clip rows outside the inner panel when more than one track is queued. */
    max-height:none!important;
    overflow:visible!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]):has(.music-room-ref-empty){
    min-height:190px!important;
  }
}

/* Tablet rail sizing: the absolute bottom dock occupies the last ~80px of
   the modal. Give each selected side view a bounded height so the composer
   and final member row stay above that dock on the first visit, without
   requiring an extra scroll just to reveal the controls. */
@media(min-width:761px) and (max-width:1050px){
  .music-room-modal.reference-open .music-room-ref-sidebar:has(>.music-room-ref-playlist:not([hidden])){
    height:340px!important;
    min-height:340px!important;
    max-height:340px!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar:has(>.music-room-ref-members:not([hidden])){
    height:250px!important;
    min-height:250px!important;
    max-height:250px!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]){
    max-height:none!important;
    min-height:0!important;
    flex:1 1 auto!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat:not([hidden]){
    min-height:0!important;
    max-height:none!important;
    flex:1 1 auto!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members:not([hidden]){
    min-height:0!important;
    max-height:none!important;
    flex:1 1 auto!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat-input:not([hidden]){
    flex:0 0 60px!important;
    height:60px!important;
    min-height:60px!important;
    box-sizing:border-box!important;
    padding:9px 18px!important;
  }
}

/* Final tab-height override.  This block intentionally stays at the end of
   the stylesheet so the active chat view cannot be expanded by legacy rules. */
@media(min-width:1051px){
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat{height:340px!important;min-height:340px!important;max-height:340px!important}
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat>.music-room-ref-chat:not([hidden]){height:212px!important;min-height:0!important;max-height:none!important;flex:1 1 auto!important;overflow:auto!important}
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat>.music-room-ref-chat-input:not([hidden]){height:60px!important;min-height:60px!important;max-height:60px!important;flex:0 0 60px!important;box-sizing:border-box!important;padding:9px 18px!important}
}
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat{height:300px!important;min-height:300px!important;max-height:300px!important}
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat>.music-room-ref-chat:not([hidden]){height:170px!important;min-height:0!important;max-height:none!important;flex:1 1 auto!important;overflow:auto!important;padding-bottom:14px!important}
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat>.music-room-ref-chat-input:not([hidden]){height:60px!important;min-height:60px!important;max-height:60px!important;flex:0 0 60px!important;box-sizing:border-box!important;padding:8px 14px!important}
}

/* Search and chat should sit above the media dock and never leak scrolling to
   the page behind the modal. */
.music-room-modal.reference-open .music-room-ref-search-panel{overscroll-behavior:contain;}
@media(max-width:760px){
  .music-room-modal.reference-open .music-room-ref-search-panel{max-height:calc(100% - 20px)!important;border-radius:18px!important}
}

/* Desktop reference layout: keep the right rail aligned with the full room
   canvas instead of shrinking it to the current playlist's content height.
   The three tab panels remain mutually exclusive, but the selected panel now
   occupies the same tall surface as the reference and does not leave a dead
   floating card beside the hero.  Tablet/mobile retain their bounded rails so
   the fixed player and touch scrolling stay predictable. */
@media(min-width:1051px){
  .music-room-modal.reference-open .music-room-ref-sidebar{
    align-self:stretch!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]),
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-chat:not([hidden]),
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-members:not([hidden]){
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar>.music-room-ref-playlist:not([hidden]){
    overflow:auto!important;
  }
  /* These selectors deliberately repeat the legacy :not()/side-tab-chat
     qualifiers so the compact 340px compatibility rules cannot win in the
     cascade.  On a desktop viewport every selected tab uses the full rail
     height, matching the reference's continuous right-hand panel. */
  .music-room-modal.reference-open .music-room-ref-sidebar:not(.side-tab-chat),
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat{
    align-self:stretch!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat>.music-room-ref-chat:not([hidden]){
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    flex:1 1 auto!important;
  }
  .music-room-modal.reference-open .music-room-ref-sidebar.side-tab-chat>.music-room-ref-chat-input:not([hidden]){
    height:auto!important;
    min-height:60px!important;
    max-height:none!important;
    flex:0 0 auto!important;
  }
}

/* The desktop playlist rail is a single continuous panel.  Let the selected
   queue view own the full rail height so every queued song stays inside its
   border instead of appearing below the card. */
@media(min-width:1051px){
  .music-room-modal.reference-open .music-room-ref-sidebar:not(.side-tab-chat)
    > .music-room-ref-playlist:not([hidden]){
    overflow:auto!important;
    max-height:none!important;
    min-height:0!important;
    flex:1 1 auto!important;
  }
}

/* The header search and the playlist's “点歌” action are the intended
   entry points.  Remove the duplicate full-width search button below the
   hero on every viewport so it does not leave a redundant visual block. */
.music-room-modal.reference-open .music-room-ref-content>.music-room-ref-search-trigger{
  display:none!important;
}

/* Animated SVG hero: replace the former static window illustration with a
   restrained audio-reactive scene.  The runtime toggles data-playing and
   updates --mr-hero-energy from the real audio position, while CSS handles
   the gentle motion for browsers without animation APIs. */
.music-room-modal.reference-open .music-room-ref-hero-motion{position:absolute;inset:0;z-index:1;overflow:hidden;background:#070d20}
.music-room-modal.reference-open .music-room-ref-motion-svg{display:block;width:100%;height:100%;transform:scale(1.03);transform-origin:center;opacity:.96}
.music-room-modal.reference-open .music-room-ref-hero-motion:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 72% 22%,rgba(167,139,250,.13),transparent 28%),linear-gradient(180deg,rgba(7,12,28,.04),rgba(4,7,16,.58));pointer-events:none}
.music-room-modal.reference-open .mr-motion-orb{transform-box:fill-box;transform-origin:center;animation:mrHeroOrb 8s ease-in-out infinite alternate}
.music-room-modal.reference-open .mr-motion-orb.orb-b{animation-duration:11s;animation-delay:-3s}
.music-room-modal.reference-open .mr-motion-stars{opacity:.7;animation:mrHeroStars 5s ease-in-out infinite alternate}
.music-room-modal.reference-open .mr-motion-waves{animation:mrHeroWave 7s ease-in-out infinite alternate;transform-origin:center}
.music-room-modal.reference-open .mr-motion-bars{transform-box:fill-box;transform-origin:center bottom;animation:mrHeroBars 1.8s ease-in-out infinite alternate}
.music-room-modal.reference-open .mr-motion-bars rect:nth-child(2n){animation:mrHeroBarA 1.15s ease-in-out infinite alternate}
.music-room-modal.reference-open .mr-motion-bars rect:nth-child(3n){animation:mrHeroBarB 1.45s ease-in-out infinite alternate}
.music-room-modal.reference-open .mr-motion-scan{stroke-dasharray:18 32;animation:mrHeroScan 8s linear infinite}
.music-room-modal.reference-open .music-room-ref-hero[data-playing="false"] .mr-motion-bars,
.music-room-modal.reference-open .music-room-ref-hero[data-playing="false"] .mr-motion-bars rect,
.music-room-modal.reference-open .music-room-ref-hero[data-playing="false"] .mr-motion-scan{animation-play-state:paused;opacity:.55}
@keyframes mrHeroOrb{from{transform:translate3d(-12px,8px,0) scale(.94);opacity:.55}to{transform:translate3d(18px,-12px,0) scale(1.08);opacity:.9}}
@keyframes mrHeroStars{from{transform:translateY(4px);opacity:.35}to{transform:translateY(-7px);opacity:.9}}
@keyframes mrHeroWave{from{transform:translate3d(-10px,5px,0) scaleY(.92)}to{transform:translate3d(10px,-5px,0) scaleY(1.08)}}
@keyframes mrHeroBars{from{transform:scaleY(.74);opacity:.5}to{transform:scaleY(1.08);opacity:.9}}
@keyframes mrHeroBarA{from{transform:scaleY(.56)}to{transform:scaleY(1.14)}}
@keyframes mrHeroBarB{from{transform:scaleY(.72)}to{transform:scaleY(1.22)}}
@keyframes mrHeroScan{to{stroke-dashoffset:-500}}
@media(prefers-reduced-motion:reduce){.music-room-modal.reference-open .mr-motion-orb,.music-room-modal.reference-open .mr-motion-stars,.music-room-modal.reference-open .mr-motion-waves,.music-room-modal.reference-open .mr-motion-bars,.music-room-modal.reference-open .mr-motion-bars rect,.music-room-modal.reference-open .mr-motion-scan{animation:none!important}}
