:root{--bg: #1e1e1e;--panel: #2b2b2b;--panel-2: #333333;--panel-3: #3a3a3a;--line: #171717;--line-soft: #444444;--text: #d8d8d8;--muted: #969696;--dim: #737373;--accent: #4a90d9;--accent-soft: #315f8f;--green: #7ac943;--red: #d9534f;--yellow: #f0ad4e;--white: #f2f2f2;--radius: 3px;font-family:Tahoma,Verdana,Segoe UI,sans-serif;font-size:15px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;color:var(--text);background:var(--bg)}.audio-enable-prompt{position:fixed;top:10px;left:50%;z-index:2000;transform:translate(-50%);padding:7px 14px;border:1px solid #8a3b38;border-radius:3px;color:#fff;background:#8a3b38;font-weight:600;box-shadow:0 4px 14px #00000073;animation:audio-prompt-flash 1.2s ease-in-out infinite}@keyframes audio-prompt-flash{0%,to{border-color:#5a2a2a;background-color:#5a2a2a;color:#f2f2f2}50%{border-color:#fff;background-color:#d9534f;color:#fff}}@media(prefers-reduced-motion:reduce){.audio-enable-prompt{animation:none;border-color:#fff;background-color:#8a3b38}}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}.app{display:grid;grid-template-rows:42px minmax(0,1fr) 24px;grid-template-columns:minmax(0,1fr) 320px;height:100%;background:var(--bg)}.toolbar{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:0 8px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#3a3a3a,#2d2d2d);box-shadow:inset 0 1px #ffffff0a}.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:8px;min-width:0}.toolbar-center{justify-content:center}.toolbar-right{justify-content:flex-end}#server-name{color:var(--white);font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-indicator{display:inline-flex;align-items:center;gap:5px;margin-left:8px}.conn-pill{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border:1px solid var(--line-soft);border-radius:999px;color:var(--dim);font-size:10px;line-height:1.3}.conn-dot{width:6px;height:6px;border-radius:50%;background:var(--dim)}.conn-pill.online{border-color:#3d6b2a;color:#bfe8a3}.conn-pill.online .conn-dot{background:var(--green);box-shadow:0 0 5px #7ac9438c}.conn-pill.pending{border-color:#8a6a2b;color:#ffd28a}.conn-pill.pending .conn-dot{background:var(--yellow)}.conn-pill.offline{border-color:#8a3b38;color:#ffb3b0}.conn-pill.offline .conn-dot{background:var(--red)}.toolbar-button{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid transparent;border-radius:var(--radius);color:var(--text);background:transparent}.toolbar-button:hover{border-color:var(--line-soft);background:#ffffff0d}.toolbar-button.active{border-color:#8a3b38;background:#d9534f38;color:#ffb3b0}.toolbar-button.afk.active{border-color:#8a6a2b;background:#f0ad4e2e;color:#ffd28a}.toolbar-button.setup-needed{animation:setup-needed-flash 1.2s ease-in-out infinite}@keyframes setup-needed-flash{0%,to{border-color:transparent;color:var(--text);background:transparent}50%{border-color:#8a3b38;color:#fff;background-color:#8a3b38}}@media(prefers-reduced-motion:reduce){.toolbar-button.setup-needed{animation:none;border-color:#8a3b38;color:#fff;background-color:#5a2a2a}}.icon{display:inline-block;width:16px;height:16px;background-color:transparent;background-image:var(--icon-url);background-repeat:no-repeat;background-position:center;background-size:contain}.avatar{display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(180deg,#4b6f94,#2f4a65);font-weight:700}.main-grid{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) 6px var(--profile-width, 320px);grid-template-rows:minmax(0,1fr) 220px;min-height:0}.tree-pane{grid-column:1;grid-row:1;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--panel)}.profile-resizer{grid-column:2;grid-row:1;width:6px;min-height:0;cursor:col-resize;background:linear-gradient(90deg,#1b1b1b,#303030,#1b1b1b);border-right:1px solid var(--line)}.profile-resizer:hover,.profile-resizer.dragging{background:var(--accent-soft)}.pane-header{display:flex;align-items:center;justify-content:space-between;height:26px;padding:0 8px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--panel-2);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.room-tree{flex:1;min-height:0;overflow:auto;padding:4px 0 8px}.tree-server{display:flex;align-items:center;gap:6px;height:27px;padding:0 8px;color:var(--white);font-weight:600}.tree-room{display:flex;align-items:center;gap:6px;height:26px;padding:0 8px 0 22px;color:var(--text);cursor:pointer;user-select:none}.tree-room:hover{background:#ffffff0d}.tree-room-group{border-radius:3px}.tree-room-group.drop-target{outline:1px dashed var(--accent);outline-offset:-1px;background:#4a90d924}.tree-user.draggable{cursor:grab}.tree-user.dragging{opacity:.6}.tree-room.selected{outline:1px solid rgba(138,180,248,.55);outline-offset:-1px;background:#4a90d91f}.tree-room-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-user{display:flex;align-items:center;gap:5px;height:24px;padding:0 8px 0 42px;color:var(--text);cursor:pointer;user-select:none}.tree-user:hover{background:#ffffff0d}.tree-user.selected{background:#4a90d92e}.tree-user-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-user.self .tree-user-name{font-weight:700}.tree-stream{display:flex;align-items:center;gap:5px;height:22px;padding:0 8px 0 64px;color:var(--muted);cursor:pointer;user-select:none}.tree-stream:hover{background:#ffffff0d}.tree-stream.selected{background:#4a90d92e;outline:1px solid rgba(138,180,248,.35);outline-offset:-1px}.tree-stream-icon{flex:0 0 auto;width:14px;height:14px;color:var(--accent)}.tree-stream-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.tree-user-muted{flex:0 0 auto;width:14px;height:14px;color:var(--dim)}.tree-user-icons{display:inline-flex;align-items:center;gap:3px}.user-icon{display:inline-grid;place-items:center;width:14px;height:14px}.user-icon svg{width:12px;height:12px;fill:currentColor}.user-icon.muted{color:var(--red)}.user-icon.afk{color:var(--yellow)}.user-icon.no-mic{color:var(--dim)}.status-image{display:block;flex:0 0 auto;width:16px;height:16px;object-fit:contain}.role-badge{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:2px;color:#1d1d1d;background:#8a8a8a;font-size:12px;font-weight:700}.role-badge.member{background:#6f9fc9}.role-badge.regular{background:#77b98a}.role-badge.admin{background:#e0b34f}.role-badge.guest{background:#8a8a8a}.profile-pane{grid-column:3;grid-row:1;min-height:0;overflow:auto;border-left:1px solid var(--line);background:linear-gradient(180deg,#303030,#272727)}.profile-panel{padding:14px}.profile-hero{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line-soft)}.avatar{width:58px;height:58px;font-size:25px;flex:0 0 auto}.profile-name{margin:0;color:var(--white);font-size:25px;font-weight:600;word-break:break-word}.profile-subline{margin-top:4px;color:var(--muted)}.profile-section{margin-top:14px}.profile-section h3{margin:0 0 6px;color:var(--muted);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.profile-row{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04)}.profile-row span:first-child{color:var(--muted)}.profile-row span:last-child{text-align:right;word-break:break-word}.room-description{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);font-size:13px;line-height:1.45}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:14px}.profile-actions button{padding:6px 8px}.profile-actions button,.profile-actions select{width:100%}.profile-actions .wide{grid-column:1 / -1}.audio-control{margin-top:10px}.audio-control-top{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:center}.audio-control-label{color:var(--muted)}.audio-meter{height:10px;overflow:hidden;border:1px solid var(--line-soft);border-radius:999px;background:#191919}.audio-meter-bar{width:0%;height:100%;background:linear-gradient(90deg,var(--green),var(--yellow),var(--red));transition:width 80ms linear}.audio-meter.muted .audio-meter-bar{background:linear-gradient(90deg,#5b5b5b,#a8a8a8)}.audio-mute{padding:4px 8px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--text);background:linear-gradient(180deg,#454545,#383838)}.audio-mute.active{border-color:#8a3b38;background:#d9534f38;color:#ffb3b0}.audio-volume-row{display:flex;align-items:center;gap:8px;margin-top:6px}.audio-volume-slider{flex:1;min-width:0}.audio-volume-value{width:44px;color:var(--muted);text-align:right}.music-title{margin:6px 0;color:var(--white);font-weight:600;word-break:break-word}.music-time-row{display:flex;justify-content:space-between;margin:6px 0;color:var(--muted)}.music-seek,.music-preview-volume{width:100%}.music-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:10px 0}.music-controls button,.music-player>button{padding:6px 8px;border-radius:var(--radius)}.music-controls button:not(.secondary),.music-player>button:not(.secondary){border:1px solid #2b5f8f;color:#fff;background:linear-gradient(180deg,#4f9be2,#3577b6)}.music-preview-row{display:flex;align-items:center;gap:6px;margin:8px 0;color:var(--text)}.music-preview-volume-row{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted)}.native-audio-status{margin:6px 0;color:var(--green);word-break:break-word}.native-audio-section button{width:100%;padding:6px 8px;border-radius:var(--radius)}.chat-pane{grid-column:1 / -1;grid-row:2;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--line);background:#242424}.chat-tabs{display:flex;align-items:flex-end;gap:2px;min-height:28px;padding:4px 6px 0;border-bottom:1px solid var(--line);background:#2c2c2c;overflow-x:auto}.chat-tab{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:220px;padding:5px 10px;border:1px solid var(--line);border-bottom:none;border-radius:3px 3px 0 0;color:var(--muted);background:#292929;white-space:nowrap}.chat-tab .tab-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-tab.active{color:var(--white);background:#242424}.chat-tab.unread{animation:chat-tab-unread 1.2s ease-in-out infinite}@keyframes chat-tab-unread{0%,to{color:var(--muted);background-color:#292929}50%{color:#fff;background-color:#8a3b38}}@media(prefers-reduced-motion:reduce){.chat-tab.unread{animation:none;color:#fff;background-color:#5a2a2a}}.chat-tab .tab-close{color:var(--dim);background:transparent;border:0;padding:0;font-size:15px;line-height:1;cursor:pointer}.chat-tab .tab-close:hover{color:var(--red)}.chat-messages{flex:1;min-height:0;overflow:auto;padding:6px 8px;font-family:Consolas,Courier New,monospace;font-size:15px;line-height:1.45}.chat-line{display:flex;gap:7px;padding:1px 0;word-break:break-word}.chat-time{flex:0 0 auto;color:#6f6f6f}.chat-author{flex:0 0 auto;color:#8ab4f8}.chat-author.admin{color:#e0b34f}.chat-body{color:var(--text);white-space:pre-wrap}.chat-body.poke{color:#ffd28a}.chat-empty{padding:10px 2px;color:var(--dim);font-family:Tahoma,Verdana,sans-serif}.chat-load-row{padding:2px 8px 5px;border-top:1px solid rgba(255,255,255,.03)}.chat-form{display:flex;gap:6px;padding:6px;border-top:1px solid var(--line);background:#2a2a2a}.chat-input{flex:1;min-width:0;padding:7px 8px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--text);background:#1f1f1f;outline:none}.chat-input:focus{border-color:var(--accent)}.chat-send{padding:7px 16px;border:1px solid #2b5f8f;border-radius:var(--radius);color:#fff;background:linear-gradient(180deg,#4f9be2,#3577b6)}.chat-send:disabled{opacity:.45}.statusbar{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding:0 8px;border-top:1px solid var(--line);color:var(--muted);background:#262626;font-size:14px}.status-separator{color:#555}.status-spacer{flex:1}.tiny-button{min-width:20px;height:20px;padding:0 6px;border:1px solid var(--line-soft);border-radius:2px;color:var(--text);background:linear-gradient(180deg,#444,#383838);line-height:1}.tiny-button:hover{filter:brightness(1.1)}button.secondary{color:var(--text);background:linear-gradient(180deg,#454545,#383838);border:1px solid var(--line-soft)}.profile-actions button:not(.secondary),.dialog-actions button:not(.secondary){border:1px solid #2b5f8f;border-radius:var(--radius);color:#fff;background:linear-gradient(180deg,#4f9be2,#3577b6)}.ts-dialog{width:360px;padding:0;border:1px solid var(--line);border-radius:4px;color:var(--text);background:linear-gradient(180deg,#343434,#2a2a2a);box-shadow:0 24px 80px #0009}.ts-dialog::backdrop{background:#0000008c}.ts-dialog form{padding:18px}.ts-dialog h2{margin:0 0 16px;color:var(--white);font-size:19px;font-weight:600}.nickname-dialog .hint{margin:0 0 12px;color:var(--muted);line-height:1.4}.connection-dialog{width:330px}.connection-body{display:flex;align-items:center;gap:14px;padding:20px}.connection-body h2{margin:0 0 4px;color:var(--white);font-size:18px;font-weight:600}.connection-body .hint{margin:0;color:var(--muted)}.connection-spinner{width:26px;height:26px;flex:0 0 auto;border:3px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:connection-spin .8s linear infinite}@keyframes connection-spin{to{transform:rotate(360deg)}}.ts-dialog label{display:block;margin:10px 0 5px;color:var(--muted)}.ts-dialog input,.ts-dialog select,.ts-dialog textarea{width:100%;padding:8px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--text);background:#202020}.ts-dialog textarea{resize:vertical;min-height:72px;font:inherit}.radio-group{margin:14px 0 0;padding:0;border:0}.radio-group legend{margin-bottom:6px;color:var(--muted)}.radio-group label{display:flex;align-items:center;gap:6px;margin:4px 0;color:var(--text)}.radio-group input{width:auto}#settings-dialog{width:440px;height:min(90vh,900px);max-height:90vh}#settings-form{display:flex;flex-direction:column;height:100%;max-height:none;padding:0}.settings-body{min-height:0;overflow-y:auto;padding:18px}.settings-footer{position:sticky;bottom:0;z-index:1;flex:0 0 auto;margin:0;padding:12px 18px;border-top:1px solid var(--line);background:linear-gradient(180deg,#303030,#292929)}#settings-save:disabled{border-color:var(--line-soft);color:var(--muted);background:linear-gradient(180deg,#3f3f3f,#323232);opacity:1}.settings-grid{display:grid;grid-template-columns:110px 1fr;gap:8px 10px;align-items:center;margin-top:10px}.settings-grid label{margin:0}.settings-grid .hint{margin:0;line-height:1.3}.settings-checks{margin:16px 0 0;padding:0;border:0}.settings-checks legend{margin-bottom:6px;color:var(--muted)}.noise-reduction-options{display:flex;flex-direction:column;gap:4px}.sub-settings{margin:2px 0 8px 24px;padding-left:10px;border-left:1px solid #3a3a3a}.settings-checks .warning{color:#e0b050}.settings-checks label{display:flex;align-items:center;gap:6px;margin:5px 0;color:var(--text)}.settings-checks input{width:auto}.keybind-settings label{justify-content:space-between}.keybind-button{min-width:150px;padding:4px 8px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--text);background:var(--panel-2)}.keybind-button.capturing{border-color:var(--accent);color:#fff;background:var(--accent-soft)}.keybind-controls{display:inline-flex;align-items:center;gap:6px}.keybind-clear{padding:4px 8px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--muted);background:transparent}.keybind-clear:disabled{opacity:.4}.keybind-warning{color:#ffd28a;line-height:1.4}.diagnostics-dialog{width:min(92vw,680px)}.diagnostics-output{max-height:55vh;overflow:auto;margin:0;padding:8px;border:1px solid var(--line-soft);color:var(--text);background:#1e1e1e;font-size:12px;line-height:1.4;white-space:pre-wrap}.mobile-profile-dialog{width:min(92vw,460px);max-height:82vh;padding:0;overflow:auto}.mobile-profile-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-soft);background:var(--panel-2)}.mobile-profile-head h2{margin:0;font-size:17px}.mic-test{margin-top:16px;padding-top:12px;border-top:1px solid var(--line-soft)}.mic-test-header{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.mic-test .hint{margin:6px 0 0;line-height:1.4}.mic-test-level{height:14px;margin-top:10px;overflow:hidden;border:1px solid var(--line-soft);border-radius:999px;background:#191919}#mic-test-level-bar{width:0%;height:100%;background:linear-gradient(90deg,var(--green),var(--yellow),var(--red));transition:width 80ms linear}.mic-test .dialog-actions{margin-top:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.dialog-actions button{padding:7px 14px}.poke-dialog{width:380px}.poke-from{margin:0 0 6px;color:var(--muted)}.poke-message{margin:0;padding:10px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--white);background:#202020;white-space:pre-wrap;word-break:break-word}.context-menu{position:fixed;z-index:1000;min-width:150px;padding:4px;border:1px solid var(--line);border-radius:3px;background:#303030;box-shadow:0 12px 30px #00000080}.context-menu button{display:block;width:100%;padding:6px 9px;border:0;border-radius:2px;color:var(--text);background:transparent;text-align:left}.context-menu button:hover{background:var(--accent-soft);color:#fff}.context-menu button.danger:hover{background:#7d3330}.toast{position:fixed;right:14px;bottom:34px;z-index:1100;max-width:420px;padding:9px 12px;border:1px solid #2b5f8f;border-radius:3px;color:#fff;background:#1e3246f5;box-shadow:0 8px 24px #00000073}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#202020}::-webkit-scrollbar-thumb{border:2px solid #202020;border-radius:6px;background:#4a4a4a}::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.ptt-bar{display:none;grid-column:1 / -1;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:linear-gradient(180deg,#2d2d2d,#242424);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ptt-button{width:100%;min-height:54px;border:1px solid #2b5f8f;border-radius:6px;color:#fff;background:linear-gradient(180deg,#4f9be2,#3577b6);font-size:18px;font-weight:700;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.ptt-hint{margin:0;color:var(--muted);font-size:.72rem;text-align:center;user-select:none;-webkit-user-select:none}.ptt-button.active{border-color:#8a3b38;background:linear-gradient(180deg,#d9534f,#9c2f2c)}.ptt-button:disabled{color:var(--muted);background:var(--panel-2);border-color:var(--line-soft)}@media(max-width:720px){:root{font-size:18px}.app{grid-template-rows:auto minmax(0,1fr) auto 28px}.ptt-bar{display:flex;flex-direction:column;gap:5px}.toolbar{grid-template-columns:1fr;gap:4px;padding:6px 8px}.toolbar-left,.toolbar-center,.toolbar-right{justify-content:center;flex-wrap:wrap}#server-name{font-size:18px}.main-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 240px}.profile-pane,.profile-resizer{display:none}.tree-pane{grid-column:1;border-right:0}.chat-pane{grid-column:1}.tree-room{min-height:40px;height:auto;padding:8px 8px 8px 14px}.tree-user{min-height:38px;height:auto;padding:7px 8px 7px 30px}.tree-stream{min-height:36px;height:auto;padding:6px 8px 6px 54px}.tree-stream-label{font-size:15px}.statusbar{font-size:14px}.keybind-settings{display:none}}.real-name{color:var(--dim);font-weight:400}.tree-stream.unstable .tree-stream-label{color:var(--yellow)}.poke-list{max-height:45vh;overflow:auto}.poke-entry+.poke-entry{margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft)}.toolbar .toolbar-button{height:40px;padding:0 6px;gap:6px}.toolbar .toolbar-button .icon{width:32px;height:32px}.toolbar-status{display:inline-block;flex:0 0 auto;width:8px;height:8px;overflow:hidden;border:1px solid transparent;border-radius:50%;color:transparent;font-size:0;line-height:0}.toolbar-status.muted{border-color:#8a3b38;background:var(--red)}.toolbar-status.unavailable{border-color:#555;background:var(--dim)}.toolbar-status.afk{border-color:#8a6a2b;background:var(--yellow)}.statusbar .connection-indicator{margin-left:4px}.version-warning{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:4px 10px;border-bottom:1px solid #8a6a2b;background:#4a3a17;color:var(--white);font-size:13px}.version-warning .tiny-button{flex:0 0 auto}.error-text{margin:0 0 8px;color:var(--red);font-size:13px}.admin-dialog{width:min(720px,94vw)}.admin-body{min-height:0;overflow-y:auto;padding:18px}.version-policy-fields{display:grid;grid-template-columns:max-content minmax(120px,1fr);align-items:center;gap:6px 12px}.version-policy-fields input{width:100%}.version-client-list{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;font-size:13px}.version-client-row{display:grid;grid-template-columns:minmax(120px,1.4fr) repeat(4,minmax(72px,1fr));gap:8px;padding:4px 6px;border:1px solid var(--line);background:var(--panel)}.version-client-head{color:var(--muted);background:var(--panel-2)}.version-client-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-status{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;margin-left:4px;vertical-align:middle}.asset-spinner{width:10px;height:10px;border:2px solid #555;border-top-color:var(--accent);border-radius:50%;animation:asset-spin .9s linear infinite}.asset-ready{width:14px;height:14px}.room-avatar .icon{width:34px;height:34px}.asset-error{color:var(--red);font-weight:700;line-height:1}@keyframes asset-spin{to{transform:rotate(360deg)}}.asset-retry{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:1px solid #8a3b38;border-radius:50%;background:#4a2422;color:var(--red);font:inherit;font-size:11px;font-weight:700;line-height:1;cursor:pointer}.asset-retry:hover{background:#66302d;color:var(--white)}.avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.tree-user-avatar{flex:0 0 auto;width:18px;height:18px;border-radius:50%;object-fit:cover}.avatar-editable{position:relative;cursor:pointer}.avatar-editable:hover,.avatar-editable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-editable.busy{opacity:.55}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ban-dialog{width:min(480px,94vw)}.ban-list,.audit-list{display:flex;flex-direction:column;gap:4px;max-height:55vh;overflow-y:auto;margin-bottom:12px}.ban-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px;border:1px solid var(--line);background:var(--panel)}.ban-row .hint{margin-top:2px}.audit-row{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;padding:6px 8px;border:1px solid var(--line);background:var(--panel);font-size:13px}.audit-time{color:var(--muted);white-space:nowrap}.audit-event{word-break:break-word}button.secondary.danger{color:#ffb4ae;border-color:#7d3030}.moderation-dialog{width:min(440px,92vw)}.noise-processing{display:flex;flex-direction:column;gap:2px;margin:8px 0;padding:8px 10px;border:1px solid var(--line);background:var(--panel);font-size:13px}.processing-row{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.processing-row.total{color:var(--text);font-weight:600}.advisor-ok{color:#7fc98a}.advisor-warming{color:var(--muted)}.advisor-downgrade{color:#f0ad4e}#noise-advisor-apply{align-self:flex-start;margin-top:4px}.vad-source-options{display:flex;flex-direction:column;gap:4px;margin:4px 0 8px}.vad-source-options .settings-label{color:var(--muted);font-size:13px}.context-menu button:disabled{color:var(--muted);cursor:default}.context-menu button:disabled:hover{background:transparent}
