*{box-sizing:border-box;margin:0;padding:0}:root{--bg-dark:#1a1a2e;--bg-panel:#16213e;--bg-input:#0f3460;--accent:#e94560;--accent-hover:#ff6b6b;--text:#eee;--text-dim:#888;--border:#2a2a4a;--success:#4ade80;--sidebar-w:260px;--player-h:80px;--px-ink:#23262f;--px-paper:#fff8e7;--px-line:#0b0c10;--px-yel:#ffc93d;--px-red:#ff5d73;--px-grn:#2ecc8f;--px-blu:#5aa9e6;--px-dim:#9a916f;--px-txtdim:#7c7458;--px-panel:#1c202e;--px-chip:#2b3044;--app-height:100dvh}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:#161923;background-image:radial-gradient(hsla(0,0%,100%,.055) 1.2px,transparent 1.4px);background-size:14px 14px;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;height:var(--app-height,100dvh);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}.btn,.channel-item,.invite-btn,.notify-btn,.player-btn,.queue-item,.search-item,button{touch-action:manipulation}.app-layout{display:flex;height:100vh;height:var(--app-height,100dvh)}.sidebar{background:var(--px-panel);border-right:4px solid var(--px-line);display:flex;flex-direction:column;flex-shrink:0;width:var(--sidebar-w)}.sidebar-header{align-items:center;border-bottom:4px solid var(--px-line);color:var(--px-yel);display:flex;font-size:18px;font-weight:900;gap:8px;letter-spacing:2px;padding:16px;text-shadow:2px 2px 0 #000}.px-icon{flex-shrink:0;height:18px;image-rendering:pixelated;vertical-align:-3px;width:18px}.panel-title .px-icon,.px-host-icon{height:16px;width:16px}.px-host-icon{align-items:center;background:transparent;border:2px solid;box-shadow:2px 2px 0 var(--px-line);color:var(--px-ink);display:inline-flex;flex-shrink:0;font-size:10px;font-weight:900;justify-content:center;line-height:1;vertical-align:-2px}.channel-list{flex:1;overflow-y:auto;padding:10px}.channel-item{background:var(--px-chip);border:3px solid var(--px-ink);border-radius:0;box-shadow:3px 3px 0 var(--px-line);cursor:pointer;margin-bottom:8px;padding:10px 12px}.channel-item:hover{background:#363c58}.channel-item:active{box-shadow:1px 1px 0 var(--px-line);transform:translate(2px,2px)}.channel-item.active{background:var(--px-yel)}.channel-item.active .channel-desc,.channel-item.active .channel-name{color:var(--px-ink)}.channel-name{align-items:center;display:flex;font-size:14px;font-weight:800;gap:6px;letter-spacing:1px}.channel-name .private-key{height:14px;opacity:.7;width:14px}.channel-item.active .private-key{opacity:1}.channel-desc{color:var(--text-dim);font-size:12px;margin-top:2px}.sidebar-footer{border-top:4px solid var(--px-line);padding:12px}.main-content{min-width:0}.chat-area,.main-content{display:flex;flex:1;flex-direction:column}.chat-area{min-height:0}.chat-header{align-items:center;background:var(--px-panel);border-bottom:4px solid var(--px-line);display:flex;font-weight:800;justify-content:space-between;letter-spacing:1px;padding:12px 16px}.chat-header-right{align-items:center;display:flex;font-weight:400;gap:10px}.chat-lyric-ticker{background:var(--px-panel);border-bottom:3px solid var(--px-line);color:var(--px-yel);font-size:12px;font-weight:700;letter-spacing:1px;overflow:hidden;padding:6px 12px;white-space:nowrap}.chat-lyric-text{animation:chat-lyric-scroll 12s linear infinite;display:inline-block;min-width:100%}@keyframes chat-lyric-scroll{0%{transform:translate(100%)}to{transform:translate(-100%)}}.invite-btn{align-items:center;background:var(--px-yel);border:3px solid var(--px-ink);border-radius:0;box-shadow:3px 3px 0 var(--px-line);color:var(--px-ink);cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:6px;letter-spacing:1px;padding:4px 10px}.invite-btn:hover{background:#ffd15e}.invite-btn:active{box-shadow:1px 1px 0 var(--px-line);transform:translate(2px,2px)}.notify-btn{align-items:center;background:transparent;border:3px solid var(--px-line);border-radius:0;color:var(--text-dim);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:800;gap:5px;letter-spacing:1px;padding:4px 8px}.notify-btn.enabled,.notify-btn:hover{border-color:var(--px-yel);color:var(--px-yel)}.notify-btn.denied{border-color:var(--px-red);color:var(--px-red)}.online-count-btn{background:transparent;border:3px solid var(--px-line);border-radius:0;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:12px;font-weight:800;letter-spacing:1px;padding:4px 8px}.online-count-btn.active,.online-count-btn:hover{border-color:var(--px-yel);color:var(--px-yel)}.online-count-btn.active{text-shadow:1px 1px 0 #000}.invite-toast{max-width:90vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages{display:flex;flex:1;flex-direction:column;gap:8px;overflow-y:auto;padding:16px}.message{max-width:80%}.message.system{color:var(--text-dim);font-size:12px}.message.queue,.message.system{align-self:center;text-align:center}.message.queue{background:var(--px-yel);border:2px solid var(--px-ink);border-radius:0;box-shadow:2px 2px 0 var(--px-line);color:var(--px-ink);font-size:13px;font-weight:700;padding:4px 12px}.message.user{background:transparent;border:none;border-radius:0;box-shadow:none;display:flex;gap:8px;max-width:92%;padding:0}.message.user .msg-avatar{align-self:flex-start;border:2px solid var(--px-ink);flex:0 0 36px;height:36px;image-rendering:pixelated;margin-top:2px;width:36px}.message.user .msg-avatar-spacer{flex:0 0 36px;width:36px}.message.user .msg-body{flex:1;min-width:0}.message.user .msg-card{background:var(--px-paper);border:3px solid var(--px-ink);border-radius:0;box-shadow:3px 3px 0 var(--px-line);color:var(--px-ink);padding:8px 12px}.message-header{color:#b3423a;font-size:12px;font-weight:800;margin-bottom:4px}.messages-wrap{display:flex;flex:1;min-height:0;position:relative}.messages-canvas{display:block;padding:0}.msg-canvas{cursor:default;display:block;height:100%;left:0;position:sticky;top:0;width:100%}.msg-canvas-spacer{pointer-events:none;width:1px}.msg-copy-menu{bottom:12px;position:absolute;right:12px;z-index:6}.msg-copy-menu-btn{background:var(--px-yel);border:2px solid var(--px-ink);box-shadow:2px 2px 0 var(--px-line);color:var(--px-ink);cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;padding:4px 12px}.msg-copy-menu-btn:hover{background:#ffd76b}.msg-copy-menu-btn.msg-copy-ok{background:#5fb86b;border-color:#2f6f3a;color:#fff}.msg-copy-menu-btn.msg-copy-err{background:#d04a4a;border-color:#6b2222;color:#fff}.msg-search{align-items:center;background:var(--px-paper);box-shadow:3px 3px 0 var(--px-line);display:flex;gap:8px;left:50%;position:absolute;top:8px;transform:translate(-50%);z-index:7}.msg-search,.msg-search input{border:2px solid var(--px-ink);padding:4px 8px}.msg-search input{font-family:inherit;font-size:13px;width:220px}.msg-search-hint{color:var(--text-dim);font-size:12px;white-space:nowrap}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);border:0;white-space:nowrap}.message-content{font-size:14px;line-height:1.5;word-break:break-word}.chat-input{background:var(--px-panel);border-top:4px solid var(--px-line);display:flex;gap:8px;padding:12px 16px}.chat-input input{background:#fff;border:3px solid var(--px-ink);border-radius:0;color:var(--px-ink);font-size:14px;outline:none;padding:10px 14px;width:100%}.chat-input input:focus{border-color:var(--px-yel);box-shadow:3px 3px 0 var(--px-line)}.chat-input-wrap{flex:1;min-width:0;position:relative}.mention-pop{background:var(--px-paper);border:3px solid var(--px-ink);bottom:calc(100% + 8px);box-shadow:4px 4px 0 var(--px-line);left:0;max-height:180px;overflow-y:auto;position:absolute;right:0;z-index:8}.mention-option{align-items:center;background:#fffdf5;border:0;border-bottom:2px solid rgba(35,38,47,.12);color:var(--px-ink);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:700;gap:8px;min-height:40px;padding:6px 10px;text-align:left;width:100%}.mention-option:last-child{border-bottom:0}.mention-option.active,.mention-option:hover{background:var(--px-yel)}.right-panel{background:var(--px-panel);border-left:4px solid var(--px-line);display:flex;flex-direction:column;flex-shrink:0;width:300px}.panel-section{border-bottom:3px solid var(--px-line);min-height:0;padding:12px}.panel-title{border-bottom:4px solid var(--px-yel);color:var(--px-yel);display:inline-block;font-size:13px;font-weight:900;letter-spacing:2px;margin-bottom:10px;padding-bottom:2px}.panel-title.collapsible{align-items:center;border-bottom:4px solid var(--px-line);cursor:pointer;display:flex;gap:6px;margin-bottom:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.panel-title.collapsible:active{transform:translateY(1px)}.collapse-caret{color:var(--px-ink);font-size:11px;line-height:1}.collapse-count{background:var(--px-paper);border:2px solid var(--px-ink);color:var(--text-dim);font-size:11px;font-weight:800;margin-left:auto;min-width:20px;padding:0 6px;text-align:center}.queue-head-actions{display:flex;justify-content:flex-end;margin:-4px 0 8px}.clear-queue-btn{background:#e17055;border:2px solid #d63031;box-shadow:2px 2px #00000040;color:#fff;cursor:pointer;font-size:12px;font-weight:900;letter-spacing:.5px;padding:3px 8px;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.clear-queue-btn:hover:not(:disabled){background:#d63031;box-shadow:3px 3px #00000047;color:#fff;transform:translateY(-1px)}.clear-queue-btn:active:not(:disabled){box-shadow:1px 1px #00000040;transform:translateY(0)}.clear-queue-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.panel-section.collapsed{margin-bottom:4px}.search-box{display:flex;gap:8px;margin-bottom:12px}.import-hint{color:var(--text-dim);font-size:12px;line-height:1.5;margin:-4px 0 8px;word-break:break-all}.search-sources{display:flex;gap:8px;margin-bottom:8px}.right-panel .search-item.selected{background:var(--px-yel)}.right-panel .search-item.selected .search-item-artist,.right-panel .search-item.selected .search-item-title{color:var(--px-ink)}.right-panel .search-item.selected .src-tag.kg,.right-panel .search-item.selected .src-tag.wyy{background:#fff;color:var(--px-ink)}.search-item-title .src-tag{border:2px solid var(--px-ink);border-radius:2px;display:inline-block;font-size:10px;font-weight:700;line-height:1.2;margin-left:6px;padding:1px 5px;vertical-align:middle}.src-tag.kg{background:var(--px-yel);color:var(--px-ink)}.src-tag.wyy{background:var(--px-chip);color:var(--px-dim)}.right-panel .search-box input{background:#fff;border:3px solid var(--px-ink);border-radius:0;color:var(--px-ink);flex:1;font-size:13px;outline:none;padding:8px 10px}.right-panel .search-box input:focus{border-color:var(--px-yel);box-shadow:2px 2px 0 var(--px-line)}.search-results{max-height:200px;overflow-y:auto}.right-panel .search-results{display:flex;flex-direction:column;gap:8px}.right-panel .search-item{align-items:center;background:var(--px-chip);border:3px solid var(--px-ink);border-radius:0;box-shadow:3px 3px 0 var(--px-line);cursor:pointer;display:flex;gap:8px;padding:8px}.right-panel .search-item:active{box-shadow:1px 1px 0 var(--px-line);transform:translate(2px,2px)}.search-item-info{flex:1;min-width:0}.right-panel .search-item-title{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right-panel .search-item-artist{color:var(--px-dim);font-size:11px}.right-panel .add-btn{background:var(--px-yel);border:3px solid var(--px-ink);border-radius:0;box-shadow:2px 2px 0 var(--px-line);color:var(--px-ink);cursor:pointer;flex-shrink:0;font-size:12px;font-weight:800;letter-spacing:1px;padding:4px 12px}.right-panel .add-btn:hover{background:#ffd15e}.right-panel .add-btn:active{box-shadow:0 0 0 var(--px-line);transform:translate(2px,2px)}.right-panel .add-btn:disabled{cursor:not-allowed;opacity:.5}.queue-list{overflow-y:auto}.right-panel .queue-list{display:flex;flex-direction:column;gap:8px}.right-panel .queue-item{align-items:center;background:var(--px-paper);border:3px solid var(--px-ink);border-radius:0;box-shadow:3px 3px 0 var(--px-line);color:var(--px-ink);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px}.right-panel .queue-item:active{box-shadow:1px 1px 0 var(--px-line);transform:translate(2px,2px)}.right-panel .queue-item.playing{background:var(--px-yel)}.right-panel .queue-item.playing .queue-item-title{color:var(--px-ink);font-weight:800}.right-panel .queue-item-num{color:var(--px-txtdim);flex-shrink:0;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:800;text-align:center;width:20px}.right-panel .queue-item-info{flex:1;min-width:0}.right-panel .queue-item-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right-panel .queue-item-addedby,.right-panel .queue-item-artist{color:var(--px-txtdim);font-size:11px}.right-panel .queue-item-addedby{flex-shrink:0}.right-panel .queue-item.disabled{cursor:default;opacity:.75}.right-panel .queue-item.disabled:active{box-shadow:3px 3px 0 var(--px-line);transform:none}.right-panel .queue-item-remove{background:var(--px-chip);border:2px solid var(--px-ink);color:var(--px-ink);cursor:pointer;flex-shrink:0;font-weight:700;height:20px;line-height:16px;padding:0;text-align:center;width:20px}.right-panel .queue-item-remove:hover{background:#e17055;color:#fff}.px-menu-overlay{top:0;right:0;bottom:0;left:0;position:fixed;z-index:50}.px-menu{background:var(--px-paper,#fff8e7);border:3px solid var(--px-ink,#222);box-shadow:4px 4px 0 var(--px-line,rgba(0,0,0,.35));display:flex;flex-direction:column;gap:4px;max-width:240px;min-width:180px;padding:6px;position:fixed;z-index:51}.px-menu-title{border-bottom:2px solid var(--px-line,rgba(0,0,0,.2));color:var(--px-txtdim,#777);font-size:11px;font-weight:700;overflow:hidden;padding:2px 4px 4px;text-overflow:ellipsis;white-space:nowrap}.px-menu-item{background:#fffdf5;border:2px solid var(--px-ink,#222);box-shadow:2px 2px 0 var(--px-line,rgba(0,0,0,.25));color:var(--px-ink,#222);cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;padding:5px 8px;text-align:left}.px-menu-item:hover:not(:disabled){background:#ffd76b}.px-menu-item:active:not(:disabled){box-shadow:1px 1px 0 var(--px-line,rgba(0,0,0,.25));transform:translate(1px,1px)}.px-menu-item:disabled{box-shadow:none;cursor:default;opacity:.55}.px-menu-item-danger{background:#d04a4a;border-color:#6b2222;color:#fff}.px-menu-item-danger:hover:not(:disabled){background:#e17055}.member-list{display:flex;flex-direction:column;gap:6px}.member-item{align-items:center;background:var(--px-chip);border:3px solid var(--px-ink);border-radius:0;box-shadow:3px 3px 0 var(--px-line);display:flex;font-size:13px;font-weight:700;gap:8px;padding:6px 8px}.pixel-avatar{background:var(--px-paper);border:2px solid var(--px-ink);border-radius:50%;flex-shrink:0;height:22px;image-rendering:pixelated;-o-object-fit:cover;object-fit:cover;width:22px}.member-dot{background:var(--px-grn);border:2px solid var(--px-ink);border-radius:0;flex-shrink:0;height:10px;width:10px}.player-bar{background:var(--px-panel);border-top:4px solid var(--px-line);flex-wrap:wrap;gap:12px 16px;padding:8px 16px 12px}.player-bar,.player-info{align-items:center;display:flex}.player-info{gap:12px}.player-details,.player-info{flex:1;min-width:0}.player-title{font-size:14px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-artist{color:var(--text-dim);font-size:12px}.player-controls{display:flex;gap:8px}.progress-bar-container{align-items:center;display:flex;flex:1 0 100%;gap:8px;order:10;width:100%}.progress-bar{background:#fff;border:3px solid var(--px-ink);border-radius:0;cursor:pointer;flex:1;height:16px;overflow:hidden;position:relative}.progress-fill{background:var(--px-yel);border-radius:0;height:100%;transition:width .1s linear}.time-display{color:var(--text-dim);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;font-variant-numeric:tabular-nums;min-width:35px;text-align:center}.player-btn{align-items:center;background:var(--px-chip);border:3px solid var(--px-ink);border-radius:0;box-shadow:3px 3px 0 var(--px-line);color:var(--text);cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;width:36px}.player-btn:hover{border-color:var(--px-yel);color:var(--px-yel)}.player-btn:active{box-shadow:1px 1px 0 var(--px-line);transform:translate(2px,2px)}.player-btn.play{background:var(--px-yel);color:var(--px-ink);font-size:20px;font-weight:900;height:44px;width:44px}.player-btn.play:hover{background:#ffd15e;color:var(--px-ink)}.vinyl-toggle{background:transparent;border:0;cursor:pointer;flex:0 0 auto;height:52px;padding:0;width:52px}.vinyl-disc,.vinyl-toggle{align-items:center;display:flex;justify-content:center}.vinyl-disc{animation:vinyl-spin 3.2s linear infinite;animation-play-state:paused;background:#191d27;border:3px solid var(--px-ink);border-radius:50%;box-shadow:3px 3px 0 var(--px-line),inset 0 0 0 5px #242936;height:48px;position:relative;width:48px}.vinyl-grooves{border:2px solid rgba(255,201,61,.18);border-radius:50%;top:4px;right:4px;bottom:4px;left:4px;position:absolute}.vinyl-grooves:after{border:2px solid hsla(0,0%,100%,.08);border-radius:50%;content:"";top:4px;right:4px;bottom:4px;left:4px;position:absolute}.vinyl-cover,.vinyl-label{background:var(--px-yel);border:2px solid var(--px-ink);height:24px;position:relative;width:24px;z-index:1}.vinyl-cover{image-rendering:pixelated;-o-object-fit:cover;object-fit:cover}.vinyl-hole{background:var(--px-paper);border:2px solid var(--px-ink);border-radius:50%;height:6px;position:absolute;width:6px;z-index:2}.vinyl-toggle:hover .vinyl-disc{border-color:var(--px-yel);box-shadow:3px 3px 0 var(--px-line),inset 0 0 0 5px #ffc93d73}.vinyl-toggle:focus-visible{outline:3px solid var(--px-blu);outline-offset:3px}.vinyl-toggle:active{transform:translate(2px,2px)}.vinyl-toggle.playing .vinyl-disc{animation-play-state:running}@keyframes vinyl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.volume-control{align-items:center;display:flex;gap:8px}.volume-btn{flex-shrink:0}.volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:3px solid var(--px-ink);border-radius:0;cursor:pointer;height:12px;outline:none;width:80px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--px-yel);border:2px solid var(--px-ink);border-radius:0;cursor:pointer;height:18px;width:12px}.volume-slider::-moz-range-thumb{background:var(--px-yel);border:2px solid var(--px-ink);border-radius:0;cursor:pointer;height:18px;width:12px}.volume-slider::-moz-range-track{background:#fff;border-radius:0;height:12px}.main-content .btn,.modal .btn,.sidebar .btn{background:var(--px-chip);border:4px solid var(--px-ink);border-radius:0;box-shadow:4px 4px 0 var(--px-line);color:#f3ead8;cursor:pointer;font-size:13px;font-weight:800;letter-spacing:1px;padding:8px 16px}.main-content .btn:active,.modal .btn:active,.sidebar .btn:active{box-shadow:1px 1px 0 var(--px-line);transform:translate(3px,3px)}.main-content .btn-primary,.modal .btn-primary,.sidebar .btn-primary{background:var(--px-yel);color:var(--px-ink)}.main-content .btn-primary:hover,.modal .btn-primary:hover,.sidebar .btn-primary:hover{background:#ffd15e}.main-content .btn-ghost,.modal .btn-ghost,.sidebar .btn-ghost{background:var(--px-chip);border:4px solid var(--px-ink);color:#f3ead8}.main-content .btn-ghost:hover,.modal .btn-ghost:hover,.sidebar .btn-ghost:hover{border-color:var(--px-yel);color:var(--px-yel)}.right-panel .btn-primary{background:var(--px-yel);color:var(--px-ink)}.right-panel .btn-primary:hover{background:#ffd15e}.right-panel .btn-ghost{background:var(--px-chip);border:4px solid var(--px-ink);color:#f3ead8}.right-panel .btn-ghost:hover{border-color:var(--px-yel);color:var(--px-yel)}.btn-sm{font-size:12px;padding:4px 10px}.modal-overlay{align-items:center;background:#0b0c10a8;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:1000}.modal{background:var(--px-paper);border:4px solid var(--px-ink);border-radius:0;box-shadow:8px 8px 0 var(--px-line);color:var(--px-ink);max-width:90vw;padding:24px;width:400px}.modal h3{font-size:19px;font-weight:900;letter-spacing:2px;margin-bottom:16px;text-shadow:1px 1px 0 rgba(35,38,47,.14)}.modal input,.modal textarea{background:#fff;border:3px solid var(--px-ink);border-radius:0;color:var(--px-ink);font-size:14px;margin-bottom:12px;outline:none;padding:10px 12px;width:100%}.modal input:focus,.modal textarea:focus{border-color:var(--px-yel);box-shadow:3px 3px 0 var(--px-line)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.announcement-modal{width:440px}.announcement-title{align-items:center;display:flex;gap:8px}.announcement-body{font-size:14px;line-height:1.8;margin-bottom:6px}.announcement-body p{margin-bottom:8px}.notification-help-modal{width:440px}.notification-permission-modal .modal-desc{line-height:1.7}.notification-steps{color:var(--px-ink);font-size:14px;line-height:1.8;margin:0 0 12px;padding-left:22px}.notification-tip{color:var(--px-ink);font-size:12px;line-height:1.7;margin:0;opacity:.78}.announcement-text{white-space:pre-line;word-break:break-word}.announcement-body .announcement-warn{color:var(--px-red);font-weight:900}.loading{padding:12px}.empty,.loading{color:var(--text-dim);font-size:13px;text-align:center}.empty{padding:20px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}.aplayer{background:var(--bg-panel)!important}.aplayer,.aplayer .aplayer-info .aplayer-music .aplayer-title{color:var(--text)!important}.aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--text-dim)!important}.aplayer .aplayer-controller .aplayer-bar-wrap .aplayer-bar{background:var(--border)!important}.aplayer .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played{background:var(--accent)!important}.aplayer .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar{background:var(--border)!important}.host-badge{background:transparent;border:none;border-radius:0;box-shadow:none;color:var(--px-yel);display:inline-block;font-size:10px;font-weight:800;margin-left:6px;padding:0;vertical-align:middle}.host-badge .px-host-icon{border-color:var(--px-yel);color:var(--px-yel)}.player-btn:disabled,.player-controls button:disabled{cursor:not-allowed;opacity:.35}.progress-bar.disabled-bar{cursor:not-allowed;opacity:.5}.player-hint{color:var(--text-dim);font-size:11px;margin-top:4px;text-align:center}.member-item.is-host{background:#3a3f1e;border-color:var(--px-yel)}.member-item .px-host-icon{border-color:var(--px-yel);color:var(--px-yel);margin-left:4px}.auth-tabs{display:flex;gap:6px;margin-bottom:12px}.auth-tabs button{background:#fff;border:3px solid var(--px-ink);border-radius:0;box-shadow:2px 2px 0 var(--px-line);color:var(--px-txtdim);cursor:pointer;flex:1;font-size:13px;font-weight:800;padding:6px 0}.auth-tabs button.active{background:var(--px-yel);color:var(--px-ink)}.auth-error{color:var(--px-red);font-size:12px;font-weight:700;margin:6px 0;min-height:16px}.auth-user{align-items:center;border-top:2px dashed #3a3f52;color:var(--text-dim);display:flex;font-size:13px;justify-content:space-between;margin-top:10px;padding-top:10px}.auth-user-chip{align-items:center;color:#f3ead8;display:inline-flex;font-weight:700;gap:6px}.btn-link{background:none;border:none;color:var(--px-yel);cursor:pointer;font-size:12px;font-weight:700;padding:2px 6px}.btn-link:hover{color:#ffd15e}.control-toast{background:var(--px-red);border:3px solid var(--px-ink);border-radius:0;box-shadow:3px 3px 0 var(--px-line);color:#fff;font-size:13px;font-weight:800;left:50%;padding:8px 18px;pointer-events:none;position:fixed;top:60px;transform:translate(-50%);white-space:nowrap;z-index:9999}.toast-enter-active,.toast-leave-active{transition:opacity .25s ease,transform .25s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(-8px)}.imm-wipe-overlay{top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;position:fixed;z-index:999}.imm-wipe-overlay,.imm-wipe-overlay.reassemble{background:transparent}.imm-wipe-canvas{height:100%;top:0;right:0;bottom:0;left:0;position:absolute;width:100%}.imm-wipe-block{background:#06070d;height:100%;opacity:0;position:absolute;top:0;transform:translate(100%) scaleX(.8);will-change:transform,opacity}.imm-wipe-block.b0{animation:imm-wipe-slide-in .5s cubic-bezier(.34,1.56,.64,1) forwards;left:0;width:25%}.imm-wipe-block.b1{animation:imm-wipe-slide-in .5s cubic-bezier(.34,1.56,.64,1) .06s forwards;left:25%;width:25%}.imm-wipe-block.b2{animation:imm-wipe-slide-in .5s cubic-bezier(.34,1.56,.64,1) .12s forwards;left:50%;width:25%}.imm-wipe-block.b3{animation:imm-wipe-slide-in .5s cubic-bezier(.34,1.56,.64,1) .18s forwards;left:75%;width:25%}@keyframes imm-wipe-slide-in{0%{opacity:0;transform:translate(100%) scaleX(.8)}60%{opacity:1;transform:translate(-5%) scaleX(1.05)}80%{transform:translate(2%) scaleX(.98)}to{opacity:1;transform:translate(0) scaleX(1)}}.imm-wipe-block.b0.out{animation:imm-wipe-slide-out .35s cubic-bezier(.55,.055,.675,.19) .18s forwards}.imm-wipe-block.b1.out{animation:imm-wipe-slide-out .35s cubic-bezier(.55,.055,.675,.19) .12s forwards}.imm-wipe-block.b2.out{animation:imm-wipe-slide-out .35s cubic-bezier(.55,.055,.675,.19) .06s forwards}.imm-wipe-block.b3.out{animation:imm-wipe-slide-out .35s cubic-bezier(.55,.055,.675,.19) 0s forwards}@keyframes imm-wipe-slide-out{0%{opacity:1;transform:translate(0) scaleX(1)}40%{opacity:1;transform:translate(10%) scaleX(1.1)}to{opacity:0;transform:translate(100%) scaleX(.8)}}:root{--fc-accent:#00f5d4;--champagne:#f4d28a;--chill-cyan:#8fe9ff;--chill-mint:#9cffdf;--chill-blue:#73a7ff;--lyric-primary:#d6f8ff;--lyric-secondary:#9cffdf;--lyric-highlight:#eef7ff;--lyric-glow:rgba(143,233,255,.34)}.stage-lyrics{pointer-events:none;top:42%;transform:translate(-50%,-50%);width:80%;z-index:6}.stage-lyric-line,.stage-lyrics{left:50%;position:absolute;text-align:center}.stage-lyric-line{background:linear-gradient(180deg,#f6fdff,#a8f6ff 55%,#7ecdff);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:clamp(34px,5.6vw,76px);font-weight:700;letter-spacing:2px;max-width:92vw;padding:0 24px;text-shadow:0 0 14px rgba(168,246,255,.38),0 0 36px rgba(143,233,255,.3),0 0 80px rgba(115,167,255,.16);top:0;transform:translate(-50%);white-space:nowrap;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 22px rgba(143,233,255,.3));opacity:0;transform-style:preserve-3d;will-change:transform,opacity,filter}.stage-lyric-line.in{animation:lyr-in .9s cubic-bezier(.16,.84,.32,1.02) forwards,lyr-bob 5.6s ease-in-out .9s infinite}.stage-lyric-line.out{animation:lyr-out .7s cubic-bezier(.55,0,.85,.45) forwards}@keyframes lyr-bob{0%,to{transform:translate(-50%) translateZ(0) rotateX(0) rotateY(0) scale(1)}25%{transform:translate(-50%) translate3d(6px,-7px,12px) rotateX(2deg) rotateY(-1.5deg) scale(1.01)}50%{transform:translate(-50%) translate3d(0,3px,0) rotateX(-1.5deg) rotateY(0) scale(.99)}75%{transform:translate(-50%) translate3d(-6px,-4px,8px) rotateX(1.2deg) rotateY(1.5deg) scale(1.005)}}@keyframes lyr-in{0%{filter:blur(14px) drop-shadow(0 4px 22px rgba(143,233,255,.3));opacity:0;transform:translate(-50%) translate3d(-60px,40px,-160px) rotateX(28deg) rotateY(-22deg) scale(.7)}55%{filter:blur(0) drop-shadow(0 4px 22px rgba(143,233,255,.3));opacity:1}to{filter:blur(0) drop-shadow(0 4px 22px rgba(143,233,255,.3));opacity:1;transform:translate(-50%) translateZ(0) rotateX(0) rotateY(0) scale(1)}}@keyframes lyr-out{0%{filter:blur(0);opacity:1;transform:translate(-50%) translateZ(0) rotateX(0) rotateY(0) scale(1)}to{filter:blur(10px);opacity:0;transform:translate(-50%) translate3d(60px,-40px,-120px) rotateX(-22deg) rotateY(18deg) scale(.78)}}body.immersive-mode .immersive-side-panel,body.immersive-mode .immersive-topbar{opacity:0!important;pointer-events:none!important;transition:opacity .4s ease,visibility .4s ease;visibility:hidden!important}body.immersive-mode .immersive-side-panel.visible,body.immersive-mode .immersive-topbar.visible{opacity:1!important;pointer-events:auto!important;visibility:visible!important}body.immersive-mode .immersive-controls-bar{backdrop-filter:blur(46px) saturate(1.36);-webkit-backdrop-filter:blur(46px) saturate(1.36);background:radial-gradient(circle at 20% 0,hsla(0,0%,100%,.13),transparent 35%),linear-gradient(112deg,#ffffff0f,#0c0f1273 52%,#02040794);border:1px solid hsla(0,0%,100%,.06);border-radius:22px;bottom:22px;box-shadow:0 20px 70px #00000052,0 0 42px #98ddff0e,inset 0 1px #ffffff26,inset 0 -22px 58px #0000002e;gap:9px;left:50%;padding:10px 20px 13px;transform:translate(-50%);transition:opacity .5s ease,transform .5s ease;width:min(620px,calc(100vw - 56px));z-index:32}body.immersive-mode .immersive-controls-bar.soft-hidden{opacity:0;pointer-events:none;transform:translate(-50%) translateY(96px) scale(.97)}body.immersive-mode .immersive-progress-bar{background:#ffffff1a;border-radius:4px;height:4px}body.immersive-mode .immersive-progress-bar:hover{background:#ffffff24;height:5px}body.immersive-mode .immersive-progress-fill{background:linear-gradient(90deg,#00f5d4,#8fe9ff);box-shadow:0 0 8px #00f5d466}body.immersive-mode .immersive-controls-bar button{background:#ffffff0f;border:none;border-radius:12px;color:#fffc;font-size:16px;height:40px;transition:background .2s;width:40px}body.immersive-mode .immersive-controls-bar button:hover:not(:disabled){background:#ffffff1f}body.immersive-mode .immersive-play-btn{background:#ffffff1a;font-size:20px;height:56px;width:56px}body.immersive-mode:after{background:linear-gradient(180deg,transparent,rgba(0,0,0,.16));bottom:0;content:"";height:118px;left:0;pointer-events:none;position:fixed;right:0;z-index:5}@media(max-width:620px){body.immersive-mode .immersive-controls-bar{padding:10px 12px 12px;width:calc(100vw - 20px)}body.immersive-mode .immersive-controls-bar button{height:36px;width:36px}body.immersive-mode .immersive-play-btn{height:50px;width:50px}}#search-area{--search-offset:0px;align-items:flex-start;display:flex;gap:12px;left:50%;opacity:0;pointer-events:none;position:fixed;top:-76px;transform:translate(calc(-50% + var(--search-offset)));transition:top .45s cubic-bezier(.2,.7,.2,1),opacity .35s,transform .35s cubic-bezier(.2,.7,.2,1);width:auto;z-index:110}#search-area.peek{opacity:1;pointer-events:auto;top:24px}#search-stack{width:min(520px,58vw)}#search-box{align-items:center;backdrop-filter:blur(34px) saturate(1.34);-webkit-backdrop-filter:blur(34px) saturate(1.34);background:var(--glass-bg,rgba(72,74,76,.62));border:1px solid var(--glass-border,rgba(0,245,212,.3));border-radius:22px;box-shadow:var(--glass-shadow,0 22px 64px rgba(0,0,0,.3));cursor:text;display:flex;height:58px;padding:0 20px;transition:border-color .28s,background .28s,box-shadow .28s,transform .28s}#search-box:focus-within{background:var(--glass-bg-focus,rgba(88,91,92,.68));border-color:#00f5d480;box-shadow:var(--glass-shadow-focus,0 24px 72px rgba(0,0,0,.34));transform:translateY(-1px)}#search-icon{color:#ffffff4d;flex-shrink:0;margin-right:10px}#search-input{background:none;border:none;color:#fff;flex:1;font-family:inherit;font-size:13.5px;letter-spacing:.3px;outline:none}#search-input::-moz-placeholder{color:#ffffff38}#search-input::placeholder{color:#ffffff38}.search-mode-tabs{align-items:center;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#ffffff0b;border:1px solid rgba(0,245,212,.12);border-radius:999px;display:flex;gap:4px;margin-top:8px;padding:3px;width:-moz-max-content;width:max-content}.search-mode-tabs button{background:transparent;border:0;border-radius:999px;color:#ffffff6b;cursor:pointer;font-family:inherit;font-size:10.5px;font-weight:650;height:24px;letter-spacing:.7px;padding:0 12px;transition:background .22s,color .22s,box-shadow .22s,transform .22s}.search-mode-tabs button:hover{color:#ffffffc7}.search-mode-tabs button.active{background:#00f5d41c;box-shadow:inset 0 0 0 1px #00f5d438,0 8px 24px #00f5d40e;color:#eafffb}#search-results{backdrop-filter:blur(40px) saturate(1.4);-webkit-backdrop-filter:blur(40px) saturate(1.4);background:#0c0c128c;border:1px solid hsla(0,0%,100%,.06);border-radius:14px;display:none;margin-top:8px;max-height:360px;overflow-y:auto;overscroll-behavior:contain}#search-results.show{border-color:#00f5d429;box-shadow:0 18px 54px #00000057,0 0 0 1px #00f5d40d;display:block}#search-results::-webkit-scrollbar{width:3px}#search-results::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.search-empty{color:#ffffff6b;font-size:12px;letter-spacing:.4px;padding:16px;text-align:center}.search-history{padding:10px}.search-history-head{align-items:center;color:#ffffff6b;display:flex;font-size:10.5px;justify-content:space-between;letter-spacing:.8px;margin-bottom:8px;padding:0 2px}.search-history-clear{background:transparent;border:0;color:#00f5d4ad;cursor:pointer;font-family:inherit;font-size:10.5px;padding:2px 0}.search-history-clear:hover{color:#fff;text-shadow:0 0 14px rgba(0,245,212,.22)}.search-history-list{display:flex;flex-wrap:wrap;gap:7px}.search-history-chip{background:#ffffff0a;border:1px solid hsla(0,0%,100%,.08);border-radius:999px;color:#ffffffa8;cursor:pointer;font-family:inherit;font-size:11.5px;height:28px;padding:0 11px;transition:background .18s,border-color .18s,color .18s,transform .18s}.search-history-chip:hover{background:#00f5d41a;border-color:#00f5d44d;box-shadow:0 8px 22px #00f5d412;color:#fff;transform:translateY(-1px)}.search-result{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.025);cursor:pointer;display:flex;gap:12px;padding:10px 16px;transition:background .2s}.search-result:last-child{border-bottom:none}.search-result:hover{background:#00f5d413}.search-result img{background:#ffffff0d;border-radius:6px;height:40px;-o-object-fit:cover;object-fit:cover;width:40px}.search-result-info{flex:1;min-width:0}.search-result-title{align-items:center;color:#ffffffeb;display:flex;font-size:13px;font-weight:500;gap:6px;margin-bottom:2px}.search-result-meta,.search-result-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-meta{color:#ffffff59;font-size:11px;font-weight:300}.tag-vip{background:linear-gradient(135deg,#fff3c2,#f4d28a,#c9963d);border-radius:3px;box-shadow:0 0 10px #f4d28a38;color:#201303;font-weight:700;letter-spacing:.5px;padding:1px 5px}.tag-podcast,.tag-vip{display:inline-block;flex-shrink:0;font-size:9px}.tag-podcast{background:#ffffff14;border-radius:999px;color:#ffffff94;font-weight:750;letter-spacing:.7px;padding:1px 6px}.tag-source{align-items:center;background:#ffffff0b;border:1px solid hsla(0,0%,100%,.12);border-radius:999px;display:inline-flex;flex-shrink:0;font-size:8.5px;font-weight:800;height:16px;letter-spacing:.55px;line-height:1;padding:0 6px}.tag-source.wyy{background:#d95b6713;border-color:#d95b674d;color:#ffd8dd}.tag-source.qq{background:#bfd66b13;border-color:#bfd66b4d;color:#f0ffc8}.search-result.qq-source:hover{background:#bfd66b0d}.search-result.wyy-source:hover{background:#d95b670b}.search-result .add-btn{align-items:center;background:#ffffff0d;border:1px solid hsla(0,0%,100%,.12);border-radius:50%;color:#ffffff8c;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.search-result .add-btn:hover{background:#00f5d41f;border-color:#00f5d457;color:#eafffb}.icon-btn{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff09;border:1px solid hsla(0,0%,100%,.08);border-radius:50%;color:#ffffff8c;cursor:pointer;display:flex;font-family:inherit;height:44px;justify-content:center;padding:0;transition:all .3s;width:44px}.icon-btn:hover{background:#ffffff17;border-color:#ffffff2e;color:#fff;transform:scale(1.04)}.icon-btn.active{background:#f4d28a1a;border-color:#f4d28a70;color:#f4d28a}#upload-actions{align-items:center;display:flex;gap:8px;height:58px;position:relative}#upload-btn{background:#ffffff0b;border-color:#00f5d43d;box-shadow:0 10px 32px #00000038,inset 0 1px #ffffff14;color:#e8ecefc7}#upload-btn:hover{background:#00f5d413;border-color:#00f5d480;box-shadow:0 16px 46px #00f5d414,inset 0 1px #ffffff1a;color:#fff}#clear-cover-btn{background:#ffffff09;border-color:#ffffff14;box-shadow:0 10px 28px #0003;color:#ffffff57;display:none;font-size:18px;height:28px;line-height:1;margin-top:0;transform:scale(.92);width:28px}#clear-cover-btn.has-cover{background:#f4d28a14;border-color:#f4d28a4d;color:#f4d28ad6;display:flex}#clear-cover-btn:hover{background:#f4d28a24;border-color:#f4d28a8c;color:#fff0bf;transform:scale(1.02)}#upload-tip{background:linear-gradient(180deg,#18171af5,#0a0a0eed);border:1px solid rgba(244,210,138,.24);border-radius:12px;box-shadow:0 20px 60px #00000070,0 0 0 1px #ffffff09,inset 0 1px #ffffff12;color:#ffffffb3;font-size:12px;left:46px;letter-spacing:.25px;line-height:1.5;opacity:0;padding:13px 34px 13px 14px;pointer-events:none;position:absolute;top:56px;transform:translateY(-8px) scale(.98);visibility:hidden;width:214px;will-change:opacity,transform,filter;z-index:3}#upload-tip.show{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);visibility:visible}#upload-tip:before{background:#18171af5;border-left:1px solid rgba(244,210,138,.22);border-top:1px solid rgba(244,210,138,.22);content:"";height:10px;left:18px;position:absolute;top:-6px;transform:rotate(45deg);width:10px}.upload-tip-title{color:#fff0bf;display:block;font-weight:700;margin-bottom:2px}.upload-tip-close{background:transparent;border:0;border-radius:50%;color:#ffffff61;cursor:pointer;font-family:inherit;font-size:15px;height:18px;line-height:18px;padding:0;position:absolute;right:9px;top:8px;width:18px}.upload-tip-close:hover{background:#ffffff14;color:#fff}@media(max-width:620px){#search-stack{width:calc(100vw - 28px)}}#playlist-panel{backdrop-filter:blur(40px) saturate(1.4);-webkit-backdrop-filter:blur(40px) saturate(1.4);background:#0c0c126b;border:1px solid hsla(0,0%,100%,.08);border-radius:20px;box-shadow:0 24px 80px #00000073;display:flex;flex-direction:column;left:-410px;max-height:calc(100vh - 120px);opacity:0;overflow:hidden;overscroll-behavior:contain;padding:18px 0 0 18px;pointer-events:none;position:fixed;top:78px;transform:translate(-16px);transition:left .55s cubic-bezier(.16,1,.3,1),opacity .45s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);width:340px;z-index:17}#playlist-panel.peek,#playlist-panel.show{left:32px;opacity:1;pointer-events:auto;transform:translate(0)}#playlist-panel.pinned{border-color:#00f5d447;box-shadow:0 24px 80px #00000073,0 0 34px #00f5d414}#pl-pane,#podcast-pane,#queue-pane{flex:1;min-height:0;overflow-y:auto;padding:0 12px 18px 0}#pl-pane::-webkit-scrollbar,#podcast-pane::-webkit-scrollbar,#queue-pane::-webkit-scrollbar{width:8px}#pl-pane::-webkit-scrollbar-thumb,#podcast-pane::-webkit-scrollbar-thumb,#queue-pane::-webkit-scrollbar-thumb{background:#00f5d459;border-radius:4px}.queue-head{align-items:flex-start;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:14px;padding-right:18px}.queue-head-act{align-items:center;display:flex;gap:6px}.playlist-pin-btn{flex:0 0 auto;min-width:30px;padding:0;width:30px}.playlist-pin-btn.active{background:#00f5d41a;border-color:#00f5d461;color:#fff}.panel-tabs{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-bottom:10px;padding-right:18px}.panel-tab{background:#ffffff08;border:1px solid hsla(0,0%,100%,.1);border-radius:999px;color:#ffffff8c;cursor:pointer;font-family:inherit;font-size:11px;padding:6px 12px;transition:all .2s}.panel-tab:hover{color:#ffffffd9}.panel-tab.active{background:#00f5d41a;border-color:#00f5d457;color:#eafffb}.queue-toolbar{align-items:center;display:flex;gap:8px;justify-content:space-between;margin:8px 0 4px}.queue-chip{align-items:center;background:#ffffff08;border:1px solid hsla(0,0%,100%,.1);border-radius:999px;color:#ffffffa6;display:inline-flex;font-size:10.5px;height:26px;padding:0 10px}#playlist-panel .queue-list{display:flex;flex-direction:column;gap:6px;margin-top:6px;max-height:none}#playlist-panel .queue-item{align-items:center;background:#ffffff06;border:1px solid hsla(0,0%,100%,.04);border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:8px;transition:all .2s}#playlist-panel .queue-item:hover{background:#ffffff0d}#playlist-panel .queue-item.now{background:#00f5d413;border-color:#00f5d457}#playlist-panel .queue-item img{background:#ffffff0f;border-radius:6px;flex-shrink:0;height:38px;-o-object-fit:cover;object-fit:cover;width:38px}.qi-info{flex:1;min-width:0}.qi-name{color:#ffffffe6;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#playlist-panel .queue-item.now .qi-name{color:#eafffb}.qi-sub{color:#fff6;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qi-act{display:flex;gap:4px;opacity:0;transition:opacity .15s}#playlist-panel .queue-item:hover .qi-act{opacity:1}.qi-act button{align-items:center;background:#ffffff0f;border:none;border-radius:5px;color:#ffffff8c;cursor:pointer;display:flex;font-size:13px;height:24px;justify-content:center;line-height:1;width:24px}.qi-act button:hover{background:#ffffff26;color:#fff}.qi-act button.queue-next:hover{background:#00f5d424;color:#eafffb}.fx-title{color:#fffffff2;font-size:14px;font-weight:500;letter-spacing:.6px}.fx-sub{color:#ffffff52;font-size:10px;letter-spacing:1px;margin-top:4px}.fx-mini-btn{background:#ffffff0a;border:1px solid hsla(0,0%,100%,.12);border-radius:8px;color:#ffffffc7;cursor:pointer;flex:1;font-family:inherit;font-size:11.5px;height:30px;letter-spacing:.3px;transition:all .2s}.fx-mini-btn:hover{background:#ffffff1a;color:#fff}.fx-mini-btn.active{background:#f4d28a1a;border-color:#f4d28a75;color:#f4d28a}.fx-mini-btn.ghost{background:transparent;flex:0 0 auto;padding:0 10px}.fx-mini-btn.ghost.active{background:#f4d28a1a}.queue-toolbar .fx-mini-btn{align-items:center;display:inline-flex;justify-content:center;line-height:1;white-space:nowrap}.clear-queue-btn,.fx-mini-btn.clear-queue-btn{background:#e17055;border:2px solid #d63031;box-shadow:2px 2px #00000040;color:#fff;cursor:pointer;font-size:12px;font-weight:900;letter-spacing:.5px;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.clear-queue-btn:hover:not(:disabled),.fx-mini-btn.clear-queue-btn:hover:not(:disabled){background:#d63031;border-color:#b71c1c;box-shadow:3px 3px #00000047;color:#fff;transform:translateY(-1px)}.clear-queue-btn:active:not(:disabled),.fx-mini-btn.clear-queue-btn:active:not(:disabled){box-shadow:1px 1px #00000040;transform:translateY(0)}.clear-queue-btn:disabled,.fx-mini-btn.clear-queue-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}body.immersive-mode #search-area{opacity:0!important;pointer-events:none!important;visibility:visible!important}body.immersive-mode #search-area.peek{opacity:1!important;pointer-events:auto!important}.danmaku-layer{top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;position:absolute;z-index:4}.danmaku-item{align-items:center;animation:danmaku-scroll linear;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0000009e;border-radius:100px;box-shadow:0 4px 18px #00000040;display:flex;height:40px;left:100%;padding:5px;position:absolute;white-space:nowrap;will-change:transform}.danmaku-avatar{border:1px solid hsla(0,0%,100%,.12);border-radius:50%;flex-shrink:0;height:30px;-o-object-fit:cover;object-fit:cover;overflow:hidden;width:30px}.danmaku-msg{color:#fff;font-size:13px;line-height:30px;padding:0 12px 0 8px;text-shadow:0 1px 2px rgba(0,0,0,.4);white-space:nowrap}.danmaku-item.hot{background:#181204b8;border:1px solid rgba(255,205,90,.35)}.danmaku-item.hot .danmaku-msg{color:#ffd76a}.danmaku-item.dm-c0 .danmaku-msg{color:#ff5b5b}.danmaku-item.dm-c1 .danmaku-msg{color:#ff9f2e}.danmaku-item.dm-c2 .danmaku-msg{color:#ffd400}.danmaku-item.dm-c3 .danmaku-msg{color:#3ee08f}.danmaku-item.dm-c4 .danmaku-msg{color:#35c4ff}.danmaku-item.dm-c5 .danmaku-msg{color:#7c9bff}.danmaku-item.dm-c6 .danmaku-msg{color:#c586ff}.danmaku-item.dm-c7 .danmaku-msg{color:#ff7ac8}.danmaku-layer.mono .danmaku-item.hot .danmaku-msg,.danmaku-layer.mono .danmaku-msg{color:#fff!important}.danmaku-item.live{border:1px solid rgba(0,245,212,.35)}.danmaku-item.self{border:1px solid rgba(0,245,212,.75);box-shadow:0 0 14px #00f5d433}.danmaku-avatar.pixel{border:2px solid #23262f;border-radius:50%;image-rendering:pixelated}.danmaku-nick{color:#ffffff8c;font-size:11px;line-height:30px;padding-left:8px;white-space:nowrap}.danmaku-item.self .danmaku-nick{color:#00f5d4}.danmaku-layer.paused .danmaku-item{animation-play-state:paused}@keyframes danmaku-scroll{0%{transform:translate(0)}to{transform:translate(calc(-100vw - 100%))}}@media(max-width:768px){input,select,textarea{font-size:16px!important}.modal{max-height:88dvh;max-width:100vw;overflow-y:auto;padding:18px;width:calc(100vw - 28px)}.control-toast{font-size:12px;max-width:86vw;text-align:center;white-space:normal}.invite-toast{max-width:86vw}.app-layout{flex-direction:column;position:relative}.app-layout .sidebar{bottom:0;box-shadow:6px 0 30px #0006;left:0;position:fixed;top:0;transform:translate(-101%);transition:transform .28s cubic-bezier(.16,1,.3,1);width:min(78vw,300px);z-index:600}.app-layout .sidebar.open{transform:translate(0)}.drawer-backdrop{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#0b0c108c;top:0;right:0;bottom:0;left:0;position:fixed;z-index:590}.app-layout .main-content{flex:1 1 auto;min-height:0;width:100%}.app-layout .chat-area.hide-messages .chat-input,.app-layout .chat-area.hide-messages .messages{display:none}.app-layout .player-bar{flex-wrap:wrap;gap:8px 12px;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.app-layout .player-bar .player-info{flex:1 0 100%}.vinyl-toggle{height:44px;width:44px}.vinyl-disc{box-shadow:2px 2px 0 var(--px-line),inset 0 0 0 4px #242936;height:40px;width:40px}.vinyl-grooves,.vinyl-grooves:after{top:3px;right:3px;bottom:3px;left:3px}.vinyl-cover,.vinyl-label{height:20px;width:20px}.vinyl-hole{height:5px;width:5px}.app-layout .player-bar .volume-control{display:none}.app-layout .right-panel.mobile-sheet{border-left:4px solid var(--px-line);border-radius:0;border-top:none;bottom:0;box-shadow:-6px 0 30px #00000073;display:flex;flex-direction:column;left:auto;overflow:hidden;padding-bottom:calc(56px + env(safe-area-inset-bottom));position:fixed;right:0;top:0;transform:translate(101%);transition:transform .28s cubic-bezier(.16,1,.3,1);width:min(86vw,360px);z-index:600}.app-layout .right-panel.mobile-sheet.open{transform:translate(0)}.sheet-backdrop{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#0b0c1080;top:0;right:0;bottom:0;left:0;position:fixed;z-index:555}.mobile-sheet-header{align-items:center;background:var(--px-panel);display:flex;justify-content:space-between;padding:10px 14px 6px;position:sticky;top:0;z-index:2}.mobile-sheet-grab{background:#ffffff40;border-radius:4px;height:4px;left:50%;position:absolute;top:6px;transform:translate(-50%);width:40px}.mobile-sheet-title{color:var(--px-yel);font-size:14px;font-weight:900;letter-spacing:2px}.mobile-sheet-close{background:var(--px-chip);border:3px solid var(--px-ink);border-radius:0;color:var(--text);cursor:pointer;display:none;font-size:16px;height:30px;line-height:1;width:30px}.app-layout .chat-header{gap:8px;padding:10px 12px}.mobile-menu-btn,.mobile-panel-btn{align-items:center;background:var(--px-yel);border:3px solid var(--px-ink);border-radius:0;box-shadow:2px 2px 0 var(--px-line);color:var(--px-ink);cursor:pointer;display:flex;flex:0 0 auto;font-size:16px;height:36px;justify-content:center;padding:0;width:36px}.mobile-menu-btn:active,.mobile-panel-btn:active{box-shadow:0 0 0 var(--px-line);transform:translate(2px,2px)}.mobile-hidden{display:none!important}.message{max-width:90%}.mobile-tabbar{background:var(--px-panel);border-top:4px solid var(--px-line);display:flex;flex:0 0 auto;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.mobile-tabbar button{align-items:center;background:transparent;border:none;color:var(--text-dim);cursor:pointer;display:flex;flex:1;flex-direction:column;font-family:inherit;font-size:11px;font-weight:800;gap:2px;justify-content:center;letter-spacing:1px}.mobile-tabbar button .tab-px-icon{height:22px;width:22px}.mobile-tabbar button.active{color:var(--px-yel);text-shadow:1px 1px 0 #000}}@media(max-width:768px){@media(hover:none){.right-panel .queue-item .qi-act{opacity:1}}}.drawer-backdrop,.mobile-only,.mobile-sheet-header,.mobile-tabbar,.sheet-backdrop{display:none}@media(max-width:768px){.mobile-only{display:inline-flex}.mobile-sheet-close,.mobile-sheet-header{display:flex}.drawer-backdrop,.sheet-backdrop{display:block}.mobile-tabbar{display:flex}}.modal-desc{color:var(--text-dim,#888);font-size:13px;line-height:1.5;margin:6px 0 12px}
