@property --border-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}:root{color-scheme:light;--bg: #f2f4f3;--surface: #ffffff;--surface-2: #f8faf9;--surface-3: #e9eeeb;--hover: rgba(20, 30, 35, .06);--glass: rgba(255, 255, 255, .86);--input: #eef1ef;--segment: #ffffff;--line: #dfe4e1;--line-strong: #c6cfca;--text: #14191c;--text-2: #47525a;--text-3: #5f6b73;--accent: #0f7f59;--accent-hover: #0c6b4a;--accent-soft: #dff3ea;--accent-line: #a9dcc5;--accent-text: #0b6647;--on-accent: #ffffff;--danger: #d43c3c;--danger-soft: #fdecec;--danger-line: #f5c2c2;--danger-text: #b42318;--info-soft: #e8f2fb;--info-line: #bcd8f2;--avatar-bg: #dde6ec;--avatar-text: #2f4655;--bubble-in: #ffffff;--bubble-out: #d8f1e5;--bubble-out-text: #10231b;--bubble-out-meta: #3e5a4e;--bubble-out-accent: #0b6647;--read: #0a6ea8;--code-bg: rgba(20, 30, 35, .08);--glow-a: rgba(15, 127, 89, .14);--glow-b: rgba(10, 110, 168, .1);--aurora-a: rgba(15, 127, 89, .3);--aurora-b: rgba(10, 110, 168, .24);--streak: rgba(15, 127, 89, .2);--beam: rgba(15, 127, 89, .16);--pane: rgba(248, 250, 249, .58);--bubble-sheen: rgba(15, 127, 89, .2);--spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--shadow-1: 0 1px 2px rgba(16, 24, 28, .08);--shadow-2: 0 14px 40px rgba(16, 24, 28, .16);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{color-scheme:dark;--bg: #101214;--surface: #16191c;--surface-2: #14171a;--surface-3: #22282e;--hover: rgba(255, 255, 255, .07);--glass: rgba(20, 23, 26, .86);--input: #1d2227;--segment: #343c44;--line: #262c32;--line-strong: #3d4650;--text: #f2f5f6;--text-2: #c2ccd4;--text-3: #909ba5;--accent: #37b889;--accent-hover: #4cc99b;--accent-soft: #17352b;--accent-line: #24614b;--accent-text: #5fd3a8;--on-accent: #06251a;--danger: #ea5b5b;--danger-soft: #331c1e;--danger-line: #6b2f32;--danger-text: #ff8f8f;--info-soft: #1a2a38;--info-line: #2f4d66;--avatar-bg: #2d3943;--avatar-text: #d3dee6;--bubble-in: #22282e;--bubble-out: #51616e;--bubble-out-text: #ffffff;--bubble-out-meta: #dbe3e9;--bubble-out-accent: #b4f2d8;--read: #a5e4ff;--code-bg: rgba(255, 255, 255, .12);--glow-a: rgba(55, 184, 137, .13);--glow-b: rgba(111, 135, 150, .14);--shadow-1: 0 1px 2px rgba(0, 0, 0, .3);--shadow-2: 0 16px 44px rgba(0, 0, 0, .5);--aurora-a: rgba(55, 184, 137, .3);--aurora-b: rgba(80, 140, 200, .24);--streak: rgba(170, 255, 225, .1);--beam: rgba(190, 255, 230, .1);--pane: rgba(20, 23, 26, .58);--bubble-sheen: rgba(255, 255, 255, .2)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;overscroll-behavior:none}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.boot-screen,.auth-screen{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(60rem 40rem at 12% -10%,var(--glow-a),transparent 65%),radial-gradient(50rem 36rem at 95% 110%,var(--glow-b),transparent 65%),var(--bg)}.auth-panel{width:min(420px,100%);padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-2)}.brand-row{display:flex;align-items:center;gap:12px}.brand-row h1{margin:0;font-size:25px;line-height:1.05}.brand-row p{margin:4px 0 0;color:var(--text-3);font-size:14px}.brand-row.compact h1{font-size:18px}.app-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--accent);color:var(--on-accent);font-weight:800;letter-spacing:0}.app-mark.small{width:40px;height:40px;border-radius:12px;font-size:14px}.server-switch,.mode-switch{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;margin:20px 0;padding:3px;border-radius:12px;background:var(--input)}.server-switch:has(>:only-child){display:none}.server-switch button,.mode-switch button{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;background:transparent;color:var(--text-3);font-weight:600;cursor:pointer;transition:background-color .15s,color .15s}.server-switch button.active,.mode-switch button.active{background:var(--segment);color:var(--text);box-shadow:var(--shadow-1)}.auth-form{display:grid;gap:14px}label{display:grid;gap:7px;color:var(--text-2);font-size:13px}input{min-width:0;height:44px;padding:0 14px;border:1px solid transparent;border-radius:12px;background:var(--input);color:var(--text);outline:none}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.primary-command,.setting-action{height:44px;border:0;border-radius:12px;background:var(--accent);color:var(--on-accent);font-weight:650;cursor:pointer;transition:background-color .15s}.primary-command:hover:not(:disabled){background:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary-command:disabled,button:disabled{cursor:not-allowed;opacity:.55}.app-shell{height:100%;height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"topbar" "incoming" "workspace";background:var(--bg);overflow:hidden}.topbar{grid-area:topbar;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.top-actions{display:flex;align-items:center;gap:8px}.compact-switch{width:230px;margin:0}.icon-button{width:40px;height:40px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text-2);cursor:pointer;transition:background-color .15s,color .15s}.icon-button:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-button.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.icon-button.danger{border-color:var(--danger);background:var(--danger);color:#fff}.icon-button.primary:hover:not(:disabled){background:var(--accent-hover);color:var(--on-accent)}.icon-button.danger:hover:not(:disabled){background:var(--danger);color:#fff;filter:brightness(1.08)}.notice{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-align:left}.notice.floating{position:fixed;z-index:8;top:82px;right:18px;width:min(390px,calc(100vw - 36px));box-shadow:var(--shadow-2)}.notice.success{border-color:var(--accent-line);background:var(--accent-soft)}.notice.error{border-color:var(--danger-line);background:var(--danger-soft)}.notice.info{border-color:var(--info-line);background:var(--info-soft)}.incoming-strip{grid-area:incoming;margin:10px 18px 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;border-radius:14px;border:1px solid var(--accent-line);background:var(--accent-soft)}.incoming-strip span,.settings-block span,.person-row small,.conversation-copy small{display:block;color:var(--text-3);font-size:12px}.incoming-actions{display:flex;gap:8px}.workspace{grid-area:workspace;min-height:0;display:grid;grid-template-columns:320px minmax(0,1fr) 360px;gap:0;overflow:hidden}.rail,.people-panel,.settings-panel,.chat-panel{min-height:0;border-right:1px solid var(--line);background:var(--surface-2)}.people-panel,.settings-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);border-right:0;border-left:1px solid var(--line);padding:16px;overflow:hidden}.settings-panel{display:none}.rail{display:grid;grid-template-rows:auto minmax(0,1fr)}.section-head,.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.chat-head{border-bottom:1px solid var(--line);background:var(--glass)}.section-head h2,.chat-head h2{margin:0;font-size:17px;font-weight:650}.chat-head p{margin:3px 0 0;color:var(--text-3);font-size:13px}.chat-head>.icon-button:first-child{display:none}.chat-title{min-width:0;flex:1}.chat-title h2,.chat-title p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-list,.people-list{display:grid;align-content:start;gap:2px;padding:0 8px 16px;overflow:auto}.conversation-list,.people-list{min-height:0}.conversation-item,.person-row{width:100%;min-height:64px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:8px 10px;border:1px solid transparent;border-radius:14px;background:transparent;color:inherit;text-align:left;transition:background-color .12s}.person-row{grid-template-columns:auto minmax(0,1fr) auto auto}.person-copy{min-width:0}.conversation-item{cursor:pointer}.person-row.request{background:var(--hover)}@media(hover:hover){.conversation-item:hover{background:var(--hover)}}.conversation-item.selected{background:var(--accent-soft)}.avatar{width:40px;height:40px;display:grid;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--avatar-bg);color:var(--avatar-text);font-weight:700;font-size:13px}.avatar.large{width:48px;height:48px}.avatar.signal{background:var(--accent);color:var(--on-accent)}.conversation-copy{min-width:0}.conversation-copy strong,.person-row strong{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-caption{margin:12px 8px 4px;color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.list-empty,.search-hint{display:grid;justify-items:center;gap:7px;padding:28px 18px;color:var(--text-3);text-align:center}.list-empty strong{color:var(--text)}.list-empty span,.search-hint{font-size:13px;line-height:1.4}.unread{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:700}.chat-panel{display:grid;grid-template-rows:auto 1fr auto;background:var(--bg)}.message-list{min-height:0;display:flex;flex-direction:column;gap:6px;padding:18px max(18px,calc((100% - 860px)/2));overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.message-state{margin:auto;padding:16px;color:var(--text-3);font-size:14px;text-align:center}.message{position:relative;max-width:min(78%,560px);display:grid;gap:4px;padding:8px 12px;border-radius:16px;box-shadow:var(--shadow-1);line-height:1.4;overflow-wrap:anywhere}.message.incoming{align-self:flex-start;border-bottom-left-radius:5px;background:var(--bubble-in)}.message.outgoing{--text: var(--bubble-out-text);--text-2: var(--bubble-out-text);--text-3: var(--bubble-out-meta);--accent-text: var(--bubble-out-accent);--accent: var(--bubble-out-accent);--accent-soft: rgba(255, 255, 255, .16);--line-strong: var(--bubble-out-meta);align-self:flex-end;border-bottom-right-radius:5px;background:var(--bubble-out);color:var(--bubble-out-text)}.message small,.message time{color:var(--text-3);font-size:11px}.message.has-actions{padding-right:42px}.message-action-toggle{position:absolute;top:5px;right:5px;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--text-3);cursor:pointer;opacity:.68}.message-action-toggle:hover,.message-action-toggle:focus-visible{background:var(--hover);opacity:1}.message-actions-menu{position:absolute;top:36px;right:6px;z-index:8;min-width:160px;display:grid;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-2)}.message-actions-menu button{min-height:36px;display:flex;align-items:center;gap:8px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.message-actions-menu button:hover,.message-actions-menu button:focus-visible{background:var(--hover)}.message-actions-menu button.danger{color:var(--danger-text)}.message-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px}.delivery-status{width:18px;height:15px;display:inline-grid;place-items:center;flex:0 0 18px;color:var(--text-3)}.delivery-status.read{color:var(--read)}.message-markdown{min-width:0;overflow:hidden}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown p,.message-markdown ul,.message-markdown ol,.message-markdown blockquote{margin:6px 0}.message-markdown h1,.message-markdown h2,.message-markdown h3{margin:9px 0 5px;font-size:16px;line-height:1.25}.message-markdown a{color:var(--accent-text)}.message-markdown :not(pre)>code{padding:1px 4px;border-radius:4px;background:var(--code-bg);font:.9em ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.message-markdown blockquote{padding-left:9px;border-left:3px solid var(--accent);color:var(--text-2)}.message-markdown table{width:100%;border-collapse:collapse;font-size:13px}.message-markdown th,.message-markdown td{padding:5px 7px;border:1px solid var(--line-strong)}.code-panel{width:min(100%,640px);min-width:0;margin:7px 0;overflow:hidden;border:1px solid #343b3a;border-radius:6px;background:#171b1a;color:#f3f6f4}.code-panel-head{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 4px 3px 11px;border-bottom:1px solid #343b3a;background:#242a28;color:#b9c5bf;font:700 11px ui-monospace,SFMono-Regular,Consolas,monospace}.code-panel-head button{width:32px;height:30px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:#d8e2dc;cursor:pointer}.code-panel-head button:hover{background:#363e3b}.code-panel pre{max-width:100%;margin:0;padding:12px;overflow:auto;white-space:pre;-moz-tab-size:2;tab-size:2}.code-panel pre code{font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.image-message{width:min(320px,62vw);min-width:min(210px,54vw);min-height:150px;max-width:100%;max-height:360px;display:grid;place-items:center;overflow:hidden;padding:0;border:0;border-radius:12px;background:var(--surface-3);color:var(--text-3)}.image-message.loaded{cursor:zoom-in}.image-message:disabled{cursor:default;opacity:1}.image-message img{width:100%;height:100%;min-height:0;display:block;object-fit:cover}.image-message-placeholder{display:grid;place-items:center;gap:8px;padding:16px;text-align:center}.image-message-placeholder small{max-width:220px;font-size:12px}.file-message{min-width:min(280px,62vw);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:3px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.file-message-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-text)}.file-message-copy{min-width:0;display:grid;gap:2px}.file-message-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-shell{position:relative;min-width:0;border-top:1px solid var(--line);background:var(--glass)}.edit-message-banner{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 12px 0;color:var(--accent-text)}.edit-message-banner>span{min-width:0;display:grid;gap:2px}.edit-message-banner small{font-size:11px;font-weight:700}.edit-message-banner strong{overflow:hidden;color:var(--text-2);font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.edit-message-banner button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--text-3);cursor:pointer}.edit-message-banner button:hover,.edit-message-banner button:focus-visible{background:var(--hover)}.emoji-picker{position:absolute;right:58px;bottom:calc(100% - 8px);z-index:12;width:min(360px,calc(100% - 24px));overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-2)}.emoji-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:5px;border-bottom:1px solid var(--line);background:var(--surface-2)}.emoji-tabs button,.emoji-grid button{display:grid;place-items:center;border:0;border-radius:5px;background:transparent;cursor:pointer}.emoji-tabs button{min-height:34px;font-size:19px}.emoji-tabs button:hover,.emoji-tabs button:focus-visible,.emoji-tabs button.active{background:var(--accent-soft)}.emoji-tabs button.active{box-shadow:inset 0 -2px var(--accent)}.emoji-grid{max-height:224px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;padding:8px;overflow-y:auto}.emoji-grid button{aspect-ratio:1;min-width:0;font-size:23px}.emoji-grid button:hover,.emoji-grid button:focus-visible{background:var(--hover)}.pending-files{display:flex;gap:7px;padding:9px 12px 0;overflow-x:auto}.pending-file{max-width:280px;min-height:34px;display:grid;grid-template-columns:auto minmax(60px,1fr) auto auto;align-items:center;gap:6px;flex:0 0 auto;padding:4px 5px 4px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.pending-file>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-file>small{color:var(--text-3);font-size:11px}.pending-file button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--text-3)}.composer,.search-box{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--glass)}.composer{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:end;gap:4px;border-top:0}.composer>.icon-button{margin-bottom:2px;border-radius:50%}.search-box{grid-template-columns:auto 1fr auto;align-items:center;margin-bottom:14px;padding:2px 2px 2px 14px;border:0;border-radius:14px;background:var(--input);color:var(--text-3)}.search-box input,.composer textarea{border:0;background:transparent;box-shadow:none}.composer textarea{width:100%;min-height:44px;max-height:120px;padding:11px 16px;border-radius:22px;resize:none;overflow-y:auto;background:var(--input);color:var(--text);outline:none;line-height:1.4}.composer textarea:focus{box-shadow:inset 0 0 0 1px var(--accent)}.search-box:focus-within{box-shadow:inset 0 0 0 1px var(--accent)}.search-box input:focus-visible{outline:0}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.file-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#11161494}.file-preview-dialog{width:min(900px,100%);max-height:min(82vh,760px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-2)}.file-preview-dialog>header{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:7px;padding:9px 10px 9px 14px;border-bottom:1px solid var(--line)}.file-preview-dialog>header>div{min-width:0;display:flex;align-items:center;gap:8px}.file-preview-dialog>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-content{min-height:0;padding:14px;overflow:auto}.file-preview-content>.code-panel{width:100%;margin:0}.image-preview-dialog{width:min(1100px,100%);height:min(88vh,860px);background:#111614}.image-preview-dialog>header{grid-template-columns:minmax(0,1fr) auto auto;background:var(--surface)}.image-preview-content{min-width:0;min-height:0;display:grid;place-items:center;padding:14px;overflow:auto}.image-preview-content img{max-width:100%;max-height:100%;display:block;object-fit:contain}.empty-state{display:grid;place-items:center;align-content:center;gap:12px;color:var(--text-3)}.settings-block,.setting-action{width:100%;display:grid;gap:4px;margin-bottom:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);text-align:left}.setting-action{grid-template-columns:auto 1fr;align-items:center;cursor:pointer}.micro-copy{padding:10px;color:var(--text-3);font-size:12px}.mobile-nav{grid-area:nav;display:none}.call-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;background:#05070d}.call-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden}.call-video{width:100%;height:100%;object-fit:cover;background:#05070d}.call-video.mirror{transform:scaleX(-1)}.remote-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:transparent}.remote-audio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.call-peer-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#111827}.call-avatar{width:112px;height:112px;display:grid;place-items:center;border:1px solid #334155;border-radius:50%;background:#1e293b;color:#e2e8f0;font-size:32px;font-weight:800}.playback-command{position:absolute;z-index:4;top:max(22px,env(safe-area-inset-top));left:50%;min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 15px;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:#0f172ae6;color:#fff;transform:translate(-50%)}.local-video-wrap{position:absolute;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));width:min(32vw,180px);aspect-ratio:9 / 13;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#111827;z-index:3}.call-overlay{position:absolute;left:0;right:0;bottom:0;display:grid;gap:16px;justify-items:center;padding:28px max(18px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom));color:#fff;background:linear-gradient(0deg,#000000bd,#0000);z-index:2;max-height:100%;overflow-y:auto}.call-overlay h2{margin:0;font-size:26px;text-align:center}.call-overlay p{margin:6px 0 0;text-align:center;color:#d7dde8}.call-controls{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.call-controls .icon-button{width:52px;height:52px;border-radius:50%}.call-controls .icon-button:not(.danger),.call-controls .icon-button:not(.danger):hover:not(:disabled){background:#ffffff29;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.call-device-panel{width:min(760px,calc(100vw - 36px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#141918f0}.call-device-panel label{min-width:0;color:#dce5df}.call-device-panel label>span{display:flex;align-items:center;gap:6px}.call-device-panel select{width:100%;height:40px;min-width:0;padding:0 9px;overflow:hidden;border:1px solid #59625e;border-radius:6px;background:#f8faf9;color:#171b1a}.call-error{display:block;margin-top:8px;color:#fecaca;text-align:center}@media(max-width:1120px){.workspace{grid-template-columns:300px minmax(0,1fr)}.people-panel,.settings-panel{display:none}}@media(max-width:1120px){.app-shell{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"topbar" "incoming" "workspace" "nav"}.topbar{min-height:58px;padding:max(10px,env(safe-area-inset-top)) 12px 10px}.app-shell.mobile-chat-open .topbar,.brand-row.compact p,.compact-switch{display:none}.brand-row.compact .app-mark{width:36px;height:36px}.top-actions .icon-button:last-child{display:none}.notice.floating{top:max(70px,calc(env(safe-area-inset-top) + 58px));right:10px;width:calc(100vw - 20px)}.workspace{min-height:0;grid-template-columns:1fr;overflow:hidden}.rail,.chat-panel,.people-panel,.settings-panel{display:none;border:0}.rail.mobile-active,.chat-panel.mobile-active,.people-panel.mobile-active,.settings-panel.mobile-active{display:grid;min-width:0;height:100%}.settings-panel.mobile-active{display:block;padding:12px;overflow:auto}.rail.mobile-active{grid-template-rows:auto minmax(0,1fr)}.people-panel.mobile-active{grid-template-rows:auto auto minmax(0,1fr);padding:0 10px 10px;overflow:hidden}.section-head,.chat-head{padding:12px}.chat-head{min-width:0;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:9px;border-bottom:1px solid var(--line);background:var(--glass);padding-top:max(10px,env(safe-area-inset-top))}.chat-head>.icon-button:first-child{display:inline-grid}.chat-head .avatar.large{width:40px;height:40px}.chat-head h2{font-size:16px}.chat-head p{font-size:12px}.conversation-list,.people-list{min-height:0;padding-bottom:18px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.conversation-item,.person-row{min-height:68px}.person-row{gap:8px;padding:8px 4px}.person-row .icon-button{width:38px;height:38px}.message{max-width:88%}.composer>.icon-button:not(.primary){width:36px}.message-list{padding:12px 10px}.composer{padding:9px max(10px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.emoji-picker{right:max(10px,env(safe-area-inset-right));width:calc(100% - max(20px,env(safe-area-inset-right) + env(safe-area-inset-left)))}.emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.composer textarea,.search-box input,.auth-form input{font-size:16px}.mobile-nav{width:100%;height:calc(64px + env(safe-area-inset-bottom));min-height:calc(64px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);padding:5px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--surface);position:relative;z-index:5}.mobile-nav.chat-open{display:none}.mobile-nav button{display:grid;place-items:center;align-content:center;gap:3px;border:0;border-radius:8px;background:transparent;color:var(--text-3)}.mobile-nav button span{font-size:11px;font-weight:650}.mobile-nav button.active{color:var(--accent-text)}.mobile-nav button.active svg{width:44px;height:26px;padding:3px 0;border-radius:13px;background:var(--accent-soft)}.incoming-strip{margin:8px 10px 0;grid-template-columns:auto 1fr auto}.call-layer{height:100dvh}.local-video-wrap{right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));width:min(30vw,132px)}.call-overlay{gap:12px;padding:72px max(12px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom))}.call-device-panel{grid-template-columns:1fr;width:min(420px,calc(100vw - 24px))}.file-preview-backdrop{padding:8px}.file-preview-dialog{max-height:calc(100dvh - 16px)}.call-overlay h2{font-size:22px}.call-avatar{width:92px;height:92px;font-size:27px}}@media(max-width:370px){.chat-head .avatar.large{display:none}.chat-head{grid-template-columns:auto minmax(0,1fr) auto}.person-row{grid-template-columns:auto minmax(0,1fr) auto auto}.person-row .avatar{width:36px;height:36px}}@media(hover:hover){.message .message-action-toggle{opacity:0;transition:opacity .12s}.message:hover .message-action-toggle,.message .message-action-toggle:focus-visible{opacity:.75}}.conversation-list,.people-list,.message-list,.emoji-grid,.file-preview-content{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.voice-message{display:grid;gap:8px;width:280px;max-width:100%}.voice-message audio{display:block;width:100%;min-width:0;height:44px}.voice-message-play{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--line-strong);border-radius:22px;background:var(--surface-3);color:var(--text);font:inherit;cursor:pointer}.voice-message-play:disabled{opacity:.65;cursor:wait}.theme-switch{position:relative;display:inline-grid;grid-template-columns:repeat(2,34px);flex:0 0 auto;height:36px;padding:3px;border-radius:12px;background:var(--input)}.theme-switch button{position:relative;z-index:1;display:grid;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:var(--text-3);cursor:pointer;transition:color .2s}.theme-switch button:hover{color:var(--text)}.theme-switch button[aria-checked=true]{color:var(--accent-text)}.theme-switch button[aria-checked=true] svg{animation:theme-icon .55s var(--spring)}.theme-switch-thumb{position:absolute;top:3px;left:3px;width:34px;height:30px;border-radius:9px;background:var(--segment);box-shadow:var(--shadow-1);transition:transform .4s var(--spring)}.theme-switch[data-choice=dark] .theme-switch-thumb{transform:translate(100%)}.auth-screen>.theme-switch{position:absolute;z-index:2;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));animation:fade-in .6s ease-out .5s backwards}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){z-index:1}.boot-screen,.auth-screen{position:relative;overflow:hidden;isolation:isolate}.boot-screen .app-mark{animation:breathe 1.4s ease-in-out infinite}.auth-panel{position:relative;animation:panel-in .7s var(--ease-out) backwards}.auth-panel:before,.conversation-item.selected:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;padding:1px;border-radius:inherit;background:conic-gradient(from var(--border-angle),transparent 0 58%,var(--accent) 80%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none;animation:border-spin 6s linear infinite}.auth-panel .app-mark{animation:mark-in .8s var(--spring) .15s backwards}.auth-panel .brand-row>div:last-child,.auth-form>*{animation:rise-in .55s var(--ease-out) backwards}.auth-panel .brand-row>div:last-child{animation-delay:.2s}.auth-form>:nth-child(1){animation-delay:.26s}.auth-form>:nth-child(2){animation-delay:.32s}.auth-form>:nth-child(3){animation-delay:.38s}.auth-form>:nth-child(4){animation-delay:.44s}.auth-form>:nth-child(5){animation-delay:.5s}.app-shell{isolation:isolate;animation:fade-in .4s ease-out}.topbar{animation:drop-in .5s var(--ease-out) backwards}.conversation-item,.person-row{animation:rise-in .45s var(--ease-out) backwards}.conversation-item:nth-child(2),.person-row:nth-child(2){animation-delay:.04s}.conversation-item:nth-child(3),.person-row:nth-child(3){animation-delay:.08s}.conversation-item:nth-child(4),.person-row:nth-child(4){animation-delay:.12s}.conversation-item:nth-child(5),.person-row:nth-child(5){animation-delay:.16s}.conversation-item:nth-child(n+6),.person-row:nth-child(n+6){animation-delay:.2s}.conversation-item .avatar{transition:transform .3s var(--spring)}.conversation-item:active{transform:scale(.98)}.avatar.signal{animation:ring-glow 1.6s ease-out infinite}.message:nth-last-child(-n+14){animation:bubble-in .4s var(--spring) backwards}.message.incoming{transform-origin:0 100%}.message.outgoing{transform-origin:100% 100%}.message-actions-menu{transform-origin:100% 0;animation:pop-in .24s var(--spring)}.emoji-picker{transform-origin:90% 100%;animation:pop-in .28s var(--spring)}.emoji-grid button{transition:transform .2s var(--spring),background-color .12s}.delivery-status svg{animation:pop-in .3s var(--spring)}.icon-button,.primary-command,.setting-action,.mobile-nav button,.server-switch button,.mode-switch button,.conversation-item{transition:background-color .15s,color .15s,box-shadow .15s,transform .22s var(--spring)}.icon-button:active:not(:disabled),.primary-command:active:not(:disabled),.setting-action:active:not(:disabled),.mobile-nav button:active,.theme-switch button:active svg{transform:scale(.9)}.icon-button svg,.theme-switch button svg{transition:transform .25s var(--spring)}.composer textarea,.search-box{transition:box-shadow .18s}.notice{animation:rise-in .3s var(--ease-out)}.notice.floating{animation:slide-in-right .42s var(--spring)}.incoming-strip{animation:drop-in .45s var(--spring)}.edit-message-banner,.pending-file{animation:rise-in .28s var(--ease-out)}.file-preview-backdrop{animation:fade-in .2s ease-out}.file-preview-dialog{animation:dialog-in .36s var(--spring)}.call-layer{animation:call-in .5s var(--ease-out)}.call-avatar{position:relative}.call-avatar:before,.call-avatar:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:2px solid rgba(55,184,137,.65);border-radius:50%;animation:ring-pulse 2.6s ease-out infinite}.call-avatar:after{animation-delay:1.3s}.call-controls .icon-button{animation:pop-in .45s var(--spring) .15s backwards}.call-controls .icon-button:nth-child(2){animation-delay:.21s}.call-controls .icon-button:nth-child(3){animation-delay:.27s}.call-controls .icon-button:nth-child(4){animation-delay:.33s}.call-controls .icon-button:nth-child(5){animation-delay:.39s}@media(hover:hover){.conversation-item:hover .avatar{transform:scale(1.08)}.emoji-grid button:hover{transform:scale(1.3)}.composer .icon-button.primary:hover:not(:disabled) svg{transform:translate(2px,-2px) rotate(-8deg)}.icon-button.primary:hover:not(:disabled){box-shadow:0 0 0 4px var(--accent-soft)}}@media(min-width:1121px){.rail,.chat-panel,.people-panel{animation:rise-in .55s var(--ease-out) backwards}.chat-panel{animation-delay:.06s}.people-panel{animation-delay:.12s}}@media(max-width:1120px){.chat-panel.mobile-active{animation:slide-from-right .34s var(--ease-out)}.rail.mobile-active{animation:slide-from-left .34s var(--ease-out)}.people-panel.mobile-active,.settings-panel.mobile-active{animation:rise-in .32s var(--ease-out)}.mobile-nav button.active svg{animation:pop-in .4s var(--spring)}}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-12px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.7)}}@keyframes bubble-in{0%{opacity:0;transform:translateY(10px) scale(.9)}}@keyframes panel-in{0%{opacity:0;transform:translateY(26px) scale(.96)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(18px) scale(.95)}}@keyframes call-in{0%{opacity:0;transform:scale(1.04)}}@keyframes mark-in{0%{opacity:0;transform:scale(.4) rotate(-14deg)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(34px)}}@keyframes slide-from-right{0%{opacity:.4;transform:translate(26%)}}@keyframes slide-from-left{0%{opacity:.4;transform:translate(-16%)}}@keyframes theme-icon{0%{transform:rotate(-70deg) scale(.5)}}@keyframes breathe{50%{transform:scale(1.08)}}@keyframes sheen{30%,to{transform:translate(120%)}}@keyframes border-spin{to{--border-angle: 360deg}}@keyframes aurora-a{to{transform:translate(26vmax,18vmax) scale(1.2)}}@keyframes aurora-b{to{transform:translate(-22vmax,-20vmax) scale(1.15)}}@keyframes ring-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.3)}}@keyframes ring-glow{0%{box-shadow:0 0 0 0 var(--accent-line)}to{box-shadow:0 0 0 14px transparent}}.auth-screen{height:100%;overflow-y:auto}@media(max-height:760px){.auth-screen{padding-top:68px}}.app-downloads{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);animation:rise-in .55s var(--ease-out) .56s backwards}.app-downloads>p{margin:0 0 10px;color:var(--text-3);font-size:12px;text-align:center}.app-downloads-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-download{min-height:62px;display:grid;justify-items:center;align-content:center;gap:5px;padding:8px 4px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text-2);font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,transform .22s var(--spring)}.app-download:active{transform:scale(.94)}@media(hover:hover){.app-download:hover{border-color:var(--accent);color:var(--accent-text);transform:translateY(-2px)}}.install-guide{width:min(480px,100%);color:var(--text)}.install-guide .file-preview-content h3{margin:0 0 8px;font-size:15px}.install-guide .file-preview-content h3:not(:first-child){margin-top:18px}.install-guide ol{display:grid;gap:8px;margin:0;padding-left:22px;font-size:14px;line-height:1.45}.install-guide li svg{vertical-align:-2px}.install-note{margin:16px 0 0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--text-2);font-size:13px;line-height:1.45}.incoming-strip{position:relative;z-index:9}.room-call{grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(50rem 34rem at 15% 0,rgba(55,184,137,.16),transparent 70%),radial-gradient(44rem 30rem at 90% 100%,rgba(80,140,200,.16),transparent 70%),#0a0d12;color:#fff}.room-call-head{display:grid;justify-items:center;gap:2px;padding:max(14px,env(safe-area-inset-top)) 16px 10px}.room-call-head strong{font-size:17px}.room-call-head span{color:#b9c3ce;font-size:13px}.room-grid{min-height:0;display:grid;grid-auto-rows:minmax(0,1fr);gap:10px;padding:4px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));overflow:auto}.room-tile{position:relative;min-width:0;min-height:120px;display:grid;place-items:center;overflow:hidden;border-radius:16px;background:#1a2029;box-shadow:inset 0 0 0 1px #ffffff12;transition:box-shadow .2s;animation:pop-in .35s var(--spring)}.room-tile.speaking{box-shadow:inset 0 0 0 3px #37b889,0 0 22px #37b88959}.room-tile video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.room-tile video.mirror{transform:scaleX(-1)}.room-tile-avatar{width:clamp(64px,28%,112px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#2d3943;color:#e6edf3;font-size:24px;font-weight:700}.room-tile-name{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);display:inline-flex;align-items:center;gap:5px;padding:3px 9px;overflow:hidden;border-radius:999px;background:#0000008c;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.room-call-foot{display:grid;justify-items:center;gap:10px;padding:8px 12px max(16px,env(safe-area-inset-bottom))}.room-call-foot .call-error{margin:0}.room-audio-unlock{padding:0 20px}.add-people-dialog{width:min(420px,100%);color:var(--text)}.add-people-row{width:100%;min-height:56px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:8px;border:0;border-radius:12px;background:transparent;color:inherit;text-align:left;cursor:pointer}.add-people-row:hover:not(:disabled){background:var(--hover)}.add-people-row strong{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.add-people-empty{margin:8px;color:var(--text-3);font-size:14px}.add-people-dialog .notice{margin-bottom:8px}.chat-panel:has(>.room-call-banner){grid-template-rows:auto auto minmax(0,1fr) auto}.room-call-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:8px 12px 0;padding:8px 8px 8px 14px;border:1px solid var(--accent-line);border-radius:14px;background:var(--accent-soft);color:var(--accent-text);font-size:14px;font-weight:600;animation:drop-in .4s var(--spring)}.room-call-banner .primary-command{height:36px;padding:0 14px;font-size:13px}@media(max-width:640px){.room-grid{gap:6px;padding-left:6px;padding-right:6px}}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.app-shell .ambient{opacity:.8}.app-shell:has(.call-layer) .ambient{display:none}.ambient span{position:absolute;display:block;will-change:transform,opacity}.ambient-glow-a,.ambient-glow-b{width:80vmax;height:80vmax;border-radius:50%}.ambient-glow-a{top:-45vmax;left:-25vmax;background:radial-gradient(circle,var(--aurora-a),transparent 65%);animation:aurora-a 16s ease-in-out infinite alternate}.ambient-glow-b{right:-30vmax;bottom:-45vmax;background:radial-gradient(circle,var(--aurora-b),transparent 65%);animation:aurora-b 20s ease-in-out infinite alternate}.ambient-stripes-a,.ambient-stripes-b{top:-20%;right:-20%;bottom:-20%;left:-20%;-webkit-mask:linear-gradient(115deg,transparent 8%,#000 35% 65%,transparent 92%);mask:linear-gradient(115deg,transparent 8%,#000 35% 65%,transparent 92%)}.ambient-stripes-a{background:repeating-linear-gradient(115deg,transparent 0 58px,var(--streak) 58px 60px,transparent 60px 146px);animation:stripes-drift 26s linear infinite alternate,stripes-flicker 4.5s ease-in-out infinite}.ambient-stripes-b{background:repeating-linear-gradient(115deg,transparent 0 96px,var(--streak) 96px 97px,transparent 97px 212px);animation:stripes-drift 34s linear infinite alternate-reverse,stripes-flicker 6s ease-in-out 1.7s infinite}.ambient-beam{top:-30%;bottom:-30%;left:0;width:34vmax;background:linear-gradient(90deg,transparent,var(--beam),transparent);transform:translate(-60vmax) rotate(18deg);animation:beam 11s ease-in-out infinite}.rail,.people-panel,.settings-panel{background:var(--pane)}.chat-panel{background:transparent}.mobile-nav{background:var(--glass)}.topbar,.chat-head{position:relative}.topbar:after,.chat-head:after,.composer-shell:before{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent) no-repeat;background-size:30% 100%;background-position:-50% 0;pointer-events:none;animation:line-run 7s ease-in-out infinite}.topbar:after,.chat-head:after{bottom:-1px}.chat-head:after{animation-delay:2.2s}.composer-shell:before{top:-1px;animation-delay:4.1s}.app-mark,.primary-command,.chat-head .icon-button.primary,.composer .icon-button.primary:not(:disabled){position:relative;overflow:hidden}.app-mark:after,.primary-command:not(:disabled):after,.chat-head .icon-button.primary:after,.composer .icon-button.primary:not(:disabled):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%);transform:translate(-120%);pointer-events:none;animation:sheen 5s ease-in-out 1s infinite}.primary-command:not(:disabled):after{animation-delay:2s}.chat-head .icon-button.primary:after{animation-delay:3.2s}.composer .icon-button.primary:not(:disabled):after{animation-delay:.3s}.conversation-item.selected{position:relative}.unread{animation:pop-in .45s var(--spring) .25s backwards,ring-glow 2.4s ease-out 1s infinite}.message:nth-last-child(-n+14):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(105deg,transparent 40%,var(--bubble-sheen) 50%,transparent 60%) no-repeat;background-size:250% 100%;opacity:0;pointer-events:none;animation:bubble-sheen 1s ease-out .25s}@keyframes stripes-drift{to{transform:translate3d(90px,40px,0)}}@keyframes stripes-flicker{0%,to{opacity:.35}50%{opacity:1}}@keyframes beam{55%,to{transform:translate(130vmax) rotate(18deg)}}@keyframes line-run{70%,to{background-position:150% 0}}@keyframes bubble-sheen{0%{opacity:1;background-position:130% 0}to{opacity:1;background-position:-30% 0}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
