.recording-notice{z-index:4;color:#fff;background:#260b10;border:1px solid #ff5b68;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .8rem;font-weight:700;display:flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.recording-notice span{background:#ff3244;border-radius:50%;width:.65rem;height:.65rem;box-shadow:0 0 0 .25rem #ff324433}.recording-stop{color:#ffb6bc;border-color:#ff5b68}.recordings-block{grid-column:1/-1}.recording-row{border-top:1px solid #ffffff18;grid-template-columns:minmax(12rem,1fr) auto auto;align-items:center;gap:1rem;padding:.8rem 0;display:grid}.recording-row small{color:#a9b2c5;margin-top:.2rem;display:block}.recording-meta{color:#a9b2c5;flex-direction:column;gap:.2rem;font-size:.9rem;display:flex}.recording-actions{align-items:center;gap:.5rem;display:flex}.recording-actions .button{color:inherit;border:1px solid #ffffff2b;border-radius:.5rem;padding:.45rem .7rem;text-decoration:none}.error-inline{color:#ff8c96}@media (width<=700px){.recording-row{grid-template-columns:1fr}.recording-actions{justify-content:flex-start}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f6;--surface-1:#f7f8fb;--surface-2:#fff;--surface-3:#f0f2f7;--border:#d9dee8;--border-subtle:#e6e9f0;--text:#1c2230;--text-muted:#5b6475;--accent:#3563ed;--accent-hover:#2854d6;--accent-soft:#eaf0ff;--success:#126f3d;--danger:#b92d33;--danger-soft:#fff0f0;--warning:#8a5200;--presence-online:#168a4a;--presence-busy:#d63a3f;--presence-away:#a86400;--presence-offline:#7b8494;--radius-8:8px;--radius-10:10px;--radius-12:12px;--radius-16:16px;--shadow-1:0 1px 2px #141e3c14;--shadow-2:0 12px 36px #141e3c24;--stage-bg:#090a0d;--stage-surface:#16191f;--stage-tile:#1c2029;--stage-border:#2c313c;--stage-text:#e9ecf2;--stage-muted:#9aa3b2;font-family:system-ui,-apple-system,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0f13;--surface-1:#111317;--surface-2:#181b21;--surface-3:#22262f;--border:#343945;--border-subtle:#282d36;--text:#eef1f6;--text-muted:#aab2c0;--accent:#6d8bff;--accent-hover:#89a0ff;--accent-soft:#222d50;--success:#45c47b;--danger:#ff6b70;--danger-soft:#351d21;--warning:#f2b13a;--presence-online:#45c47b;--presence-busy:#ff6b70;--presence-away:#f2b13a;--presence-offline:#8e97a7;--shadow-1:0 1px 2px #00000040;--shadow-2:0 16px 42px #00000073}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0f13;--surface-1:#111317;--surface-2:#181b21;--surface-3:#22262f;--border:#343945;--border-subtle:#282d36;--text:#eef1f6;--text-muted:#aab2c0;--accent:#6d8bff;--accent-hover:#89a0ff;--accent-soft:#222d50;--success:#45c47b;--danger:#ff6b70;--danger-soft:#351d21;--warning:#f2b13a;--presence-online:#45c47b;--presence-busy:#ff6b70;--presence-away:#f2b13a;--presence-offline:#8e97a7;--shadow-1:0 1px 2px #00000040;--shadow-2:0 16px 42px #00000073}}:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button{font:inherit;border-radius:var(--radius-12);border:1px solid var(--border);background:var(--surface-2);color:inherit;cursor:pointer;padding:10px 16px;transition:background .14s,border-color .14s,transform 80ms}button:hover:not(:disabled){background:var(--surface-3)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}button:disabled{opacity:.48;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:650}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.link{color:var(--text-muted);background:0 0;border:0;padding:4px 8px;text-decoration:underline}a.button{text-align:center;color:inherit;background:#1d3160;border:1px solid #3a5a9a;border-radius:12px;padding:12px 18px;text-decoration:none;display:block}a.button:hover{background:#24407c}.pick{text-align:center;gap:12px;max-width:420px;margin:12vh auto;padding:0 20px;display:grid}.pick .hint{color:var(--text-muted);font-size:14px}.call{flex-direction:column;min-height:100vh;display:flex}header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:12px 16px;display:flex}header .me{color:var(--text-muted);margin-left:auto}.dot{background:var(--danger);border-radius:50%;width:10px;height:10px;display:inline-block}.dot.on{background:var(--success)}.error{color:#ffc9cf;background:#3a1820;border-radius:10px;margin:12px 16px 0;padding:10px 14px}.panel{justify-items:center;gap:12px;margin:auto;padding:24px;display:grid}.panel p{margin:0;font-size:20px}.panel.ring p{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.stage{background:#000;flex:1;min-height:60vh;position:relative;overflow:hidden}.stage .remote{grid-auto-rows:1fr;gap:6px;padding:6px;display:grid;position:absolute;inset:0}.stage .remote .tile{background:var(--surface-2);border-radius:10px;min-height:0;position:relative;overflow:hidden}.stage .remote .tile.speaking{outline-offset:-3px;outline:3px solid #22c55e}.stage .remote .tile video{object-fit:cover;width:100%;height:100%;display:block}.stage .remote .tile .name{background:#0000008c;border-radius:6px;padding:3px 8px;font-size:13px;position:absolute;bottom:8px;left:8px}.stage .remote .tile[data-quality=poor] .name:after,.stage .remote .tile[data-quality=lost] .name:after{content:" ⚠";color:#facc15}.stage .room-title{z-index:2;color:var(--text-muted);background:#00000073;border-radius:6px;margin:0;padding:3px 10px;font-size:14px;position:absolute;top:8px;left:12px}.stage .quality-note{z-index:2;color:#facc15;background:#0000008c;border-radius:6px;margin:0;padding:3px 10px;font-size:13px;position:absolute;top:38px;left:12px}.panel .divider{color:var(--text-muted);font-size:14px}.stage .local{border:2px solid var(--border);background:#111;border-radius:10px;width:28%;max-width:220px;position:absolute;bottom:12px;right:12px;transform:scaleX(-1)}.stage .status{text-align:center;width:100%;position:absolute;top:40%}.stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0;display:grid}.stat{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:10px}.stat strong{font-size:1.25rem;display:block}.stat span{color:var(--text-muted);font-size:.9rem}.stage.with-screen .remote{grid-template-rows:minmax(0,3fr);grid-auto-rows:minmax(0,1fr)}.stage .remote .tile.screen,.stage .remote .tile.pinned{background:#000;grid-column:1/-1}.stage .remote .tile.screen video{object-fit:contain}.stage .sharing-note{z-index:2;color:#fff;background:#dc2626cc;border-radius:6px;margin:0;padding:3px 10px;font-size:13px;position:absolute;top:8px;right:12px}.controls button.active{color:#fff;background:#dc2626;border-color:#dc2626}.controls{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:center;gap:10px;padding:12px;display:flex}.effects-panel{z-index:5;border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:10px;width:min(320px,100vw - 28px);padding:14px;display:grid;position:fixed;bottom:82px;right:14px;box-shadow:0 16px 40px #00000059}.effects-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.effects-panel fieldset{border-radius:10px;gap:8px;padding:10px 12px}.effects-panel legend{color:var(--text-muted);font-size:13px}.effects-panel .check{font-size:14px}.call.with-chat{grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr 340px;display:grid}.call.with-chat>header,.call.with-chat>.error,.call.with-chat>.controls{grid-column:1/-1}.call.with-chat>.stage{grid-area:3/1}.chat{border-left:1px solid var(--border-subtle);background:var(--surface-2);flex-direction:column;grid-area:3/2;min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.chat-list{flex-direction:column;flex:1;gap:8px;min-height:0;margin:0;padding:10px 12px;list-style:none;display:flex;overflow-y:auto}.chat-list li{background:var(--surface-3);word-wrap:break-word;border-radius:10px;gap:2px;max-width:85%;padding:7px 10px;display:grid}.chat-list li.mine{background:#1f3b2c;align-self:flex-end}.chat-list li[data-pending]{opacity:.6}.chat-list .who{color:var(--text-muted);font-size:12px}.chat-list .body{white-space:pre-wrap}.chat-list .chat-empty{color:var(--text-muted);background:0 0;align-self:center}.chat-form{border-top:1px solid var(--border-subtle);gap:8px;padding:10px 12px;display:flex}.chat-form input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:10px;flex:1;padding:10px 12px}@media (width<=700px){.call.with-chat{grid-template-rows:auto auto minmax(30vh,1fr) minmax(40vh,auto) auto;grid-template-columns:1fr}.call.with-chat>.stage{grid-row:3;min-height:30vh}.chat{border-left:0;border-top:1px solid var(--border-subtle);grid-area:4/1;max-height:45vh}.call.with-chat>.controls{grid-row:5}}.auth{place-content:center;justify-items:center;gap:12px;min-height:100vh;padding:20px;display:grid}.card{border:1px solid var(--border-subtle);background:var(--surface-2);border-radius:16px;gap:12px;width:min(420px,92vw);padding:24px;display:grid}.card h1,.card h2{margin:0 0 4px}label{color:var(--text-muted);gap:6px;font-size:14px;display:grid}label small,fieldset>small,.picker small{color:var(--text-muted);font-size:12px}input,textarea,select{font:inherit;border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:10px;width:100%;padding:10px 12px}textarea{resize:vertical}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.hint{color:var(--text-muted);margin:0;font-size:14px}.hint.warn{color:var(--warning)}.secret{background:var(--surface-3);letter-spacing:1px;-webkit-user-select:all;user-select:all;border-radius:8px;padding:8px 10px;font-family:ui-monospace,monospace;display:inline-block}.totp-qr{background:#fff;border-radius:8px;justify-self:start;margin:8px 0;padding:8px;line-height:0;display:inline-block}.ok{background:color-mix(in srgb, var(--success) 14%, var(--surface-2));color:var(--success);border-radius:10px;margin:8px 0;padding:10px 14px}.good{color:var(--success)}.bad{color:var(--danger)}.home{gap:20px;width:100%;max-width:1180px;margin:0 auto;padding:16px;display:grid}.home h3{margin:0 0 8px}.workspace-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.workspace-grid>.block{min-width:0}.block{gap:8px;display:grid}.person{background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.person small{color:var(--text-muted)}.connection>span{overflow-wrap:anywhere;min-width:0;display:grid}.connection-meta{margin-top:3px;display:block}.person button{padding:8px 14px}.rooms-head,.members-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.rooms-head h3,.members-head h4{margin:0}.room-create{border:1px solid var(--border-subtle);background:var(--surface-2);border-radius:12px;gap:8px;padding:12px;display:grid}.room-row,.candidate-row,.members-list li{background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.room-main{gap:2px;min-width:0;display:grid}.room-main>span,.candidate-row>span,.members-list li>span{overflow-wrap:anywhere}.room-main small,.candidate-row small,.members-list small{color:var(--text-muted)}.room-actions,.member-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.room-actions button,.member-actions button,.candidate-row button{padding:8px 12px}.members-panel{border:1px solid var(--border-subtle);background:var(--bg);border-radius:14px;gap:10px;padding:12px;display:grid}.members-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.member-add{gap:6px;display:grid}.filter{margin-bottom:4px}.schedule-block{border-bottom:1px solid var(--border-subtle);padding-bottom:8px}.schedule-block h4{color:var(--text-muted);margin:10px 0 0}.meeting-row{background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.mini-button{border:1px solid var(--border);color:inherit;border-radius:10px;padding:8px 12px;font-size:14px;text-decoration:none}.meeting-form{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;gap:10px;padding:14px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.attendee-list{gap:6px;max-height:180px;display:grid;overflow-y:auto}.calendar-feed{border:1px solid var(--border-subtle);border-radius:12px;padding:10px 12px}.calendar-feed summary{cursor:pointer;color:var(--text-muted)}.calendar-feed>*{margin-top:10px}.meeting-reminder{border:1px solid var(--warning);background:color-mix(in srgb, var(--warning) 12%, var(--surface-2));border-radius:12px;align-items:center;gap:10px;margin:12px 16px 0;padding:12px 14px;display:flex}.meeting-reminder strong{margin-right:auto}@media (width<=620px){.meeting-row{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.meeting-reminder{flex-wrap:wrap}}@media (width<=900px){.workspace-grid{grid-template-columns:1fr}}@media (width<=620px){.home{padding:12px}.person,.room-row{flex-direction:column;align-items:flex-start}.person button,.room-actions{width:100%}.person button{min-height:44px}}.admin{min-height:100vh}.admin header nav{gap:6px;margin-left:12px;display:flex}.admin header .link{margin-left:auto}.tab{padding:8px 14px}.tab.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.page{gap:14px;max-width:1100px;margin:0 auto;padding:16px;display:grid}.page .lead{color:var(--text-muted);margin:0}.texts .text-row{border-bottom:1px solid var(--border-subtle);gap:4px;padding-bottom:10px;display:grid}.texts .text-row:last-child{border-bottom:0;padding-bottom:0}.texts textarea{resize:vertical;width:100%;font:inherit}.texts .preview{color:var(--text-muted);white-space:pre-wrap}.texts small.error{color:#ff8a8a}.texts .actions{gap:8px;display:flex}fieldset{border:1px solid var(--border-subtle);border-radius:14px;gap:12px;margin:0;padding:14px 16px;display:grid}legend{padding:0 6px;font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row input{flex:1;width:auto;min-width:200px}label.check{color:var(--text);align-items:flex-start;gap:8px;display:flex}label.check input{width:auto;margin-top:3px}label.check.danger{color:var(--danger)}.picker{color:var(--text-muted);gap:6px;font-size:14px;display:grid}.chosen{background:var(--surface-3);border-radius:8px;padding:8px 10px;font-size:13px}.found{gap:4px;max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.report{border:1px solid var(--border-subtle);border-radius:14px;padding:12px 16px}.report h3{margin:0 0 8px}.report ul{gap:4px;margin:0;padding-left:18px;display:grid}table.grid{border-collapse:collapse;width:100%;font-size:14px}table.grid th,table.grid td{text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:8px}table.grid tr.dim td{opacity:.55}table.grid td.actions{flex-wrap:wrap;gap:6px;display:flex}table.grid td.actions button{padding:6px 10px;font-size:13px}form.inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}form.inline input,form.inline select{flex:1;width:auto;min-width:140px}.chat-note{color:var(--text-muted);border-bottom:1px solid var(--border);margin:0;padding:6px 12px;font-size:12px}.panel.pwa{text-align:left;border:1px solid var(--border-subtle);background:var(--surface-2);border-radius:16px;justify-items:stretch;max-width:560px;margin:16px auto}.panel.pwa h3{margin:0}.panel.pwa p{font-size:15px}.panel.pwa .hint{color:var(--text-muted);font-size:14px}.panel.pwa ol,.panel.pwa ul{gap:4px;margin:6px 0;padding-left:20px;display:grid}.panel.pwa summary{cursor:pointer;color:var(--text-muted)}@media (display-mode:standalone){header{padding-top:max(12px, env(safe-area-inset-top))}.controls{padding-bottom:max(12px, env(safe-area-inset-bottom))}}.room-dot{vertical-align:middle;background:#4b5563;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.room-dot.on{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.room-row.busy{border-color:var(--danger)}.room-live{color:var(--danger)}.room-lobby{color:var(--warning)}.controls button.attention{color:#fff;background:#ca8a04;border-color:#ca8a04}.meeting-panel{background:var(--surface-2);border-left:1px solid var(--border);z-index:20;flex-direction:column;gap:12px;width:min(380px,100vw);padding:12px 14px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.meeting-panel-head{justify-content:space-between;align-items:center;display:flex}.meeting-panel h4,.meeting-panel h5{margin:0}.meeting-panel .people-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.meeting-panel .people-list li{border-bottom:1px solid var(--border-subtle);gap:4px;padding:6px 0;display:grid}.meeting-panel .people-list small{color:var(--text-muted)}.meeting-panel .member-actions{flex-wrap:wrap;gap:6px;display:flex}.meeting-panel .member-actions button{padding:4px 8px;font-size:12px}.meeting-panel .lobby{background:color-mix(in srgb, var(--warning) 10%, var(--surface-2));border:1px solid var(--warning);border-radius:8px;gap:6px;padding:8px 10px;display:grid}.meeting-panel .lobby-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.meeting-panel .moderator-actions{border-top:1px solid var(--border);gap:8px;padding-top:10px;display:grid}.meeting-panel .guest-link{gap:6px;display:grid}.meeting-panel .guest-link input{width:100%;font-size:12px}.meeting-panel .guest-link span{flex-wrap:wrap;gap:6px;display:flex}main.guest.auth{place-items:center;min-height:100vh;display:grid}.guest-card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:12px;width:100%;max-width:420px;padding:24px;display:grid}.guest-card h2{margin:0}.guest-card form{gap:10px;display:grid}.guest-card label{gap:6px;display:grid}.guest-card .waiting{font-size:18px;animation:1.6s ease-in-out infinite pulse}.room-edit-title{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.room-edit-title label{flex:220px;gap:4px;display:grid}.room-edit-danger{border-top:1px solid var(--border-subtle);justify-items:start;gap:6px;padding-top:8px;display:grid}.two-columns{grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.two-columns>div:first-child .tab{text-align:left;width:100%;margin-bottom:.35rem;display:block}@media (width<=760px){.two-columns{grid-template-columns:1fr}}.call{background:var(--surface-1);color:var(--text);font-size:14px;line-height:20px}.app-header{background:var(--surface-2);border-color:var(--border-subtle);z-index:30;height:66px;padding:12px max(24px,50vw - 560px);position:relative}.brand{letter-spacing:-.2px;align-items:center;gap:8px;font-size:18px;display:flex}.brand>span{border-radius:var(--radius-8);color:#fff;background:linear-gradient(135deg,#3b6cff,#7c4dff);place-items:center;width:28px;height:28px;font-size:14px;display:grid}.header-spacer{flex:1}.icon-button{border-radius:var(--radius-10);background:0 0;border:0;place-items:center;width:38px;height:38px;padding:0;display:grid}.icon-button svg{width:20px;height:20px}.avatar{color:#fff;letter-spacing:-.2px;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:inline-grid;position:relative}.avatar-sm{width:30px;height:30px;font-size:11px}.avatar-lg{width:96px;height:96px;font-size:32px}.presence-dot{border:2px solid var(--surface-2);background:var(--presence-offline);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.presence-dot.online{background:var(--presence-online)}.presence-dot.busy{background:var(--presence-busy)}.presence-dot.offline{background:var(--presence-offline)}.profile-menu{position:relative}.avatar-button{background:0 0;border:0;align-items:center;gap:3px;padding:0;display:flex}.avatar-button>svg{width:15px}.profile-popover,.room-popover{z-index:50;border:1px solid var(--border);border-radius:var(--radius-12);background:var(--surface-2);min-width:244px;box-shadow:var(--shadow-2);gap:6px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.profile-popover>small{color:var(--text-muted)}.profile-popover fieldset{gap:6px;padding:8px 10px}.profile-popover button{text-align:left;border:0;padding:8px 10px}.theme-choice{color:var(--text);align-items:center;gap:8px;display:flex}.theme-choice input{width:auto}.home{gap:20px;max-width:1120px;padding:24px 0 32px}.welcome-card,.card-block{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-16);box-shadow:var(--shadow-1)}.welcome-card{grid-template-columns:1fr auto;align-items:center;gap:16px;padding:20px 24px;display:grid}.welcome-card h1{letter-spacing:-.35px;margin:0;font-size:24px;line-height:32px}.welcome-card p{color:var(--text-muted);margin:1px 0 0}.welcome-actions{flex-wrap:wrap;gap:10px;display:flex}.welcome-actions button{align-items:center;gap:8px;height:44px;font-weight:650;display:inline-flex}.welcome-actions svg{width:20px}.join-box{grid-column:1/-1;justify-self:end;gap:8px;width:100%;max-width:600px;display:flex}.join-box input{min-width:0}.workspace-dashboard{grid-template-columns:1.15fr 1fr;align-items:start;gap:20px;display:grid}.dashboard-right{gap:20px;display:grid}.card-block{padding:18px 20px}.card-heading{align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-heading h2{margin:0;font-size:16px;line-height:22px}.card-heading .tabs{margin-left:auto}.tabs{border-radius:var(--radius-10);background:var(--surface-3);gap:2px;padding:3px;display:inline-flex}.tabs button{border-radius:var(--radius-8);color:var(--text-muted);background:0 0;border:0;padding:6px 12px;font-weight:650}.tabs button.on{background:var(--surface-2);color:var(--text);box-shadow:var(--shadow-1)}.search-box{border:1px solid var(--border);border-radius:var(--radius-10);height:40px;color:var(--text-muted);align-items:center;gap:8px;margin:8px 0;padding:0 12px;display:flex}.search-box svg{width:19px}.search-box input{color:var(--text);background:0 0;border:0;outline:0;padding:0}.people-list{display:grid}.people-card .person{background:0 0;gap:12px;padding:8px}.people-card .person:hover{background:var(--surface-1)}.person .who{flex:1;min-width:0;display:grid}.person .who strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person .who small{color:var(--text-muted);font-size:12px;line-height:16px}.call-button{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);opacity:0;border:0;place-items:center;padding:0;display:grid}.person:hover .call-button,.call-button:focus-visible{opacity:1}.call-button svg{width:20px}.compact-empty{color:var(--text-muted);align-items:center;gap:10px;display:flex}.compact-empty svg{border-radius:var(--radius-10);background:var(--surface-3);width:36px;height:36px;padding:8px}.rooms-block{gap:8px}.rooms-head h3{font-size:16px;line-height:22px}.create-room{color:var(--accent);align-items:center;gap:5px;text-decoration:none;display:inline-flex}.create-room svg{width:18px}.room-row{border:1px solid var(--border-subtle);background:var(--surface-2);grid-template-columns:42px minmax(0,1fr) auto;gap:12px;padding:10px 12px;display:grid;position:relative}.room-row.busy{border-color:color-mix(in srgb, var(--danger) 32%, var(--border));background:var(--danger-soft)}.room-icon{border-radius:var(--radius-10);background:var(--surface-3);width:40px;height:40px;color:var(--text-muted);place-items:center;display:grid}.room-icon svg{width:21px}.room-icon.mine{background:color-mix(in srgb, #7c4dff 14%, var(--surface-2));color:#7c4dff}.room-icon.live{background:var(--danger-soft);color:var(--danger)}.room-main strong{font-size:14px}.room-main small{font-size:12px;line-height:16px}.room-live{color:var(--danger);font-weight:600}.room-dot{display:none}.room-actions{flex-wrap:nowrap;align-items:center}.room-actions button{padding:8px 12px}.room-menu{position:relative}.room-popover{min-width:150px;top:calc(100% + 3px)}.room-popover button{text-align:left;border:0;padding:8px}.room-faces{align-items:center;padding:2px 0 0 8px;display:flex}.room-faces .avatar{border:2px solid var(--surface-2);margin-left:-8px}.room-faces>i{border:2px solid var(--surface-2);background:var(--surface-3);min-width:30px;height:30px;color:var(--text-muted);border-radius:15px;place-items:center;margin-left:-5px;padding:0 6px;font-size:11px;font-style:normal;font-weight:700;display:grid}.schedule-block{border-bottom:0;gap:8px}.schedule-block h4{color:var(--text-muted)}.meeting-row{border-top:1px solid var(--border-subtle);background:0 0;border-radius:0;padding:10px 0}.meeting-row .room-actions>:not(.primary){display:none}.meeting-row .primary{background:var(--surface-2);border-color:var(--border);color:var(--text)}.recordings-card .recordings-block{padding:0}.recordings-card .recordings-block h3{font-size:16px}.recordings-card .hint{align-items:center;min-height:36px;display:flex}.mobile-nav{display:none}.prejoin{background:var(--stage-bg);min-height:100vh;color:var(--stage-text);grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);align-items:center;gap:40px;padding:48px;display:grid}.prejoin-preview{aspect-ratio:16/10;background:radial-gradient(circle at 35% 30%,#3b4a6b,#1b2130 70%);border-radius:20px;place-items:center;display:grid;position:relative;overflow:hidden}.prejoin-preview video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.prejoin-preview>strong{position:absolute;bottom:22px;left:50px}.prejoin-tools{gap:12px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.round-control{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff24;border:0;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;display:grid}.round-control.off{background:#ef5a5f}.round-control svg{width:22px}.mic-meter{background:#ffffff29;border-radius:4px;align-items:end;width:6px;height:28px;display:flex;position:absolute;bottom:22px;left:20px}.mic-meter i{background:#2fbf71;border-radius:4px;width:100%;min-height:4px;transition:height .1s}.prejoin-side{gap:12px;max-width:460px;display:grid}.prejoin-side .back{color:var(--stage-muted);justify-self:start}.prejoin-side h1{margin:0;font-size:28px;line-height:36px}.prejoin-who{color:var(--stage-muted);margin:-4px 0 8px}.device-pickers{gap:8px;display:grid}.device-pickers label{border:1px solid var(--stage-border);border-radius:var(--radius-12);background:#1a1d24;grid-template-columns:none;align-items:center;gap:10px;height:46px;padding:0 12px;display:flex}.device-pickers svg{width:20px}.device-pickers select{color:var(--stage-text);background:0 0;border:0;flex:1;padding:0}.device-pickers .link{color:#9eb0ff;white-space:nowrap}.join-button{width:fit-content;min-width:220px;height:48px}.prejoin-side .hint{color:var(--stage-muted)}.meeting-shell{background:var(--stage-bg);height:100vh;min-height:560px;color:var(--stage-text);grid-template-rows:minmax(0,1fr) 84px;display:grid;overflow:hidden}.meeting-shell>.error{z-index:80;width:min(620px,100vw - 32px);position:fixed;top:54px;left:50%;transform:translate(-50%)}.meeting-shell .stage{background:var(--stage-bg);grid-row:1;min-height:0;padding:64px 16px 10px}.meeting-top{z-index:12;background:#111317;border-bottom:1px solid #1f232b;align-items:center;gap:10px;height:52px;padding:0 20px;display:flex;position:absolute;top:0;left:0;right:0}.recording-pill{color:#ff8a8e;background:#ef5a5f2e;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.recording-pill i{background:#ef5a5f;border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse}.meeting-link{color:var(--stage-muted);background:0 0;border:0;align-items:center;gap:6px;padding:6px 10px;display:flex}.meeting-link svg{width:18px}.media-grid{grid-auto-rows:minmax(0,1fr);gap:10px;display:grid;position:absolute;inset:64px 16px 10px}.media-grid>.remote{display:contents}.media-grid .tile{border-radius:var(--radius-16);background:var(--stage-tile);place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.media-grid .tile.speaking{outline-offset:-3px;outline:3px solid #2fbf71}.media-grid .tile video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}:is(.media-grid .tile:has(video)>.tile-avatar,.media-grid .tile:has(video)>.camera-off-badge){display:none}.tile-avatar{color:#fff;background:#5576dd;border-radius:50%;place-items:center;width:88px;height:88px;font-size:29px;font-weight:650;display:grid}.camera-off-badge,.mic-off-badge{color:#c9cfda;background:#0000008c;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:12px;right:12px}.camera-off-badge svg,.mic-off-badge svg{width:16px}.mic-off-badge{z-index:3;color:#ff7378;top:auto;bottom:12px;right:12px}.hand-badge{z-index:2;border-radius:var(--radius-10);color:#111;background:#f2b13a;padding:4px 8px;font-size:13px;font-weight:700;position:absolute;top:12px;left:12px}.media-grid .name{z-index:2}.local-tile.camera-off video{display:none}.local-tile video{transform:scaleX(-1)}.media-grid .local{border:0;border-radius:0;width:100%;max-width:none;height:100%;position:absolute;inset:0}.stage.duo .media-grid{display:block}.stage.duo .remote>.tile{position:absolute;inset:0}.stage.duo .local-tile{z-index:5;border:2px solid #343945;width:min(24%,240px);height:min(30%,170px);position:absolute;bottom:12px;right:12px}.stage.solo .media-grid{grid-template-columns:1fr!important}.stage.many .local-tile{position:relative}.alone-note{z-index:7;border-radius:var(--radius-10);color:#fff;background:#0009;margin:0;padding:8px 14px;font-size:13px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.reaction-float{z-index:50;left:calc(42% + var(--random,0px));font-size:38px;animation:2.6s ease-out forwards reaction-up;position:fixed;bottom:110px}.reaction-float:nth-of-type(2n){left:55%}@keyframes reaction-up{to{opacity:0;transform:translateY(-320px)}}.meeting-controls{height:84px;color:var(--stage-text);background:#111317;border-top:1px solid #1f232b;grid-row:2;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px;display:grid;position:relative}.meeting-clock{color:var(--stage-muted);font-variant-numeric:tabular-nums}.control-center{align-items:center;gap:10px;display:flex}.meeting-control{color:var(--stage-text);background:0 0;border:0;justify-items:center;gap:4px;padding:0;font-size:11px;line-height:14px;display:grid}.meeting-control>span{background:#262a33;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.meeting-control>span svg{width:22px}.meeting-control:hover:not(:disabled){background:0 0}.meeting-control:hover>span{background:#343945}.meeting-control.off>span,.meeting-control.leave>span{background:#ef5a5f}.meeting-control.on>span{background:#6d8bff}.meeting-control.leave{margin-left:10px}.meeting-control.leave>span{border-radius:24px;width:64px}.control-pop-wrap{position:relative}.reaction-menu,.more-menu,.leave-menu{z-index:70;border:1px solid var(--stage-border);border-radius:var(--radius-16);background:#1f232b;gap:4px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0006}.reaction-menu button{background:0 0;border:0;width:44px;height:44px;padding:0;font-size:23px}.reaction-menu .raise-hand{width:auto;color:var(--stage-text);white-space:nowrap;padding:0 12px;font-size:13px}.more-menu,.leave-menu{flex-direction:column;align-items:stretch;min-width:210px}.more-menu button,.leave-menu button{text-align:left;color:var(--stage-text);background:0 0;border:0}.leave-menu{left:auto;right:0;transform:none}.leave-menu .danger{background:#8a2c36}.control-right{justify-content:end;gap:6px;display:flex}.control-right button{color:#c9cfda;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid;position:relative}.control-right button.on,.control-right button:hover{background:#262a33}.control-right svg{width:22px}.control-right b{color:#fff;background:#6d8bff;border-radius:8px;place-items:center;min-width:16px;height:16px;font-size:10px;display:grid;position:absolute;top:1px;right:1px}.meeting-info{z-index:60;border:1px solid var(--stage-border);border-radius:var(--radius-16);background:#1f232b;width:280px;padding:16px;position:absolute;bottom:92px;right:18px;box-shadow:0 12px 40px #0006}.meeting-info p{color:var(--stage-muted)}.meeting-info button{color:var(--stage-text);background:#2a2f3a;align-items:center;gap:8px;display:flex}.meeting-info svg{width:18px}.meeting-shell.with-chat{grid-template-rows:minmax(0,1fr) 84px;grid-template-columns:1fr 340px}.meeting-shell.with-chat>.stage{grid-row:1}.meeting-shell.with-chat>.chat{background:var(--stage-surface);border-color:var(--stage-border);grid-area:1/2;margin-top:52px}.meeting-shell.with-chat>.meeting-controls{grid-area:2/1/auto/-1}.meeting-panel{background:var(--stage-surface);color:var(--stage-text);border-color:var(--stage-border)}.meeting-panel .people-list li.raised{background:#f2b13a1a;border-radius:8px;order:-1;padding:8px}@media (width<=640px){.app-header{height:60px;padding:10px 16px}.avatar-button>svg{display:none}.home{width:100%;padding:16px 16px 88px;overflow-x:hidden}.welcome-card{grid-template-columns:1fr;padding:16px}.welcome-card h1{font-size:20px;line-height:26px}.welcome-actions{grid-template-columns:1fr 1fr;display:grid}.welcome-actions button{justify-content:center;padding:8px 10px}.welcome-actions .primary{grid-column:1/-1}.join-box{display:grid}.workspace-dashboard{display:block}.dashboard-right{display:contents}.mobile-section{display:none}.mobile-home [data-mobile-section=home],.mobile-home [data-mobile-section=rooms],.mobile-home [data-mobile-section=calendar],.mobile-people [data-mobile-section=people],.mobile-rooms [data-mobile-section=rooms],.mobile-calendar [data-mobile-section=calendar],.welcome-card[data-mobile-section=home]{display:grid}.mobile-people .welcome-card,.mobile-rooms .welcome-card,.mobile-calendar .welcome-card,.mobile-home .rooms-block .room-row:not(.busy):not(.personal),.mobile-home .rooms-block .room-create,.mobile-home .rooms-block .members-panel{display:none}.card-block{padding:16px}.people-card,.rooms-block,.schedule-block,.recordings-card{margin-bottom:16px}.call-button{opacity:1}.mobile-nav{z-index:40;height:calc(68px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{min-height:56px;color:var(--text-muted);background:0 0;border:0;place-items:center;gap:1px;padding:4px;font-size:11px;display:grid}.mobile-nav button.on{color:var(--accent)}.mobile-nav svg{width:21px}.room-row{grid-template-columns:40px minmax(0,1fr);align-items:start}.room-actions{grid-column:1/-1;justify-content:end;width:100%}.room-actions .primary{flex:1}.room-menu{flex:none}.prejoin{grid-template-columns:1fr;align-content:center;gap:20px;padding:20px 16px}.prejoin-preview{aspect-ratio:4/3}.prejoin-side h1{font-size:22px;line-height:28px}.join-button{width:100%}.meeting-shell{grid-template-rows:minmax(0,1fr) 78px;min-height:0}.meeting-shell .stage{padding:58px 8px 8px}.meeting-top{height:50px;padding:0 12px}.meeting-link{font-size:0}.meeting-link svg{width:21px}.media-grid{gap:6px;inset:58px 8px 8px;grid-template-columns:1fr!important}.stage.many .media-grid{grid-template-columns:repeat(2,1fr)!important}.stage.duo .local-tile{width:34%;height:24%;bottom:8px;right:8px}.tile-avatar{width:64px;height:64px;font-size:22px}.meeting-controls{grid-template-columns:1fr;height:78px;padding:0 8px}.meeting-clock,.control-right,.desktop-control{display:none}.control-center{justify-content:space-around;gap:3px}.meeting-control>span{width:44px;height:44px}.meeting-control.leave{margin-left:0}.meeting-control.leave>span{width:52px}.meeting-control small{font-size:10px}.reaction-menu{flex-wrap:wrap;max-width:calc(100vw - 16px);left:-110px;transform:none}.reaction-menu .raise-hand{flex:1 0 100%}.more-menu{left:auto;right:-65px;transform:none}.mobile-meeting-extra{display:block}.meeting-shell.with-chat{grid-template-rows:minmax(0,1fr) minmax(35vh,auto) 78px;grid-template-columns:1fr;display:grid;overflow-y:auto}.meeting-shell.with-chat>.chat{grid-area:2/1;max-height:38vh;margin-top:0}.meeting-shell.with-chat>.meeting-controls{grid-row:3;position:sticky;bottom:0}}@media (width>=641px){.mobile-meeting-extra{display:none!important}}.room-meta span{white-space:nowrap}.room-meta span+span:before{content:" · "}
