:root{color:#25313a;font-synthesis:none;--border:#cbd2d8;--accent:#2779b7;--muted:#63727e;--green:#369764;--red:#bf4545;--panel:#fff;background:#e8ebee;font-family:Arial,Helvetica,sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{color:inherit}svg{flex:none;width:20px;height:20px;display:block}#app{height:100dvh;min-height:360px}.client{flex-direction:column;height:100%;display:flex;overflow:hidden}.app-head{background:#f9fafb;border-bottom:1px solid #dbe0e4;align-items:center;gap:7px;height:31px;min-height:31px;padding:0 12px;display:flex}.app-head svg{color:#4e6574;width:17px;height:17px}.app-title{letter-spacing:.12px;font-size:13px;font-weight:600}.app-subtitle{color:var(--muted);margin-left:3px;font-size:11px}.connection-pill{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:11px;display:flex}.connection-dot{background:#9aa5ae;border-radius:50%;width:6px;height:6px}.connection-pill[data-status=connected] .connection-dot{background:var(--green)}.connection-pill[data-status=connecting] .connection-dot,.connection-pill[data-status=reconnecting] .connection-dot{background:#bd8d22}.connection-pill[data-status=error] .connection-dot{background:var(--red)}.demo-tag{letter-spacing:.5px;color:#86621e;background:#fff3d6;border:1px solid #e4d2a7;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600}.menubar{background:#f3f4f5;align-items:center;gap:3px;height:29px;min-height:29px;padding:0 7px;display:flex}.menu-button{background:0 0;border:0;border-radius:3px;padding:5px 9px;font-size:12px}.menu-button:hover{background:#dfe7ed}.toolbar{border-top:1px solid #e4e7e9;border-bottom:1px solid var(--border);background:linear-gradient(#f8f9fa,#eef1f3);align-items:center;gap:5px;min-height:46px;padding:5px 11px;display:flex}.tool{background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-width:33px;height:33px;padding:5px 7px;display:flex;position:relative}.tool:hover{background:#fff;border-color:#bbcbd7}.tool[aria-pressed=true]{background:#ddebf5;border-color:#9cbdd4}.tool.connect{color:var(--accent)}.tool.mic{color:var(--green)}.tool.deaf{color:#52748e}.tool.disconnect{color:var(--red)}.tool.settings{color:#607d92}.tool.chat-focus{color:#916cb0}.tool.ptt{color:#315464;white-space:nowrap;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border-color:#c4d0d9;height:31px;margin-left:4px;padding:4px 10px;font-size:12px}.tool.ptt[aria-pressed=true]{color:#20784a;background:#e0f4e8;border-color:#70b790}.toolbar-separator{background:#cbd3d9;width:1px;height:23px;margin:0 4px}.toolbar-spacer{flex:1}.toolbar-hint{color:#71808b;white-space:nowrap;font-size:11px}.security-indicator{color:#6d7a84;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:flex}.security-indicator svg{width:13px;height:13px}.content{background:#e9edf0;flex:1;grid-template-columns:minmax(260px,38%) minmax(280px,1fr);gap:6px;min-height:0;padding:7px;display:grid}.conversation,.channels-panel{border:1px solid var(--border);background:var(--panel);border-radius:3px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.panel-heading{color:#566875;background:#f7f9fa;border-bottom:1px solid #dde3e7;align-items:center;gap:6px;height:31px;min-height:31px;padding:0 11px;font-size:11px;font-weight:600;display:flex}.panel-heading svg{color:#6b8292;width:14px;height:14px}.panel-heading .panel-count{color:#84909a;margin-left:auto;font-weight:400}.welcome{background:#fbfcfd;border-bottom:1px solid #e2e8ec;flex:none;padding:17px 16px 16px;line-height:1.5}.welcome h1{color:#315c77;letter-spacing:-.3px;margin:0 0 6px;font-size:19px;font-weight:600}.welcome p{color:#6a7a87;max-width:340px;margin:0 0 12px;font-size:12px}.welcome-controls{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.button{background:#fff;border:1px solid #bcc9d3;border-radius:4px;padding:7px 11px;line-height:1.2}.button:hover{background:#f0f5f8}.button.primary{color:#fff;background:#287bb6;border-color:#287bb6}.button.primary:hover{background:#216c9f}.button.quiet{color:#4e748e;background:0 0;border-color:#0000;padding-left:2px;padding-right:2px}.welcome-note{line-height:1.5;color:#87949f!important;margin-top:12px!important;margin-bottom:0!important;font-size:10px!important}.welcome.connected{padding:12px 14px}.welcome.connected h1{font-size:15px}.welcome.connected p{white-space:pre-wrap;overflow-wrap:anywhere;color:#667681;max-width:none;max-height:120px;margin:4px 0 0;font-size:11px;overflow:auto}.log{scroll-behavior:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:10px 12px 16px;font-size:12px;line-height:1.6;overflow:auto}.log-entry{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 5px}.log-time{color:#91a0ab;font-variant-numeric:tabular-nums;margin-right:5px;font-size:10px}.log-entry.system{color:#647783}.log-entry.error{color:#bd4545}.log-entry.warning{color:#9b771d}.log-entry.message .log-author{color:#426b8a;font-weight:600}.log-entry.private .log-author{color:#88649f}.log-entry.self .log-author{color:#328360}.log-entry .log-scope{color:#83939e;margin-left:5px;font-size:10px}.log-body{margin:1px 0 0}.chat-empty{color:#97a3ac;padding:12px 1px;font-size:11px;line-height:1.7}.tree-toolbar{gap:3px;margin-left:auto;display:flex}.small-button{color:#627989;background:0 0;border:0;border-radius:3px;align-items:center;height:22px;padding:2px 4px;display:flex}.small-button:hover{background:#e7edf1}.small-button svg{width:15px;height:15px}.channel-tree{overscroll-behavior:contain;flex:1;min-height:0;padding:7px 5px 14px;overflow:auto}.tree-row{white-space:nowrap;cursor:default;border-radius:3px;align-items:center;gap:5px;height:29px;margin:1px 0;padding:0 7px;font-size:12px;display:flex;position:relative;outline-offset:-2px!important}.tree-row:hover{background:#f2f6f9}.tree-row.selected{color:#264f6c;background:#e0edf7;box-shadow:inset 0 0 0 1px #c2d9e9}.tree-row.channel-root{color:#365d40;background:#eaf6ec;margin-bottom:3px;font-weight:600}.tree-row.channel-root.selected{background:#d6ecd9;box-shadow:inset 0 0 0 1px #b9dbbd}.tree-label{text-overflow:ellipsis;overflow:hidden}.tree-indent{flex:none}.tree-toggle{color:#84949e;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:13px;height:20px;padding:0;display:flex}.tree-toggle svg{width:12px;height:12px}.tree-toggle-placeholder{flex:none;width:13px}.tree-row>.channel-icon{color:#7793a6;width:14px;height:14px}.tree-row>.user-icon{color:#66a67d;width:15px;height:15px}.tree-row.speaking>.user-icon{color:#1976d2;filter:none}.tree-row.speaking .tree-label{color:#1976d2;font-weight:600}.tree-row.self .tree-label{font-weight:600}.you-label{color:#7e919c;margin-left:2px;font-size:10px}.tree-flags{align-items:center;gap:5px;margin-left:auto;padding-left:8px;display:flex}.tree-flags svg{color:#889eac;width:12px;height:12px}.tree-flags .flag-muted{color:#c56565}.tree-flags .flag-speaking{color:#1976d2}.tree-description{color:#8498a6;text-overflow:ellipsis;max-width:90px;margin-left:auto;font-size:10px;overflow:hidden}.tree-empty{color:#94a2ad;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:120px;padding:24px;display:flex}.tree-empty svg{stroke-width:1.2px;color:#b5c3cd;width:38px;height:38px;margin-bottom:13px}.tree-empty strong{color:#7c8d98;font-size:12px;font-weight:400}.tree-empty p{max-width:260px;font-size:11px;line-height:1.6}.composer{border-top:1px solid var(--border);background:#f5f7f9;align-items:center;gap:8px;min-height:48px;padding:7px;display:flex}.composer-label{position:absolute;left:-10000px}.composer-wrap{background:#fff;border:1px solid #c3cdd6;border-radius:4px;flex:1;align-items:center;min-width:0;padding-left:10px;display:flex}.composer-target{color:#82929e;white-space:nowrap;text-overflow:ellipsis;border-right:1px solid #e0e5e9;max-width:140px;padding-right:10px;font-size:11px;overflow:hidden}.composer-input{background:0 0;border:0;flex:1;min-width:0;padding:9px 10px;outline-offset:-2px!important}.composer-input::placeholder{color:#9aa6af;font-size:12px}.composer-send{color:#64839a;background:0 0;border:0;border-radius:4px;padding:7px 10px}.composer-send svg{width:17px;height:17px}.statusbar{color:#73838f;white-space:nowrap;background:#edf1f4;border-top:1px solid #d8dfe5;align-items:center;gap:12px;height:25px;min-height:25px;padding:0 11px;font-size:10px;display:flex;overflow:hidden}.statusbar .status-main{text-overflow:ellipsis;align-items:center;gap:5px;display:flex;overflow:hidden}.statusbar .status-audio{align-items:center;gap:5px;margin-left:auto;display:flex}.statusbar svg{width:11px;height:11px}.statusbar .error{color:#b74141}.level-meter{background:#d2dce3;border-radius:3px;width:38px;height:4px;overflow:hidden}.level-meter>span{background:#52a574;width:0;height:100%;transition:width 80ms linear;display:block}.error-banner{color:#ac4040;background:#fff0ee;border-bottom:1px solid #ecc8c3;align-items:center;gap:8px;padding:8px 13px;font-size:12px;line-height:1.4;display:flex}.error-banner svg{width:16px;height:16px}.error-banner span{overflow-wrap:anywhere;flex:1}.dialog{color:#2c3d49;background:#fff;border:1px solid #bfcbd5;border-radius:7px;width:min(440px,100vw - 28px);max-height:calc(100dvh - 40px);padding:0;box-shadow:0 12px 50px #24364538}.dialog::backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#24374546}.dialog-heading{background:#f6f8fa;border-bottom:1px solid #e1e7ec;align-items:center;gap:8px;padding:16px 19px 12px;display:flex}.dialog-heading h2{margin:0;font-size:15px;font-weight:600}.dialog-heading svg{color:#607f94;width:19px;height:19px}.dialog-body{max-height:calc(100dvh - 165px);padding:16px 19px;overflow:auto}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>label{color:#566e7f;font-size:12px;font-weight:600}.field input,.field select,.field textarea{color:#2e414e;background:#fff;border:1px solid #bdcbd5;border-radius:4px;width:100%;padding:8px 9px}.field textarea{resize:vertical;min-height:60px}.field input[type=range]{accent-color:#3a88bb;border:0;padding:0}.field small,.dialog-description{color:#7e909e;font-size:11px;line-height:1.5}.dialog-description{margin:0 0 15px}.field-row{gap:14px;display:flex}.field-row>.field{flex:1;min-width:0}.dialog-footer{background:#f7f9fa;border-top:1px solid #e0e7ed;justify-content:flex-end;align-items:center;gap:8px;padding:11px 19px;display:flex}.dialog-footer .button{min-width:80px}.audio-test-row{align-items:center;gap:10px;margin-top:7px;display:flex}.audio-test-state{color:#7c919f;font-size:11px}.diagnostics{white-space:pre-wrap;color:#526a7b;overflow-wrap:anywhere;background:#f3f6f8;border:1px solid #dce4e9;border-radius:4px;padding:10px;font:11px/1.65 monospace}.settings-note{color:#7c909f;margin:15px 0 0;font-size:11px;line-height:1.5}.context-menu{z-index:5;background:#fff;border:1px solid #bbcbd6;border-radius:4px;min-width:166px;padding:4px;position:fixed;box-shadow:0 5px 15px #263f5621}.context-menu button{text-align:left;background:0 0;border:0;border-radius:2px;width:100%;padding:7px 10px;font-size:12px;display:block}.context-menu button:hover,.context-menu button:focus{background:#e3eff7;outline:0}.context-menu button.danger{color:#b94747}.context-title{color:#8a9ba7;border-bottom:1px solid #e1e7ec;margin-bottom:3px;padding:5px 10px;font-size:10px}.badge{color:#6f8596;background:#edf3f7;border:1px solid #d7e4ed;border-radius:3px;margin-left:auto;padding:2px 5px;font-size:10px}.about-line{color:#647c8c;margin:0 0 10px;font-size:12px;line-height:1.6}.shortcuts{color:#6d8291;grid-template-columns:1fr auto;gap:8px;margin-top:15px;font-size:11px;display:grid}.shortcuts kbd{background:#eef2f5;border:1px solid #cdd8df;border-bottom-width:2px;border-radius:3px;padding:2px 5px;font:10px Arial,sans-serif}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.menu-popup{top:64px;left:9px}@media (width>=1100px){.content{grid-template-columns:minmax(300px,34%) 1fr}.welcome{padding:20px}.welcome h1{font-size:21px}.log{padding-left:15px;padding-right:15px}.tree-row{height:30px}.channel-tree{padding:9px 7px}}@media (width<=650px){:root{font-size:12px}.app-subtitle{display:none}.toolbar{gap:2px;padding-left:7px;padding-right:7px}.toolbar-hint,.security-indicator,.toolbar .chat-focus{display:none}.toolbar-separator{margin:0 3px}.tool.ptt{margin-left:0;padding:4px 8px}.content{grid-template-columns:minmax(170px,42%) minmax(180px,1fr);gap:4px;padding:4px}.welcome{padding:12px 10px}.welcome h1{font-size:16px}.welcome p{font-size:11px}.welcome-controls{gap:5px}.welcome-controls .button{padding:6px 8px;font-size:11px}.welcome-note{display:none}.log{padding:8px;font-size:11px}.panel-heading{padding:0 8px}.tree-row{gap:3px;padding-left:4px;padding-right:4px;font-size:11px}.tree-flags{gap:3px;padding-left:3px}.you-label{display:none}.composer-target{max-width:105px;font-size:10px}.composer-input{padding:9px 8px;font-size:12px}.statusbar{gap:8px;padding:0 7px}.statusbar .status-extra{display:none}.app-head{padding:0 8px}.menubar{padding-left:3px}.menu-button{padding-left:7px;padding-right:7px}}@media (width<=420px){.content{grid-template-rows:minmax(130px,54%) minmax(90px,46%);grid-template-columns:minmax(0,1fr)}.channels-panel{grid-row:1}.conversation{grid-row:2}.welcome{padding:8px 10px}.welcome h1{margin-bottom:3px;font-size:14px}.welcome p{margin-bottom:7px}.welcome.connected{padding:7px 10px}.welcome.connected p{max-height:50px}.toolbar .disconnect{display:none}.toolbar .settings{margin-left:auto}.toolbar-spacer{display:none}.tree-empty{min-height:90px}.tree-empty svg{width:25px;height:25px;margin-bottom:7px}.tree-empty p{margin:5px 0}.panel-heading{height:25px;min-height:25px}.statusbar .level-meter{display:none}.composer-target{max-width:86px}}.channels-panel .tree-toolbar{margin-left:7px}.statusbar .status-main{flex:1;min-width:0}.statusbar .status-text{text-overflow:ellipsis;overflow:hidden}.statusbar .status-audio{flex-shrink:0}.tree-limit{color:#8b7a4c;background:#fffaf0;border:1px solid #eadfbc;border-radius:3px;padding:10px 12px;font-size:11px;line-height:1.5}[hidden]{display:none!important}.whisper-banner{color:#775719;background:#fff4da;border-bottom:1px solid #ead59f;align-items:center;gap:12px;padding:5px 14px;font-size:12px;display:flex}.whisper-banner .button{margin-left:auto;padding:4px 8px}.user-stats{font:inherit;white-space:pre-wrap;line-height:1.7}.channels-panel{position:relative}.tree-move-status{z-index:3;pointer-events:none;color:#43677f;overflow-wrap:anywhere;background:#f0f6fbf5;border-top:1px solid #d6e4ee;max-height:80px;padding:7px 11px;font-size:11px;line-height:1.4;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.tree-move-status[data-level=error]{color:#aa4141;background:#fff1ef;border-color:#efd1cb}.tree-move-status[data-level=success]{color:#35724a;background:#edf8ef;border-color:#d1e6d5}.user-row[draggable=true]{cursor:grab}.drag-active .user-row{cursor:grabbing}.tree-row.drag-source{opacity:.5}.tree-row.drag-over{background:#dfedf8;outline-offset:-2px!important;outline:2px solid #388bc1!important}.tree-row.drag-over[data-drop-state=checking]{background:#eff5fa;outline-style:dashed!important}.tree-row.drag-over[data-drop-state=denied]{cursor:not-allowed;background:#ffefed;outline-color:#c77979!important}.tree-preview{z-index:6;pointer-events:none;color:#344d5e;background:#fff;border:1px solid #b7c9d5;border-radius:4px;width:max-content;max-width:min(340px,100vw - 16px);max-height:min(360px,100dvh - 16px);font-size:12px;line-height:1.5;position:fixed;overflow:hidden;box-shadow:0 4px 18px #243d5529}.preview-heading{overflow-wrap:anywhere;background:#f5f8fa;border-bottom:1px solid #dce6ed;padding:7px 11px;font-weight:600}.preview-body{overflow-wrap:anywhere;max-height:min(300px,100dvh - 64px);padding:9px 11px;overflow:hidden}.preview-body p{margin:0 0 7px}.preview-body p:last-child{margin-bottom:0}.preview-body pre{white-space:pre-wrap;font:11px/1.5 monospace}.preview-body ul,.preview-body ol{margin:5px 0;padding-left:20px}.preview-body blockquote{color:#718593;border-left:2px solid #cbd9e3;margin:5px 0;padding-left:9px}.preview-body a{color:#267db6}.preview-body .preview-avatar{object-fit:contain;max-width:min(300px,100vw - 40px);max-height:180px;margin-bottom:8px;display:block}.preview-body .preview-image{object-fit:contain;max-width:min(300px,100vw - 40px);max-height:180px;margin:6px 0;display:block}.preview-body .preview-note{color:#7d909d;font-size:11px}.connection-target-fields{grid-template-columns:minmax(0,1fr) 96px;gap:12px;display:grid}.connection-target-fields .field{min-width:0}.target-note,.storage-note{color:var(--muted);margin:0 0 14px;font-size:11px;line-height:1.5}.saved-server-management{margin:0 0 12px}.saved-server-management>summary{cursor:pointer;color:#426b8a;margin-bottom:10px;font-size:12px}.saved-server-management .field{margin-bottom:10px}.saved-server-actions{flex-wrap:wrap;gap:8px;display:flex}.bitrate-field .bitrate-auto{align-items:center;gap:8px;font-weight:400;line-height:1.4;display:flex}.bitrate-field .bitrate-auto input{width:auto;accent-color:var(--accent);margin:0}.bitrate-field input:disabled,.field select:disabled{color:#6a7d8a;background:#f2f5f7}.sample-rate-note{margin:0 0 14px}.connect-dialog .dialog-body{padding:17px 21px}.connect-dialog .field{margin-bottom:13px}.connect-dialog{width:min(470px,100vw - 24px)}.server-check-row{align-items:center;gap:8px;display:flex}.server-check-row input{flex:1;min-width:0}.server-check-row .button{flex:none;padding:8px 10px}.server-status{min-height:16px}.server-status[data-status=online]{color:#368052}.server-status[data-status=denied],.server-status[data-status=limited]{color:#a7443d}.connect-dialog details{margin:0 0 12px}.connect-dialog details>summary{cursor:pointer;color:#426b8a;margin:0;font-size:12px}.connect-dialog details[open]>summary{margin-bottom:12px}.connect-dialog details[open] .storage-note{margin:10px 0 0}.connection-secrets-note{color:#7e909e;margin:0 0 14px;font-size:10px}.gateway-disclosure{color:#596f80;background:#f2f6f9;border-left:3px solid #a6bdce;border-radius:0 4px 4px 0;padding:9px 11px;font-size:11px;line-height:1.55}.gateway-disclosure p{margin:0}.gateway-disclosure p+p{margin-top:6px}
