:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f242b;background:#f5f6f8;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #1f242b;--muted: #7d8792;--faint: #a7afb8;--line: #e7eaee;--panel: #ffffff;--canvas: #f5f6f8;--soft: #f0f2f4;--accent: #1f242b;--green: #27a269;--yellow: #d38a27;--red: #e05252;--shadow: 0 16px 50px rgba(30, 37, 45, .08)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{min-width:280px;height:100dvh;min-height:100dvh;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%;background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible{outline:3px solid rgba(31,36,43,.18);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{display:inline-block;width:1.1em;height:1.1em;flex:0 0 auto;vertical-align:middle}.mobile-only{display:none!important}.eyebrow{margin:0;color:var(--faint);font-size:.63rem;font-weight:800;letter-spacing:.16em;line-height:1.2}.login-page{min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.9),transparent 30%),radial-gradient(circle at 85% 75%,rgba(219,226,232,.68),transparent 30%),var(--canvas)}.login-card{width:min(100%,490px);padding:clamp(28px,6vw,64px) clamp(22px,7vw,58px);border:1px solid rgba(255,255,255,.85);border-radius:30px;background:#ffffffdb;box-shadow:var(--shadow);text-align:center}.login-card h1{max-width:390px;margin:0 auto 24px;font-size:clamp(2rem,5vw,3rem);letter-spacing:-.055em;line-height:1.02}.login-form{margin-top:0;text-align:left}.login-form label,.connect-card label{display:block;margin:0 0 8px;color:var(--ink);font-size:.78rem;font-weight:750}.login-form input,.connect-input-row input,.message-input{width:100%;min-width:0;border:1px solid var(--line);border-radius:15px;background:#fbfbfc;color:var(--ink);outline:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.login-form input{padding:16px 17px;font-size:1.05rem}.login-form input:focus,.connect-input-row input:focus,.message-input:focus{border-color:#9ba4ae;background:#fff;box-shadow:0 0 0 4px #1f242b0f}.form-error,.connection-message{margin:11px 0 0;color:var(--red);font-size:.76rem;line-height:1.45}.invite-note{display:flex;align-items:center;gap:7px;margin:13px 0 0;padding:10px 12px;border-radius:12px;background:#f0f5f2;color:#3e6d53;font-size:.74rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 15px;border:1px solid transparent;border-radius:12px;font-size:.8rem;font-weight:750;line-height:1;transition:transform .14s ease,background .14s ease,border-color .14s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--accent);color:#fff}.button-primary:hover:not(:disabled){background:#39424c}.button-secondary{border-color:var(--line);background:#fff;color:var(--ink)}.button-secondary:hover:not(:disabled){background:var(--soft)}.button-large{width:100%;min-height:54px;margin-top:18px;border-radius:15px;font-size:.95rem}.full-width{width:100%;margin-top:16px}.app-frame{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:max(12px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) 12px max(22px,env(safe-area-inset-left));border-bottom:1px solid rgba(229,233,237,.9);background:#f5f6f8d1;backdrop-filter:blur(14px)}.topbar-brand,.topbar-user,.chat-heading,.chat-actions,.sidebar-heading,.section-heading,.connect-input-row,.composer,.file-message,.call-actions{display:flex;align-items:center}.topbar-brand{gap:11px;min-width:0}.topbar-brand strong{font-size:.91rem;letter-spacing:-.02em}.topbar-user{gap:15px}.topbar-username{color:var(--muted);font-size:.75rem;font-weight:700}.status-pill{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:6px 9px;border-radius:99px;color:var(--muted);background:#ffffffb8;font-size:.65rem;font-weight:750;white-space:nowrap}.status-pill-connected{color:#27734f;background:#eff8f3}.status-pill-reconnecting,.status-pill-connecting{color:#996a25;background:#fcf6e9}.status-pill-error{color:#a94e4e;background:#fff1f1}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b2bbc4;box-shadow:0 0 0 3px #b2bbc41f}.status-connected{background:var(--green);box-shadow:0 0 0 3px #27a26921}.status-ready{background:var(--green)}.status-connecting,.status-reconnecting{background:var(--yellow);animation:status-pulse 1.5s ease-in-out infinite}.status-error{background:var(--red)}@keyframes status-pulse{50%{opacity:.45}}.workspace{display:grid;grid-template-columns:minmax(250px,310px) minmax(0,1fr);gap:clamp(14px,2vw,24px);width:min(100%,1480px);height:100%;min-height:0;flex:1;margin:0 auto;padding:clamp(14px,2vw,24px);overflow:hidden}.sidebar,.chat-pane{height:100%;min-height:0;border:1px solid var(--line);border-radius:23px;background:var(--panel);box-shadow:0 10px 30px #1e252d09}.sidebar{display:flex;flex-direction:column;gap:18px;padding:clamp(16px,2vw,22px)}.sidebar-heading{justify-content:space-between}.sidebar-heading h2{margin:5px 0 0;font-size:1.32rem;letter-spacing:-.045em}.avatar{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:13px;background:#e9edf0;color:#65707b;font-size:.95rem;font-weight:800}.avatar-connected{background:var(--ink);color:#fff}.avatar-muted{background:#f0f2f4;color:#abb3bb}.conversation-list{display:grid;flex:1 1 auto;grid-auto-rows:max-content;align-content:start;gap:5px;min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d9dee3 transparent}.conversation-item{position:relative;min-width:0}.conversation-select{display:flex;align-items:center;width:100%;gap:9px;min-width:0;padding:8px 43px 8px 9px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--ink);text-align:left}.conversation-select:hover{background:var(--soft)}.conversation-item-active .conversation-select{border-color:var(--line);background:#f8f9fa}.conversation-details{display:flex;align-items:center;flex:1;gap:7px;min-width:0}.conversation-details strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.conversation-details small{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--accent);color:#fff;font-size:.62rem;font-weight:800}.conversation-details>.status-dot{flex:0 0 auto}.conversation-clear{position:absolute;top:50%;right:7px;z-index:1;opacity:0;border-color:transparent;background:transparent;color:var(--muted);transform:translateY(-50%)}.conversation-item:hover .conversation-clear,.conversation-item-active .conversation-clear{opacity:1}.conversation-item .conversation-clear:hover:not(:disabled){border-color:#f1cccc;background:#fff6f6;color:var(--red);transform:translateY(-50%)}.app-version{margin:auto 2px 0;padding-top:2px;color:#65707b94;font-size:.64rem;font-weight:700;letter-spacing:.04em}.connect-card{padding:15px;border-radius:18px;background:#f7f8f9}.section-heading{justify-content:space-between;margin-bottom:17px}.section-heading h3{margin:0;font-size:.97rem;letter-spacing:-.025em}.connect-input-row{gap:8px}.connect-input-row input{flex:1;padding:11px 12px;font-size:.78rem}.icon-button{display:inline-grid;place-items:center;flex:0 0 auto;width:37px;height:37px;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:800;transition:background .14s ease,transform .14s ease,border-color .14s ease}.icon-button:hover:not(:disabled){border-color:#c5cbd1;background:var(--soft);transform:translateY(-1px)}.dark-button{border-color:var(--accent);background:var(--accent);color:#fff}.dark-button:hover:not(:disabled){background:#3c4650}.danger-button{border-color:#f1cccc;color:var(--red)}.small-button{width:30px;height:30px;border-radius:9px}.chat-pane{display:flex;flex-direction:column;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:75px;padding:15px clamp(16px,2.4vw,28px);border-bottom:1px solid var(--line)}.chat-heading{gap:11px;min-width:0}.chat-heading>div:last-child{min-width:0}.chat-heading h1{overflow:hidden;max-width:min(46vw,500px);margin:0 0 4px;font-size:clamp(.98rem,2vw,1.15rem);letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.chat-heading p{display:flex;align-items:center;gap:6px;margin:0;overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.chat-actions{gap:7px}.message-list{display:flex;flex:1 1 auto;flex-direction:column;gap:9px;min-height:0;margin:0;padding:clamp(18px,3vw,32px);overflow-y:auto;list-style:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d9dee3 transparent}.message-row,.message-system,.typing-indicator{content-visibility:auto;contain-intrinsic-size:72px}.message-row{display:flex;width:100%}.message-own{justify-content:flex-end}.message-other{justify-content:flex-start}.message-bubble{position:relative;max-width:min(76%,660px);padding:11px 14px 9px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 4px 12px #1f242b09}.message-own .message-bubble{border-color:var(--accent);background:var(--accent);color:#fff;border-bottom-right-radius:5px}.message-other .message-bubble{border-bottom-left-radius:5px}.message-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem;line-height:1.5}.message-bubble time{display:block;margin-top:2px;color:var(--faint);font-size:.58rem;line-height:1.1;text-align:right}.message-own .message-bubble time{color:#ffffff94}.message-system{align-self:center;padding:5px 12px;border-radius:99px;background:var(--soft);color:var(--muted);font-size:.67rem}.typing-indicator{display:flex;align-items:center;gap:4px;align-self:flex-start;padding:6px 10px;color:var(--muted);font-size:.67rem}.typing-indicator span{width:5px;height:5px;border-radius:50%;background:#aeb6be;animation:typing-bounce 1s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.12s}.typing-indicator span:nth-child(3){animation-delay:.24s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.empty-state{display:grid;place-items:center;align-content:center;min-height:100%;margin:auto;padding:30px 20px;color:var(--muted);text-align:center}.empty-state h2{margin:16px 0 7px;color:var(--ink);font-size:clamp(1.2rem,3vw,1.65rem);letter-spacing:-.045em}.empty-state-no-conversation{gap:16px}.empty-state-no-conversation h2{margin:0;opacity:.15}.empty-state p{max-width:330px;margin:0 0 20px;font-size:.78rem;line-height:1.6}.empty-state-connected{min-height:260px}.empty-state-card{display:grid;justify-items:center;width:min(100%,280px);padding:24px 30px 21px;background:transparent;opacity:.15}.empty-state-card h2{margin:14px 0 0}.large-avatar{width:58px;height:58px;border-radius:19px;font-size:1.25rem}.composer-wrap{position:relative;flex:0 0 auto;padding:12px clamp(13px,2.2vw,26px) max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.composer{gap:7px;min-height:51px;padding:6px;border:1px solid var(--line);border-radius:17px;background:#fafbfc}.composer-button{width:36px;height:36px;border:0;background:transparent;color:var(--muted)}.composer-button:hover:not(:disabled){background:#eceff1}.message-input{flex:1 1 auto;width:auto;border:0;border-radius:10px;background:transparent;box-shadow:none;font-size:.85rem}.message-input:focus{box-shadow:none}.send-button{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;padding:0;border:0;border-radius:12px;background:var(--accent);color:#fff;font-size:1rem;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.send-button:hover:not(:disabled){background:#3b4650}.notice{position:absolute;right:22px;bottom:calc(100% + 10px);z-index:4;max-width:min(85vw,360px);margin:0;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);color:var(--ink);font-size:.72rem}.transfer-card{margin:0 0 8px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfbfc}.transfer-copy{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.68rem}.transfer-copy strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.progress-track{height:5px;margin-top:8px;overflow:hidden;border-radius:99px;background:#e7eaed}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .12s linear}.image-message{display:block;max-width:min(380px,100%);padding:0;border:0;border-radius:12px;background:transparent;color:inherit;text-align:left;overflow:hidden}.image-message img{display:block;width:100%;height:auto;max-height:min(42dvh,360px);object-fit:contain;border-radius:11px;background:var(--soft)}.image-message span{display:block;margin-top:7px;font-size:.69rem;overflow-wrap:anywhere}.file-message{gap:10px;min-width:min(230px,100%);max-width:360px}.file-icon{display:grid;place-items:center;flex:0 0 auto;width:35px;height:35px;border-radius:11px;background:var(--soft);color:var(--muted)}.message-own .file-icon{background:#ffffff24;color:#fff}.file-details{display:grid;flex:1;min-width:0;gap:3px}.file-details strong{overflow:hidden;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.file-details small{color:var(--muted);font-size:.62rem}.message-own .file-details small{color:#fff9}.expired-file{display:flex;align-items:center;gap:8px;max-width:250px;color:var(--muted);font-size:.7rem}.sidebar-backdrop{display:none}.call-incoming{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#f5f6f8c7;backdrop-filter:blur(14px);animation:call-fade-in .22s cubic-bezier(.22,1,.36,1) both}.call-incoming.call-closing{pointer-events:none;animation:call-fade-out .22s ease both}.call-incoming-card{width:min(100%,390px);padding:30px 24px;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:#fff;box-shadow:var(--shadow);text-align:center}.call-incoming-card h2{margin:9px 0;font-size:1.25rem;letter-spacing:-.04em}.call-incoming-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}.call-overlay{position:fixed;inset:0;z-index:18;overflow:hidden;padding:0;background:#000;animation:call-fade-in .22s cubic-bezier(.22,1,.36,1) both}.call-overlay.call-closing{pointer-events:none;animation:call-fade-out .22s ease both}.call-stage{position:relative;width:100%;height:100%;min-height:100dvh;overflow:hidden;background:#000}.remote-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border:0;border-radius:0;background:#000;box-shadow:none}.remote-video-cover{object-fit:cover}.call-stage-ready .call-waiting{display:none}.video-pip{position:absolute;z-index:1;width:clamp(112px,18vw,250px);aspect-ratio:16 / 10;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:#15181c;object-fit:cover;box-shadow:0 12px 32px #00000052}.remote-camera-video{top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}.local-screen-video{bottom:max(90px,calc(env(safe-area-inset-bottom) + 76px));left:max(18px,env(safe-area-inset-left))}.local-camera-video{right:max(18px,env(safe-area-inset-right));bottom:max(90px,calc(env(safe-area-inset-bottom) + 76px))}.call-waiting{position:absolute;inset:0;display:grid;place-items:center}.call-notice{position:absolute;top:max(22px,env(safe-area-inset-top));left:50%;z-index:2;max-width:min(92vw,420px);padding:10px 14px;transform:translate(-50%);border:1px solid var(--line);border-radius:12px;background:#fffffff0;box-shadow:var(--shadow);color:var(--ink);font-size:.75rem;font-weight:700;text-align:center}.call-waiting .status-pill{padding:10px 14px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.call-toolbar{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:50%;display:flex;gap:7px;transform:translate(-50%);padding:7px;border:1px solid var(--line);border-radius:18px;background:#ffffffeb;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.round-action{position:relative;display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--line);border-radius:50%;background:var(--soft);color:var(--ink);font-size:1rem;transition:background .14s ease,border-color .14s ease,transform .14s ease}.round-action:hover{border-color:#c5cbd1;background:#fff;transform:translateY(-1px)}.round-action:disabled{cursor:not-allowed;opacity:.86}.round-action-off{border-color:#efb2b5;background:#fff0f1;color:var(--red)}.round-action-unavailable{background:#fff;color:var(--muted)}.round-action-unavailable:after{position:absolute;width:2px;height:29px;border-radius:2px;background:var(--red);content:"";transform:rotate(45deg)}.round-action-share{border-color:#c5ddef;background:#e7f1fa;color:#2e6e9f}.accept-action{border-color:var(--green);background:var(--green);color:#fff}.reject-action{border-color:var(--red);background:var(--red);color:#fff}.avatar-call{width:68px;height:68px;margin:0 auto 18px;border-radius:23px;background:var(--ink);color:#fff;font-size:1.5rem}.call-actions{justify-content:center;gap:22px;margin-top:24px}@keyframes call-fade-in{0%{opacity:0}to{opacity:1}}@keyframes call-fade-out{0%{opacity:1}to{opacity:0}}.lightbox{position:fixed;inset:0;z-index:25;display:grid;place-items:center;overflow:hidden;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#14181cf0}.lightbox img{display:block;width:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:12px}.lightbox-close{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));background:#ffffff24;color:#fff}@supports (-webkit-touch-callout: none){.message-row,.message-system,.typing-indicator{content-visibility:visible;contain-intrinsic-size:auto}.send-button{position:relative;z-index:1;isolation:isolate;overflow:hidden}}@media(max-width:900px){.workspace{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.sidebar{padding:16px}.topbar-username{display:inline-block;max-width:28vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-bubble{max-width:84%}}@media(max-width:900px){.mobile-only{display:inline-grid!important}.topbar{min-height:62px;padding-right:14px;padding-left:14px}.topbar-brand{gap:8px}.topbar-user .status-pill{padding:5px 7px;font-size:.6rem}.workspace{position:relative;display:block;width:100%;height:100%;padding:9px;overflow:hidden;touch-action:pan-y}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:12;width:min(86vw,330px);border-radius:0 22px 22px 0;transform:translate3d(-105%,0,0);transition:transform .24s cubic-bezier(.22,1,.36,1);will-change:transform;backface-visibility:hidden;overflow-y:auto}.workspace-panel-open .sidebar{transform:translateZ(0)}.conversation-clear{opacity:1}.sidebar-backdrop{position:fixed;inset:0;z-index:11;display:block;border:0;background:#1f242b47;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility 0s linear .24s;will-change:opacity}.sidebar-backdrop-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.chat-pane{height:100%;min-height:0;border-radius:19px}.chat-header{min-height:66px;padding:11px 13px}.chat-heading h1{max-width:52vw;font-size:.95rem}.chat-heading p{font-size:.64rem}.chat-actions{gap:3px}.chat-actions .icon-button{width:34px;height:34px}.message-list{min-height:0;padding:18px 12px 28px}.message-input,.connect-input-row input,.login-form input{font-size:16px}.message-bubble{max-width:89%;padding:10px 12px 8px}.message-bubble p{font-size:.84rem}.composer-wrap{padding:13px 9px max(10px,env(safe-area-inset-bottom))}.composer{min-height:49px;gap:7px}.composer-button{width:33px;height:33px}.send-button{width:35px;height:35px}}@media(max-width:420px){.login-page{padding-right:12px;padding-left:12px}.login-card{border-radius:24px;padding:31px 18px}.login-card h1{font-size:2rem}.topbar{gap:7px}.topbar-brand strong{font-size:.82rem}.topbar-user .status-pill{max-width:95px;overflow:hidden;text-overflow:ellipsis}.chat-heading .avatar{width:34px;height:34px;border-radius:11px}.chat-heading h1{max-width:42vw}.chat-heading p{max-width:43vw}.message-list{gap:7px;padding-right:8px;padding-left:8px}.message-bubble{max-width:93%}.message-bubble time{font-size:.54rem}.call-incoming-card{padding:25px 17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
