:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#121621;background:#f6f7f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;overscroll-behavior:none}button,input{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:linear-gradient(135deg,rgba(34,197,94,.18),transparent 34%),linear-gradient(315deg,rgba(14,165,233,.16),transparent 32%),#f6f7f2}.auth-panel{width:min(420px,100%);padding:24px;border:1px solid #dfe4d8;border-radius:8px;background:#ffffffdb;box-shadow:0 24px 70px #1216211f}.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:#647067;font-size:14px}.brand-row.compact h1{font-size:18px}.app-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:8px;background:#0f172a;color:#ecfdf5;font-weight:800;letter-spacing:0}.app-mark.small{width:40px;height:40px;font-size:14px}.server-switch,.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.server-switch button,.mode-switch button{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d9dfd2;border-radius:8px;background:#fff;color:#273025;cursor:pointer}.server-switch button.active,.mode-switch button.active{border-color:#16a34a;background:#eaf8ef;color:#0f642e}.auth-form{display:grid;gap:14px}label{display:grid;gap:7px;color:#4a5249;font-size:13px}input{min-width:0;height:44px;padding:0 13px;border:1px solid #d6dccf;border-radius:8px;background:#fff;color:#121621;outline:none}input:focus{border-color:#16a34a;box-shadow:0 0 0 3px #22c55e29}.primary-command,.setting-action{height:44px;border:0;border-radius:8px;background:#121621;color:#fff;cursor:pointer}.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:#f6f7f2;overflow:hidden}.topbar{grid-area:topbar;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid #dfe4d8;background:#ffffffe0;-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 #d8dfd1;border-radius:8px;background:#fff;color:#1f2937;cursor:pointer}.icon-button.primary{border-color:#16a34a;background:#16a34a;color:#fff}.icon-button.danger{border-color:#ef4444;background:#ef4444;color:#fff}.notice{width:100%;padding:11px 13px;border:1px solid #d7ddcf;border-radius:8px;background:#fff;color:#121621;text-align:left}.notice.floating{position:fixed;z-index:8;top:82px;right:18px;width:min(390px,calc(100vw - 36px));box-shadow:0 14px 42px #12162124}.notice.success{border-color:#86efac;background:#ecfdf5}.notice.error{border-color:#fecaca;background:#fff1f2}.notice.info{border-color:#bfdbfe;background:#eff6ff}.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:8px;border:1px solid #bbf7d0;background:#f0fdf4}.incoming-strip span,.settings-block span,.person-row small,.conversation-copy small{display:block;color:#6b7469;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 #dfe4d8;background:#fbfcf8}.people-panel,.settings-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);border-right:0;border-left:1px solid #dfe4d8;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:16px}.section-head h2,.chat-head h2{margin:0;font-size:17px}.chat-head p{margin:3px 0 0;color:#6b7469;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;gap:6px;padding:0 10px 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;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;text-align:left}.person-row{grid-template-columns:auto minmax(0,1fr) auto auto}.person-copy{min-width:0}.conversation-item{cursor:pointer}.conversation-item.selected,.conversation-item:hover,.person-row.request{border-color:#d7dfcf;background:#fff}.avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:#dbeafe;color:#1e3a8a;font-weight:800;font-size:13px}.avatar.large{width:48px;height:48px;background:#dcfce7;color:#166534}.avatar.signal{background:#16a34a;color:#fff}.conversation-copy{min-width:0}.conversation-copy strong,.person-row strong{display:block;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:#687169;font-size:12px;font-weight:700;text-transform:uppercase}.list-empty,.search-hint{display:grid;justify-items:center;gap:7px;padding:28px 18px;color:#687169;text-align:center}.list-empty strong{color:#273025}.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:#16a34a;color:#fff;font-size:12px;font-weight:700}.chat-panel{display:grid;grid-template-rows:auto 1fr auto;background:#f6f7f2}.message-list{min-height:0;display:flex;flex-direction:column;gap:8px;padding:18px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.message-state{margin:auto;padding:16px;color:#687169;font-size:14px;text-align:center}.message{max-width:min(78%,560px);display:grid;gap:4px;padding:10px 12px;border-radius:8px;line-height:1.35;overflow-wrap:anywhere}.message.incoming{align-self:flex-start;background:#fff;border:1px solid #dfe4d8}.message.outgoing{align-self:flex-end;background:#dcfce7;border:1px solid #bbf7d0}.message small,.message time{color:#6b7469;font-size:11px}.composer,.search-box{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid #dfe4d8;background:#ffffffeb}.search-box{grid-template-columns:auto 1fr auto;align-items:center;margin-bottom:14px;padding:8px;border:1px solid #dfe4d8;border-radius:8px}.search-box input,.composer input{border:0;box-shadow:none}.empty-state{display:grid;place-items:center;align-content:center;gap:12px;color:#657067}.settings-block,.setting-action{width:100%;display:grid;gap:4px;margin-bottom:10px;padding:13px;border:1px solid #dfe4d8;border-radius:8px;background:#fff;color:#121621;text-align:left}.setting-action{grid-template-columns:auto 1fr;align-items:center;cursor:pointer}.micro-copy{padding:10px;color:#6b7469;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}.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:48px;height:48px}.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 #dfe4d8;background:#fffffff0;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%}.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))}.composer input,.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 #dfe4d8;background:#fff;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:#596258}.mobile-nav button span{font-size:11px;font-weight:650}.mobile-nav button.active{background:#eaf8ef;color:#16a34a}.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-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}}
