:root{color:#17191d;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}html,body,#root{width:100%;height:100%;overflow:hidden}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}input,select{width:100%;min-height:44px;border:1px solid #cdd5e1;border-radius:8px;background:#fff;color:#17191d;padding:0 12px;outline:none}input:focus,select:focus{border-color:#159a7d;box-shadow:0 0 0 3px #159a7d24}.home-shell,.lobby-shell,.call-shell{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}.home-shell{display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(43,211,164,.14),transparent 38%),linear-gradient(315deg,rgba(229,155,72,.18),transparent 34%),#f5f7fb}.dashboard-shell{place-items:stretch;padding:0;background:#f5f7fb}.home-panel,.lobby-panel{border:1px solid #d8dee8;border-radius:8px;background:#fff;box-shadow:0 22px 60px #161d2614}.home-panel{width:min(100%,520px);padding:28px}.home-dashboard{width:min(100%,1040px);max-height:calc(100dvh - 48px);overflow:hidden}.home-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,.9fr);gap:14px;min-height:0}.home-card{display:grid;align-content:start;gap:14px;min-height:0;border:1px solid #d8dee8;border-radius:8px;background:#f8fafc;padding:16px}.home-card h2{margin:0;font-size:1rem}.home-card p{margin:2px 0 0;color:#687283;font-size:.85rem;font-weight:700}.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:24px}.brand-row h1{margin:0;font-size:1.65rem;line-height:1.1}.brand-row p{margin:3px 0 0;color:#687283;font-size:.9rem;font-weight:700}.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;background:#17191d;color:#2bd3a4}.home-actions,.join-form{display:grid;gap:12px}.join-form{grid-template-columns:1fr auto}.join-form button,.secondary-action,.icon-button,.control-button,.leave-button{min-height:44px;border-radius:8px;border:1px solid #cdd5e1;background:#fff;color:#17191d;padding:0 14px}.primary-action{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:9px;border-radius:8px;background:#159a7d;color:#fff;padding:0 18px;font-weight:750}.secondary-action{font-weight:700}.error-text{margin:12px 0 0;color:#b42318;font-size:.92rem}.auth-panel{display:grid;gap:12px}.auth-panel label{display:grid;gap:6px;color:#596171;font-size:.84rem;font-weight:800}.auth-panel.compact{gap:10px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-tabs button,.lobby-auth-strip button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;border-radius:8px;border:1px solid #cdd5e1;background:#fff;color:#17191d;font-weight:800}.auth-tabs button.active{border-color:#159a7d73;background:#eefbf7;color:#0f735f}.input-with-icon{position:relative;display:grid;align-items:center}.input-with-icon svg{position:absolute;left:12px;color:#687283;pointer-events:none}.input-with-icon input{padding-left:38px}.signed-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#17191d;color:#2bd3a4}.chat-dashboard{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(100%,1180px);height:calc(100dvh - 48px);padding:18px}.dashboard-shell .chat-dashboard{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;box-shadow:none}.chat-dashboard .brand-row{margin-bottom:16px}.overview-shell{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:0;overflow:hidden;border:1px solid #d8dee8;border-radius:8px;background:#fff}.overview-sidebar{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border-right:1px solid #d8dee8;background:#f8fafc}.overview-account,.overview-list-header,.overview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.overview-account{padding:14px;border-bottom:1px solid #e3e8ef}.overview-account>div:nth-child(2){min-width:0}.overview-account strong,.overview-account span,.overview-list-header strong,.overview-list-header span,.overview-chat-button span,.overview-toolbar strong,.overview-toolbar small{display:block}.overview-account strong,.overview-list-header strong,.overview-toolbar strong{overflow:hidden;color:#17191d;font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.overview-account span,.overview-list-header span,.overview-toolbar small{overflow:hidden;color:#687283;font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.overview-start{display:grid;gap:10px;padding:14px;border-bottom:1px solid #e3e8ef}.overview-list-header{padding:12px 14px}.overview-list{display:grid;align-content:start;gap:6px;min-height:0;overflow-y:auto;padding:0 8px 10px}.overview-chat-button{display:grid;gap:6px;width:100%;min-height:92px;align-content:center;border:1px solid transparent;border-radius:8px;background:transparent;color:#17191d;padding:12px;text-align:left}.overview-chat-button:hover,.overview-chat-button.active{border-color:#d8dee8;background:#fff;box-shadow:0 8px 24px #161d260f}.overview-chat-button.active{border-color:#159a7d6b;background:#eefbf7}.overview-chat-row,.overview-chat-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.overview-chat-row strong{min-width:0;overflow:hidden;font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.overview-chat-row time,.overview-chat-meta{color:#687283;font-size:.72rem;font-weight:700;white-space:nowrap}.overview-chat-preview{overflow:hidden;color:#3f4754;font-size:.82rem;font-weight:700;line-height:1.32;text-overflow:ellipsis;white-space:nowrap}.overview-main{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;background:#eef3f7}.overview-toolbar{min-height:78px;padding:14px 16px;border-bottom:1px solid #d8dee8;background:#fff}.overview-toolbar>div:first-child{min-width:0}.overview-toolbar-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.overview-transcript{display:flex;min-height:0;flex-direction:column;gap:8px;overflow-y:auto;padding:18px;background:linear-gradient(135deg,rgba(21,154,125,.04),transparent 34%),linear-gradient(315deg,rgba(229,155,72,.05),transparent 28%),#eef3f7}.overview-transcript .message-bubble{max-width:min(74%,560px)}.overview-chat-input{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:10px;padding:12px 14px;border-top:1px solid #d8dee8;background:#fff}.overview-chat-input button{display:grid;min-width:44px;min-height:44px;place-items:center;border-radius:8px;background:#159a7d;color:#fff}.overview-empty{display:grid;min-height:0;place-items:center;align-content:center;gap:8px;padding:20px;color:#687283;text-align:center}.overview-main>.overview-empty{grid-row:1 / -1}.overview-empty.compact{min-height:190px}.overview-empty strong{color:#17191d}.overview-empty span{max-width:280px;overflow:hidden;font-size:.86rem;font-weight:700}.active-badge{border-radius:999px;background:#e8fff5;color:#0f735f!important;padding:4px 8px}.lobby-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:18px;padding:18px;background:#17191d}.lobby-video{position:relative;min-height:0;overflow:hidden;border-radius:8px;background:#050608}.lobby-video video,.remote-frame video{width:100%;height:100%;object-fit:contain;background:#050608}.video-placeholder,.waiting-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#7c8797}.lobby-panel{display:grid;align-content:start;gap:12px;min-height:0;overflow:hidden;padding:18px}.lobby-auth-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d8dee8;border-radius:8px;background:#f8fafc;padding:8px}.lobby-auth-strip span{color:#596171;font-size:.78rem;font-weight:800}.lobby-auth-strip button{min-height:32px;padding:0 10px}.lobby-panel label{display:grid;gap:7px;color:#596171;font-size:.86rem;font-weight:700}.room-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d8dee8;border-radius:8px;padding:10px 10px 10px 14px;background:#f5f7fb}.room-chip span{font-size:1.05rem;font-weight:800;letter-spacing:0}.room-chip button,.icon-only{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border-radius:8px;background:#fff;color:#17191d;border:1px solid #cdd5e1;padding:0 10px}.lobby-footer,.call-controls,.language-row{display:flex;align-items:center;gap:10px}.lobby-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lobby-controls button,.call-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700}.lobby-device-button{width:100%;min-width:0;border-color:#cdd5e1;background:#fff;color:#17191d}.device-summary{margin:-6px 0 0;color:#687283;font-size:.84rem;font-weight:700}.lobby-footer{justify-content:flex-end;margin-top:4px}.lobby-footer .primary-action{width:100%}.call-shell{display:grid;grid-template-columns:360px minmax(0,1fr);background:#101114;transition:grid-template-columns .22s ease}.call-shell.chat-collapsed{grid-template-columns:0 minmax(0,1fr)}.chat-sidebar{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;height:100dvh;min-height:0;overflow:hidden;border-right:1px solid #d8dee8;background:#fff;min-width:0;transition:opacity .18s ease,transform .22s ease,border-color .18s ease}.chat-sidebar.closed{border-right-color:transparent;opacity:0;pointer-events:none;transform:translate(-14px)}.chat-header,.stage-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-header{padding:18px;border-bottom:1px solid #e3e8ef}.chat-header-actions{position:relative;display:flex;align-items:center;gap:8px}.chat-header strong,.stage-topbar strong{display:block;margin-top:2px;font-size:1rem}.chat-header small{display:block;margin-top:3px;color:#687283;font-size:.74rem;font-weight:800}.language-menu-wrapper{position:relative}.icon-only.active{border-color:#159a7d73;background:#eefbf7;color:#0f735f}.language-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:12;display:grid;min-width:148px;gap:4px;border:1px solid #d8dee8;border-radius:8px;background:#fff;padding:6px;box-shadow:0 18px 44px #161d2629}.language-menu button{min-height:36px;border-radius:6px;background:transparent;color:#17191d;padding:0 10px;text-align:left;font-weight:800}.language-menu button:hover,.language-menu button.active{background:#eefbf7;color:#0f735f}.eyebrow{display:block;color:#687283;font-size:.74rem;font-weight:800;text-transform:uppercase}.language-row{padding:12px 18px;border-bottom:1px solid #e3e8ef;color:#159a7d}.message-list{display:flex;flex-direction:column;gap:7px;min-height:0;overflow-y:auto;padding:14px 12px;background:linear-gradient(135deg,rgba(21,154,125,.045),transparent 34%),linear-gradient(315deg,rgba(229,155,72,.055),transparent 28%),#eef3f7}.empty-chat{display:grid;min-height:140px;place-items:center;border:1px dashed #cdd5e1;border-radius:8px;color:#687283}.message-bubble{display:grid;gap:6px;width:fit-content;min-width:104px;max-width:min(90%,306px);padding:9px 11px 6px;border:1px solid rgba(205,213,225,.62);background:#fff;box-shadow:0 1px 2px #161d2614}.message-bubble.theirs{align-self:flex-start;border-radius:8px 8px 8px 2px}.message-bubble.mine{align-self:flex-end;border-color:#60a5fa52;border-radius:8px 8px 2px;background:#dceeff}.message-original,.message-translation,.message-meta,.message-time{margin:0}.message-original{color:#17191d;font-size:.95rem;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.message-translation{border-radius:4px;background:#68728314;color:#596171;font-size:.8rem;font-weight:650;line-height:1.3;overflow-wrap:anywhere;padding:5px 7px}.message-meta{display:flex;min-height:16px;align-items:center;justify-content:flex-end;gap:3px}.message-time{color:#7c8797;font-size:.7rem;font-weight:700;line-height:1}.message-receipt{display:inline-grid;width:17px;height:15px;place-items:center;line-height:0}.message-receipt.sent{color:#8a94a5}.message-receipt.read{color:#159a7d}.chat-input{display:grid;grid-template-columns:1fr 48px;gap:10px;padding:14px;border-top:1px solid #e3e8ef}.chat-input button,.icon-only{min-width:44px}.chat-input button{display:grid;place-items:center;border-radius:8px;background:#159a7d;color:#fff}.video-stage{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;min-height:0;overflow:hidden;color:#fff}.reopen-chat-button{position:absolute;top:14px;left:14px;z-index:8;display:inline-flex;min-height:42px;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#101114c2;color:#fff;padding:0 12px;font-weight:850;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 14px 36px #00000047}.reopen-chat-button span{display:grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:#2bd3a4;color:#07110e;font-size:.74rem}.floating-message-stack{position:absolute;top:70px;left:14px;z-index:8;display:grid;width:min(360px,calc(100vw - 28px));gap:10px;pointer-events:none}.floating-message{display:grid;gap:7px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#f8fafcf0;color:#17191d;padding:12px;box-shadow:0 18px 42px #0000004d;animation:floatingMessageLife 5s ease forwards;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.floating-message div{display:flex;align-items:center;gap:7px;color:#0f735f}.floating-message p,.floating-message small{margin:0;overflow:hidden;text-overflow:ellipsis}.floating-message p{color:#17191d;font-weight:800;line-height:1.35;white-space:nowrap}.floating-message small{color:#687283;font-weight:750;line-height:1.35;white-space:nowrap}@keyframes floatingMessageLife{0%{opacity:0;transform:translateY(-8px) scale(.98)}8%{opacity:1;transform:translateY(0) scale(1)}88%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}.stage-topbar{padding:16px 18px;background:#101114f5}.chat-collapsed .stage-topbar{padding-left:118px}.stage-topbar .eyebrow{color:#a6afbd}.leave-button{display:inline-flex;align-items:center;gap:8px;border-color:#ffffff24;background:#ffffff14;color:#fff;font-weight:750}.remote-frame{position:relative;min-height:0;overflow:hidden;background:#050608}.video-pane{position:relative;min-width:0;min-height:0;overflow:hidden;background:#050608}.video-pane video{width:100%;height:100%;object-fit:contain;background:#050608}.video-layout-pip .video-pane{position:absolute;top:0;right:0;bottom:0;left:0}.video-split-grid{display:grid;width:100%;height:100%;min-height:0;background:#050608}.video-layout-side-by-side .video-split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-layout-stacked .video-split-grid{grid-template-rows:repeat(2,minmax(0,1fr))}.video-layout-side-by-side .remote-pane{border-right:1px solid rgba(255,255,255,.12)}.video-layout-stacked .remote-pane{border-bottom:1px solid rgba(255,255,255,.12)}.waiting-frame{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(43,211,164,.12),transparent 34%),#050608}.local-tile{position:absolute;right:18px;bottom:18px;width:min(220px,26vw);aspect-ratio:16 / 10;overflow:hidden;border:1px solid rgba(255,255,255,.26);border-radius:8px;background:#050608;box-shadow:0 18px 42px #00000059}.local-tile video{width:100%;height:100%;object-fit:cover}.call-controls{display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);justify-content:initial;padding:14px 18px 18px;background:#101114f5}.call-media-controls,.layout-controls{display:flex;align-items:center;gap:10px}.call-media-controls{grid-column:2;justify-self:center}.layout-controls{grid-column:3;justify-self:end}.control-button{min-width:128px;border-color:#ffffff24;background:#ffffff1a;color:#fff}.layout-button{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff1a;color:#fff}.layout-button.active{border-color:#2bd3a499;background:#2bd3a42e;color:#2bd3a4}.lobby-controls .lobby-device-button{border-color:#cdd5e1;background:#fff;color:#17191d}.auth-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#0506089e;padding:18px}.auth-modal-panel{display:grid;gap:14px;width:min(100%,420px);border-radius:8px;background:#fff;padding:18px;box-shadow:0 22px 70px #00000047}@media(max-width:860px){.home-dashboard{max-height:calc(100dvh - 24px);padding:18px}.home-grid{grid-template-columns:1fr}.chat-dashboard{height:calc(100dvh - 24px)}.overview-shell{grid-template-columns:1fr;grid-template-rows:minmax(270px,42dvh) minmax(0,1fr)}.overview-sidebar{border-right:0;border-bottom:1px solid #d8dee8}.overview-transcript .message-bubble{max-width:min(88%,520px)}.lobby-shell,.call-shell{grid-template-columns:1fr}.call-shell{grid-template-rows:minmax(0,54dvh) minmax(0,46dvh)}.lobby-shell{grid-template-rows:minmax(130px,28dvh) minmax(0,1fr)}.lobby-video{min-height:0}.lobby-panel{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.lobby-footer{position:sticky;bottom:0;margin:0 -18px -18px;padding:10px 18px 18px;background:linear-gradient(to top,#fff 82%,#fff0)}.chat-sidebar{order:2;height:auto;min-height:0;border-right:0;border-bottom:1px solid #d8dee8}.chat-sidebar.closed{transform:translateY(14px)}.video-stage{order:1;height:auto;min-height:0}.call-shell.chat-collapsed{grid-template-rows:100dvh 0}.call-shell.chat-collapsed .chat-sidebar{height:0}.call-shell.chat-collapsed .video-stage{height:100dvh}.local-tile{width:min(168px,38vw);right:12px;bottom:12px}}@media(max-width:520px){.home-panel{padding:20px}.lobby-shell{grid-template-rows:minmax(104px,22dvh) minmax(0,1fr);gap:10px;padding:10px}.lobby-panel{gap:10px;padding:12px}.join-form,.lobby-footer{grid-template-columns:1fr}.join-form{display:grid}.lobby-footer{display:grid;margin:0 -12px -12px;padding:8px 12px 12px}.call-controls{grid-template-columns:1fr;gap:10px}.lobby-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.call-media-controls,.layout-controls{grid-column:1;justify-content:center;justify-self:stretch}.call-media-controls .control-button{min-width:0;flex:1 1 0}.control-button,.icon-button{width:100%}.layout-button{width:44px;flex:0 0 44px}.floating-message-stack{top:64px}.chat-dashboard{padding:12px}.overview-shell{grid-template-rows:minmax(300px,44dvh) minmax(0,1fr)}.overview-account,.overview-toolbar{align-items:stretch;flex-direction:column}.overview-account{gap:10px}.overview-account .icon-only{align-self:start}.overview-toolbar-actions{width:100%;flex-wrap:wrap}.overview-toolbar-actions .primary-action{flex:1 1 160px}.overview-transcript{padding:12px}.lobby-auth-strip{align-items:stretch;flex-direction:column}}
