body[data-pv-theme="dark"]{--bg:#0b1020;--surface:#101828;--surface-2:#182236;--text:#f2f4f7;--body:#cbd5e1;--muted:#aab4c6;--border:#344054;color-scheme:dark}
body[data-pv-theme="neon"]{--bg:#100b1c;--surface:#1b132b;--surface-2:#271b3c;--text:#f8efff;--body:#d9c7e8;--muted:#bb9cd3;--border:#573579;--primary:#a83de7;--primary-2:#d08aff;color-scheme:dark}
body[data-pv-theme="neon"]{--ft-bg:#150e23;--ft-card:#23162e;--ft-text:#f0e3fb;--ft-muted:#d2bce9;--ft-border:#694886;--ft-heading:#fff2ff;--ft-link:#efcbff;--ft-warn:#392541;--tab-bg:#301f40;--tab-border:#74508f;--tab-ink:#f2e1ff;--tab-hover:#493063;--tab-active:#8944ba;--ui-safe:#9cf0d2;--ui-danger:#ffc0d4;--ui-warning:#fbe09d}
body.dark[data-pv-theme="moss"]{--bg:#151d1a;--surface:#202a25;--surface-2:#29362f;--text:#e6eee8;--body:#c0cfc4;--muted:#9bb3a4;--border:#384b40;--primary:#8ba999;--primary-2:#b4d0bb;--shadow:0 5px 17px rgba(0,0,0,.16);color-scheme:dark}
body.dark[data-pv-theme="smoke"]{--bg:#151c26;--surface:#202a35;--surface-2:#2a3643;--text:#e8edf3;--body:#c0cfdd;--muted:#9cacbd;--border:#3a4b5e;--primary:#92aabe;--primary-2:#b6c9d8;--shadow:0 5px 17px rgba(0,0,0,.16);color-scheme:dark}
body.dark[data-pv-theme="mist"]{--bg:#1b1925;--surface:#272434;--surface-2:#332e40;--text:#ede8f1;--body:#cfc4d9;--muted:#afa3bd;--border:#4a4155;--primary:#ad9bc2;--primary-2:#d1bfe0;--shadow:0 5px 17px rgba(0,0,0,.16);color-scheme:dark}
body.dark[data-pv-theme="rose"]{--bg:#221b22;--surface:#2d242d;--surface-2:#392d37;--text:#eee6e9;--body:#d6c1ca;--muted:#b9a2ab;--border:#52404a;--primary:#b79ba7;--primary-2:#dbc0cb;--shadow:0 5px 17px rgba(0,0,0,.16);color-scheme:dark}
body[data-pv-theme="light"]{--bg:#fff;--surface:#fff;--surface-2:#f8faff;--text:#182236;--body:#334155;--muted:#536178;--border:#d7deea;--primary:#6b21a8;--primary-2:#7c3aed;--shadow:0 2px 8px rgba(17,24,39,.06);color-scheme:light!important;background:#fff!important;color:#182236!important}
body[data-pv-theme="light"]{--pvclk-rbg:rgba(22,163,74,.11);--pvclk-rfg:#166534;--pvclk-rbd:rgba(21,128,61,.33);--pvclk-sbg:rgba(220,38,38,.10);--pvclk-sfg:#991b1b;--pvclk-sbd:rgba(185,28,28,.32)}
body[data-pv-theme="light"]{--pvw:#96500c;--pva:#b91d38;--pvg:#166b40}
body{--ink:var(--text,#f2f4f7);--panel:var(--surface,#101828);--stroke:var(--border,#344054);--accent:var(--primary,#bba0ff);background:var(--bg,#0b1020);color:var(--text,#f2f4f7)}
.pv-shell,.pv-sheet,.pv-setup-footer,.pv-mini{background:var(--surface);color:var(--text)}
.pv-lobby-head,.pv-directory-tabs,.pv-card-content,.pv-welcome,.pv-empty,.pv-join-shortcut,.pv-join-help{color:var(--text)}
.pv-sheet :is(input,select,textarea),.pv-search input,.pv-filters select,.pv-join input{background:var(--surface-2);color:var(--text);border-color:var(--border)}
.pv-sheet :is(label,legend,h2,h3,p),.pv-sheet-head,.pv-action-caption{color:var(--text)}
.pv-sheet :is(.pv-action-circle,.pv-secondary),.pv-action-dialog{background:var(--surface-2);color:var(--text);border-color:var(--border)}
.pv-sheet .pv-choices label{background:var(--surface-2);color:var(--text);border-color:var(--border)}
.pv-sheet .pv-choices label.pv-selected{color:var(--text);border-color:var(--accent);background:var(--surface)}
.pv-room :is(.pv-room-head,.pv-room-meta,.pv-stage,.pv-chat-area,.pv-composer){--muted:#d3c9df;color:#f7f5ff}
body[data-pv-theme=light] .pv-room{color:#182236}
body[data-pv-theme=light] .pv-room:before{background:rgba(255,255,255,.78)}
body[data-pv-theme=light] .pv-room :is(.pv-room-head,.pv-room-meta,.pv-stage,.pv-chat-area,.pv-composer){color:#182236;--muted:#536178}
body[data-pv-theme=light] .pv-room :is(.pv-room-code,.pv-seat-name,.pv-seat-role,.pv-stage-label,.pv-chat-author,.pv-chat-top h2,.pv-stage-note){color:#334155}
body[data-pv-theme=light] .pv-room :is(.pv-topic,.pv-count,.pv-chat-bubble,.pv-chat-form,.pv-event,.pv-chat-empty,.pv-chat-latest,.pv-reply,.pv-pin){background:#ffffffe6;color:#182236;border-color:#cbd5e1}
body[data-pv-theme=light] .pv-room :is(.pv-chat-form input,.pv-icon-button){color:#334155}
.pv-seat-disconnected svg,.pv-member-offline svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}
.pv-seats{gap:19.8px}.pv-mc-seats{gap:21.6px;padding:12.6px 0 18px}.pv-regular-seats{gap:18px 9px}
@media(min-width:850px){.pv-seats{row-gap:28.8px}}
@media(max-width:849px){.pv-seats{gap:12.6px}.pv-mc-seats{gap:16.2px;padding:6.3px 0 13.5px}.pv-regular-seats{row-gap:13.5px}}

.pv-card,.pv-orbit{background-color:var(--surface-2)}
.pv-tabs button[aria-pressed=true]{color:var(--text)}
.pv-card-cover :is(.pv-card-topic,.pv-card-state){color:#f5f2ff}
.pv-card-cover .pv-card-state:not(.pv-locked){color:#9bedd3}
body[data-pv-theme=light] .pv-welcome{background:linear-gradient(110deg,#f5edff,#eaf2ff)}
body[data-pv-theme=light] .pv-welcome :is(h1,p,small){color:#334155}
body[data-pv-theme=light] .pv-orbit{background:#ede9fe}
body[data-pv-theme=light] .pv-orbit svg{color:#6b21a8}
body[data-pv-theme=light] .pv-join button{border-color:var(--border)}
.pv-setup-preview,.pv-setup-preview :is(h3,p,small){color:#f8f4ff}
body[data-pv-theme=light] .pv-action-dialog :is(h2,h3,p,strong,small,.pv-action-person){color:var(--text)}
.pv-seat-timer svg{width:12px;height:12px;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.8}

/* Voice compact profile and reconnect placeholder */
.qpc-game-chip{gap:5px!important;display:inline-flex!important;align-items:center!important;max-height:32px;font-size:11px!important}
.qpc-game-chip img{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;max-height:18px!important;flex:0 0 18px!important;object-fit:contain!important;border-radius:4px!important}
.pv-seat-disconnected{background:var(--surface-2,#302b40)!important;color:var(--muted,#c7bdd8)!important;box-shadow:none!important;animation:none!important}
.pv-seat-disconnected::before,.pv-seat-disconnected::after{display:none!important}
.pv-seat-disconnected .pv-avatar-states,.pv-seat-disconnected img{display:none!important}
.pv-disconnect-icon{width:26px!important;height:26px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pv-stage-label{margin-bottom:3px!important}.pv-mc-seats{padding-top:2px!important;padding-bottom:10px!important}.pv-stage{padding-bottom:2px!important}
.pv-room-layout{gap:0!important}.pv-chat-area{border:0!important;box-shadow:none!important;border-radius:0!important;margin-top:0!important;padding-top:0!important;background:transparent!important}

.pv-seat{position:relative}.pv-seat-manage{position:absolute;right:0;top:0;width:24px;height:24px;padding:0;border-radius:50%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);font-size:16px}
.pv-seat-status{font-size:9px;line-height:12px;color:var(--muted);white-space:nowrap}.pv-seat[data-seat-state=waiting] .pv-seat-status{color:#e4bd65}.pv-seat[data-seat-state=banned] .pv-seat-status{color:#fb8ea1}
.pv-speaking-wave{position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);display:none;align-items:center;justify-content:center;gap:2px;width:24px;height:14px;border-radius:8px;background:var(--surface-2)}
.pv-speaking-wave i{display:block;width:3px;height:4px;background:#68edbd;border-radius:2px;animation:pv-speaking-bars .45s ease-in-out infinite alternate}.pv-speaking-wave i:nth-child(2){animation-delay:-.3s}.pv-speaking-wave i:nth-child(3){animation-delay:-.15s}
.pv-seat-avatar[data-speaking]:not(.pv-seat-disconnected) .pv-speaking-wave{display:flex}.pv-seat-avatar[data-speaking]:not(.pv-seat-disconnected){box-shadow:0 0 0 calc(2px + var(--voice-level,0)*4px) #68edbd66}
@keyframes pv-speaking-bars{to{height:11px}}@media(prefers-reduced-motion:reduce){.pv-speaking-wave i{animation:none;height:8px}}
.pv-mic-queue{max-height:272px;overflow-y:auto;width:100%}.pv-queue-row{min-height:64px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border);padding:8px 0}.pv-queue-row>img{width:30px;height:30px;object-fit:cover;border-radius:50%;flex:none}.pv-queue-row>span{flex:1;min-width:0;font-size:12px;overflow-wrap:anywhere}.pv-queue-row>button{padding:6px 8px;font-size:11px}
.pv-music-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pv-music-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:200px;overflow:auto;margin-top:12px}.pv-music-list button{font-size:12px;padding:8px}#member-detail[data-panel=music] input[type=range]{width:100%;accent-color:var(--accent)}#voice-music-time{font-size:12px;color:var(--muted)}
