@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/fonts/nunito.ttf)format("truetype")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#091a29;--rail:#091a29f5;--sidebar:#173044f0;--panel:#10283d;--stage:#173044c7;--tile:#173044f0;--hover:#203e55;--active:#224d73;--border:#94c2e33d;--text:#fff0db;--text-strong:#fff0db;--muted:#abc8e4;--accent:#a1c9f0;--on-primary:#10283d;--field:#091927b8;--shadow:inset 0 1px 0 #beddf50a, 0 12px 32px #0008122e;--ok:#a0d6b4;--warn:#ffd98b;--danger:#f2a7a0;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:500;line-height:1.4}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}::selection{background:var(--accent);color:var(--on-primary)}h1,h2,p{margin:0}button{font:inherit;cursor:pointer;background:var(--accent);color:var(--on-primary);border:0;border-radius:4px;padding:8px 16px;font-weight:700}button:disabled{opacity:.6;cursor:default}button{transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}button:enabled:hover{background:var(--active);color:var(--text-strong)}button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:enabled:active{transform:translateY(1px)}input{font:inherit;border:1px solid var(--border);background:var(--field);color:var(--text);border-radius:4px;padding:10px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.error{background:color-mix(in srgb, var(--danger) 20%, transparent);color:var(--text-strong);cursor:pointer;border-radius:4px;padding:8px 12px}.login{place-items:center;height:100%;padding:16px;display:grid;overflow-y:auto}.login form{border:1px solid var(--border);background:var(--tile);width:min(400px,100%);box-shadow:var(--shadow);border-radius:12px;gap:16px;padding:32px;display:grid}.login h1{letter-spacing:-.02em;color:var(--text-strong);text-align:center;font-size:24px;font-weight:800;line-height:1.1}.login p{color:var(--muted);text-align:center}.login label{color:var(--muted);gap:8px;font-size:14px;font-weight:700;display:grid}.login input,.login button{min-height:44px}.shell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:280px minmax(0,1fr);height:100%;display:grid}.app-icon{flex:none;display:block}.sidebar{background:var(--sidebar);flex-direction:column;grid-area:1/1;min-height:0;display:flex}.sidebar-header{height:48px;color:var(--text-strong);border-bottom:1px solid var(--border);align-items:center;padding:0 16px;font-weight:700;display:flex;box-shadow:0 1px 3px #00000026}.channels{flex:1;padding:16px 8px 8px;overflow-y:auto}.channels h2{text-transform:uppercase;color:var(--muted);align-items:center;gap:4px;padding:0 0 6px;font-size:.75rem;display:flex}.channels ul{margin:0;padding:0;list-style:none}.channel{width:100%;color:var(--muted);text-align:left;background:0 0;border-radius:4px;align-items:center;gap:6px;min-height:32px;padding:5px 8px;font-weight:600;line-height:1.4;display:flex}.channel>svg{color:var(--muted);flex:none}.channel-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.channel:hover{background:color-mix(in srgb, var(--accent) 6%, transparent);color:var(--text)}.channel.active{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text-strong)}.occupants{padding-left:28px!important}.occupants li{color:var(--muted);border-radius:4px;align-items:center;gap:8px;padding:3px 8px;font-size:.875rem;display:flex}.occupants li:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.occupants li>span:not(.avatar){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.occupants li svg{color:var(--danger);margin-left:auto}.occupants li.speaking .avatar{box-shadow:0 0 0 2px var(--ok)}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.icon-button{width:32px;height:32px;color:var(--muted);background:0 0;border-radius:4px;flex:none;place-items:center;padding:6px;display:grid}.icon-button:hover{background:var(--hover);color:var(--text)}.icon-button.off{color:var(--danger)}.text-button{padding:4px 8px;font-size:.75rem}.voice-dock{border:1px solid color-mix(in srgb, var(--border) 45%, transparent);background:var(--panel);border-radius:8px;grid-area:2/1;min-width:0;margin:0 8px 8px;position:relative}.voice-panel{align-items:center;gap:6px;padding:10px 10px 8px;display:flex}.voice-panel>div{flex:1;min-width:0}.connection-indicator{background:color-mix(in srgb, var(--ok) 8%, transparent);width:32px;height:32px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}.connection-indicator.status-connected{color:var(--ok)}.connection-indicator.status-connecting,.connection-indicator.status-reconnecting,.connection-indicator.status-signalReconnecting{color:var(--warn)}.voice-status{white-space:nowrap;color:var(--muted);align-items:center;gap:5px;font-size:.875rem;font-weight:600;display:flex}.voice-status.status-connected{color:var(--ok)}.voice-status.status-connecting,.voice-status.status-reconnecting,.voice-status.status-signalReconnecting{color:var(--warn)}.voice-channel{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;overflow:hidden}.connection-caption{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin-top:2px;font-size:.6875rem;display:flex}.connection-latency{flex:none;font-size:.6875rem}.icon-button.disconnect-button:hover{background:var(--danger);color:var(--on-primary)}.user-panel{border-top:1px solid color-mix(in srgb, var(--border) 35%, transparent);align-items:center;gap:8px;min-height:56px;padding:10px;display:flex}.user-profile,.user-controls{align-items:center;gap:4px;min-width:0;display:flex}.user-controls{flex:none}.user-account{flex:1;min-width:0;position:relative}.user-profile{cursor:pointer;border-radius:4px;gap:8px;margin:-4px;padding:4px;list-style:none}.user-profile::-webkit-details-marker{display:none}.user-profile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.user-profile:hover,.user-account[open] .user-profile{background:color-mix(in srgb, var(--accent) 6%, transparent)}.user-identity{min-width:0}.user-status{color:var(--muted);align-items:center;gap:4px;font-size:.6875rem;display:flex}.user-status.in-voice svg{color:var(--ok)}.user-profile .presence-dot{border-color:var(--panel);width:10px;height:10px}.account-menu{z-index:20;border:1px solid var(--border);background:var(--rail);min-width:160px;box-shadow:var(--shadow);border-radius:8px;padding:6px;position:absolute;bottom:calc(100% + 12px);left:0}.account-logout{width:100%;color:var(--danger);background:0 0;align-items:center;gap:8px;font-size:.875rem;display:flex}.voice-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 10px 10px;display:grid}.voice-actions button{background:var(--hover);height:32px;color:var(--text-strong);border-radius:8px;place-items:center;padding:0;display:grid}.enable-audio{margin:0 10px 8px}.user-panel .icon-button{width:28px;height:28px;padding:4px}.user-panel .mic-source{width:14px}.user-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-strong);font-size:.875rem;font-weight:600;display:block;overflow:hidden}.stage{background:var(--stage);flex-direction:column;grid-area:1/2/3;min-width:0;min-height:0;display:flex}.stage-header{height:48px;color:var(--text-strong);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:flex;box-shadow:0 1px 3px #00000026}.stage>.error{margin:16px 16px 0}.tiles{flex:1;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-rows:160px;gap:8px;padding:16px;display:grid;overflow-y:auto}.tile{background:var(--tile);border-radius:8px;outline:2px solid #0000;place-items:center;transition:outline-color .12s;display:grid;position:relative}.tile.speaking{outline-color:var(--ok)}.tile-footer{color:var(--text-strong);align-items:center;gap:8px;font-size:.875rem;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.tile-footer svg{color:var(--danger);margin-left:auto}.empty{text-align:center;color:var(--muted);flex:1;place-content:center;justify-items:center;gap:12px;padding:16px;display:grid}.empty h2{color:var(--text-strong)}.meter{background:var(--border);border-radius:3px;width:64px;height:6px;margin-left:auto;overflow:hidden}.meter span{background:var(--ok);transform-origin:0;height:100%;transition:transform 60ms linear;display:block;transform:scaleX(0)}.mic-control{flex:none;align-items:center;gap:2px;display:flex}.mic-source{width:20px;height:28px;color:var(--muted);border-radius:6px;place-items:center;display:grid;position:relative}.mic-source:hover,.mic-source:focus-within{background:var(--hover);color:var(--text-strong)}.mic-source:focus-within{outline:2px solid var(--accent)}.mic-source select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.mic-source:has(select:disabled){opacity:.5}.mic-source select:disabled{cursor:default}.participant-options{width:24px;height:24px;margin-left:auto;padding:3px}.occupants .participant-options svg{color:inherit;margin:0}.tile-options{position:absolute;top:8px;right:8px}.participant-menu{z-index:10;border:1px solid var(--border);background:var(--rail);width:min(240px,100vw - 16px);max-height:calc(100dvh - 16px);box-shadow:var(--shadow);border-radius:8px;padding:12px;font-size:.875rem;position:fixed;overflow:auto}.participant-menu strong{overflow-wrap:anywhere;color:var(--text-strong);display:block}.participant-menu p{color:var(--muted);margin:4px 0 12px;font-size:.75rem}.participant-mute{text-align:left;background:var(--hover);width:100%;color:var(--text-strong)}.participant-mute:hover{background:var(--accent);color:var(--on-primary)}.participant-mute+.participant-mute{margin-top:6px}.participant-mute.off{color:var(--danger)}.participant-volume{margin:16px 0 8px;display:block}.participant-volume span{justify-content:space-between;display:flex}.participant-volume input{width:100%;accent-color:var(--accent);margin:8px 0 0;padding:0}.debug-panel{border-top:1px solid var(--border);background:var(--rail);flex:none;font-size:.75rem}.debug-panel summary{cursor:pointer;color:var(--text-strong);padding:10px 16px}.debug-panel summary span{color:var(--muted);margin-left:8px}.debug-toolbar{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:0 16px 8px;display:flex}.debug-toolbar button{margin-left:auto}.debug-log{overflow-wrap:anywhere;max-height:min(180px,25dvh);padding:0 16px 12px;font-family:ui-monospace,monospace;overflow-y:auto}.debug-log ol{margin:0;padding:0;list-style:none}.debug-log li{border-top:1px solid var(--panel);flex-wrap:wrap;gap:4px 10px;padding:5px 0;display:flex}.debug-log time,.log-level{color:var(--muted)}.log-level{text-transform:uppercase}.log-warn .log-level{color:var(--warn)}.log-error .log-level{color:var(--danger)}@media (prefers-reduced-motion:reduce){button,.tile,.meter span{transition:none}button:enabled:active{transform:none}}@media (width<=640px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar,.voice-dock{grid-column:1}.stage{grid-column:2}.user-panel{flex-wrap:wrap}.user-account{flex-basis:100%}.voice-panel{flex-wrap:wrap}.connection-copy{flex-basis:calc(100% - 40px)}.voice-panel>.icon-button{margin-left:auto}.voice-panel>.icon-button+.icon-button{margin-left:0}.tiles{grid-template-columns:1fr}}select,textarea{font:inherit;border:1px solid var(--border);background:var(--field);color:var(--text);border-radius:4px;padding:8px 10px}.login-hint{font-size:.875rem}.sidebar-header{gap:8px}.sidebar-header>.app-icon+span{flex:1}.offline-badge{text-transform:uppercase;color:var(--warn);font-size:.6875rem;font-weight:600}.channels h2+ul+h2{margin-top:16px}.text-button.danger{color:var(--danger);background:0 0}.text-button.danger.armed{background:var(--danger);color:var(--on-primary)}.text-view{flex:1;min-height:0;display:flex}.chat{flex-direction:column;flex:1;min-width:0;display:flex}.messages{flex:1;padding:16px 0 8px;overflow-y:auto}.load-older{margin:0 auto 12px;display:block}.chat-start{color:var(--muted);padding:16px 16px 24px}.chat-start h2{color:var(--text-strong);margin-bottom:4px}.message{gap:16px;margin-top:16px;padding:2px 48px 2px 16px;display:flex;position:relative}.message.grouped{margin-top:0}.message:hover{background:color-mix(in srgb, var(--rail) 40%, transparent)}.message-content{min-width:0}.message-content header{align-items:baseline;gap:8px;display:flex}.message-content strong{color:var(--text-strong)}.message-content .deleted-user{color:var(--muted);font-style:italic}.message-content time{color:var(--muted);font-size:.75rem}.message-content p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}.message.grouped .message-content{padding-left:56px}.message-hover-time{width:40px;color:var(--muted);text-align:center;visibility:hidden;font-size:.6875rem;position:absolute;top:4px;left:16px}.message:hover .message-hover-time,.message:hover .message-delete,.message-delete:focus-visible{visibility:visible}.message-delete{visibility:hidden;position:absolute;top:0;right:12px}.message-delete:hover{color:var(--danger)}.chat-error{margin:0 16px 8px}.composer{padding:0 16px 20px}.composer textarea{resize:none;background:var(--field);field-sizing:content;border-radius:8px;width:100%;max-height:40vh;padding:11px 16px}.member-list{background:var(--sidebar);flex:none;width:240px;padding:16px 8px;overflow-y:auto}.member-list h2{text-transform:uppercase;color:var(--muted);padding:0 8px 4px;font-size:.75rem}.member-list section+section{margin-top:16px}.member-list ul{margin:0;padding:0;list-style:none}.member-list li{border-radius:4px;align-items:center;gap:10px;padding:5px 8px;display:flex}.member-list li.offline{opacity:.45}.presence-avatar{display:inline-flex;position:relative}.presence-dot{background:var(--ok);border:2px solid var(--sidebar);border-radius:50%;width:12px;height:12px;position:absolute;bottom:-2px;right:-2px}.member-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.role-tag{background:color-mix(in srgb, var(--accent) 30%, transparent);color:var(--text-strong);border-radius:4px;padding:1px 6px;font-size:.6875rem}.modal-backdrop{z-index:50;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal.settings{border:1px solid var(--border);width:min(860px,100%);height:min(640px,100%);box-shadow:var(--shadow);background:var(--tile);border-radius:12px;outline:none;display:flex;overflow:hidden}.settings-nav{background:var(--sidebar);flex-direction:column;flex:none;gap:2px;width:200px;padding:24px 8px;display:flex}.settings-nav h2{text-transform:uppercase;color:var(--muted);padding:0 10px 8px;font-size:.75rem}.settings-tab{text-align:left;color:var(--muted);background:0 0;border-radius:4px;padding:6px 10px}.settings-tab:hover{background:var(--hover);color:var(--text)}.settings-tab.active{background:var(--active);color:var(--text-strong)}.settings-body{flex:1;align-content:start;gap:16px;min-width:0;padding:24px 32px;display:grid;position:relative;overflow-y:auto}.settings-body h3{color:var(--text-strong);margin:0 0 12px}.settings-close{position:absolute;top:16px;right:16px}.settings-hint{color:var(--muted);margin-bottom:12px;font-size:.875rem}.settings-row-form,.settings-inline-form,.invite-created{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.settings-inline-form{flex:1;margin:0}.settings-row-form input,.settings-inline-form input,.invite-created input{flex:1;min-width:140px;padding:8px 10px}.settings-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.settings-list li{background:var(--sidebar);border-radius:4px;align-items:center;gap:10px;padding:8px 10px;display:flex}.settings-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.settings-meta{color:var(--muted);font-size:.8125rem}.settings-empty{color:var(--muted)}@media (width<=900px){.member-list{display:none}}@media (width<=640px){.modal.settings{flex-direction:column}.settings-nav{flex-direction:row;width:auto;padding:8px;overflow-x:auto}.settings-nav h2{display:none}.settings-body{padding:16px}.settings-list li{flex-wrap:wrap}}.desktop-lab section{gap:8px;padding:8px 0;display:grid}.desktop-lab h3{color:var(--text-strong);margin:0;font-size:.875rem}.desktop-meter{width:240px;margin-left:0}.desktop-preview{background:#000;border-radius:8px;width:min(480px,100%)}.desktop-sources{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.desktop-sources button{background:var(--sidebar);width:100%;color:var(--text);text-align:left;gap:4px;padding:6px;font-size:.75rem;display:grid}.desktop-sources span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.desktop-sources img{background:#000;border-radius:4px;width:100%;height:auto}
