:root{--bg: oklch(.16 .01 260);--panel: oklch(.2 .01 260);--panel-2: oklch(.24 .01 260);--line: oklch(.28 .01 260);--text: oklch(.92 .01 260);--muted: oklch(.65 .02 260);--muted-2: oklch(.6 .02 260);--accent: oklch(.45 .16 259);--mine: var(--accent);--theirs: oklch(.26 .04 259);--active-row-bg: oklch(.27 .05 259);--avatar-muted: oklch(.5 .03 259);--success: oklch(.72 .19 145);--danger-muted: oklch(.55 .16 25);--chart-1: oklch(.62 .15 259);--chart-2: oklch(.7 .13 175);--chart-3: oklch(.75 .14 90);--chart-4: oklch(.68 .16 330);--chart-5: oklch(.66 .14 30);--tick-delivered: rgba(15, 23, 42, .6);--tick-read: #7dd3fc;--call-bar-h: 4.875rem;--radius-bubble: 18px;--radius-pill: 22px;--radius-row: 12px;--android-inset-top: 0px;--android-inset-bottom: 0px;--android-inset-left: 0px;--android-inset-right: 0px;--safe-top: max(env(safe-area-inset-top, 0px), var(--android-inset-top));--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--android-inset-bottom));--safe-left: max(env(safe-area-inset-left, 0px), var(--android-inset-left));--safe-right: max(env(safe-area-inset-right, 0px), var(--android-inset-right));color-scheme:dark}:root[data-theme=light]{--bg: oklch(.985 .004 80);--panel: #ffffff;--panel-2: oklch(.96 .004 80);--line: oklch(.92 .004 80);--text: oklch(.2 .01 260);--muted: oklch(.55 .01 260);--muted-2: oklch(.6 .01 260);--theirs: oklch(.95 .02 259);--active-row-bg: oklch(.94 .03 259);--avatar-muted: oklch(.6 .03 259);--tick-delivered: rgba(15, 23, 42, .65);--tick-read: #bae6fd;--chart-1: oklch(.55 .16 259);--chart-2: oklch(.56 .13 175);--chart-3: oklch(.62 .14 90);--chart-4: oklch(.56 .17 330);--chart-5: oklch(.57 .15 30);color-scheme:light}*{box-sizing:border-box}.contacts,.messages,.call-debug-body,.composer textarea{scrollbar-width:none;-ms-overflow-style:none}.contacts::-webkit-scrollbar,.messages::-webkit-scrollbar,.call-debug-body::-webkit-scrollbar,.composer textarea::-webkit-scrollbar{display:none;width:0;height:0;background:transparent}html,body{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}#root{height:100dvh;overflow:hidden}body{font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}input,button{font:inherit}.center{height:100%;display:grid;place-items:center;padding:1rem;padding-bottom:calc(1rem + var(--safe-bottom))}.muted{color:var(--muted)}.pad{padding:1rem}.error{color:var(--danger-muted);font-size:.9em}.link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0}.boot-failed{text-align:center;gap:.75rem;align-content:center}.boot-failed-detail{font-size:.85em;max-width:30rem;overflow-wrap:anywhere}.boot-failed-actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.boot-failed-actions button.secondary{background:var(--panel-2);border:1px solid var(--line);color:var(--text)}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.5rem}.login{display:flex;flex-direction:column;gap:.75rem;width:min(340px,90vw)}.login h1{margin:0 0 .5rem;text-align:center}.login input{padding:.7rem .85rem;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text)}.login button{padding:.7rem;border-radius:10px;border:none;background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:default}.layout{height:100%;display:grid;grid-template-columns:250px 1fr;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;min-height:0;min-width:0}.sidebar-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);padding-top:calc(.85rem + var(--safe-top));padding-left:calc(1rem + var(--safe-left))}.sidebar-head>div{min-width:0}.me{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{font-size:.8em;color:var(--muted);display:flex;align-items:center;gap:.35rem}.status .dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.status.online .dot{background:var(--success)}.status.connecting .dot{background:#eab308}.status.offline .dot{background:var(--danger-muted)}.sidebar-head-actions{display:flex;align-items:center;gap:.9rem}.icon-btn{width:32px;height:32px;border-radius:50%;border:none;cursor:pointer;background:var(--panel-2);color:var(--muted);display:grid;place-items:center;flex-shrink:0;padding:0}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0006;display:flex;align-items:center;justify-content:center;padding:1.5rem}.settings-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px #00000059;width:min(420px,100%);max-height:min(640px,90vh);--sp-top: .85rem;--sp-left: 1.1rem;--sp-right: 1.1rem;padding:var(--sp-top) var(--sp-right) 1.1rem var(--sp-left);display:flex;flex-direction:column;gap:.75rem;overflow-y:auto}.settings-head{display:flex;align-items:center;gap:.5rem;margin:calc(-1 * var(--sp-top)) calc(-1 * var(--sp-right)) 0 calc(-1 * var(--sp-left));padding:var(--sp-top) var(--sp-right) .5rem var(--sp-left);border-bottom:1px solid var(--line);position:sticky;top:calc(-1 * var(--sp-top));z-index:1;background:var(--panel)}.settings-head-title{font-weight:700;flex:1}.settings-back{display:none;padding:0}.settings-x{display:flex;padding:.2rem}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.settings-row-column{flex-direction:column;align-items:stretch}.settings-row-column button{align-self:flex-start}.settings-title{font-weight:600;font-size:.9em}.settings-sub{font-size:.8em;margin-top:.15rem}.settings-grow{flex:1;min-width:0}.settings-row-stack{flex-direction:column;align-items:stretch}.settings-row-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.settings-progress{margin-top:.4rem;width:100%;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.settings-progress-bar{height:100%;background:var(--accent);border-radius:2px;transition:width .15s linear}.update-banner{padding:.5rem .75rem;border-bottom:1px solid var(--line);background:var(--panel-2)}.update-banner-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.update-banner-text{font-size:.8em;color:var(--muted);min-width:0}.settings-section{text-transform:uppercase;letter-spacing:.05em;font-size:.7em;font-weight:700;color:var(--muted);padding-top:.75rem;margin-top:.1rem;border-top:1px solid var(--line)}.settings-section:first-child{padding-top:0;border-top:none}.settings-count{color:var(--muted);font-weight:500}.settings-confirm{display:flex;align-items:center;gap:.6rem;font-size:.85em}.share-preview{display:flex;flex-direction:column;gap:.5rem;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-bubble);padding:.6rem}.share-preview-img{max-height:180px;width:100%;object-fit:contain;border-radius:calc(var(--radius-bubble) - .3rem)}.share-preview-file{display:flex;align-items:center;gap:.5rem;font-size:.9em}.share-preview-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-text{background:none;border:none;color:var(--text);resize:none;font:inherit;padding:0;outline:none;width:100%}.share-contacts{flex:1;min-height:0;overflow-y:auto}.share-error{color:var(--danger-muted);font-size:.9em}.avatar-crop-panel{width:auto;align-items:center}.avatar-crop-stage{position:relative;overflow:hidden;touch-action:none;cursor:grab;background:var(--panel-2);border-radius:var(--radius-bubble)}.avatar-crop-stage:active{cursor:grabbing}.avatar-crop-img{position:absolute;-webkit-user-select:none;user-select:none;max-width:none}.avatar-crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:var(--radius-bubble);background:#00000073;-webkit-mask:radial-gradient(circle at 50% 50%,transparent 49.5%,#000 50%);mask:radial-gradient(circle at 50% 50%,transparent 49.5%,#000 50%)}.avatar-crop-zoom,.avatar-crop-actions{width:100%}.settings-avatar-row{gap:.85rem}.settings-avatar{width:56px;height:56px;font-size:1.5em;background:var(--accent)}.settings-avatar-actions{display:flex;gap:.75rem;margin-left:auto}.profile-identity{display:flex;align-items:center;gap:.85rem;padding:.5rem 0 .75rem}.profile-avatar{width:64px;height:64px;background:var(--accent);font-size:1.7em}.profile-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:.2rem}.profile-name{font-weight:700;font-size:1.15em;word-break:break-word}.profile-username{font-size:.85em}.profile-status{font-size:.8em}.profile-identity .chat-head-calls{gap:20px}.settings-row-column .profile-remove{margin-inline:auto;color:var(--danger-muted)}.profile-remove-confirm{flex-direction:column;align-items:center;gap:.5rem;text-align:center}.media-section{gap:.6rem}.media-section-head{display:flex;align-items:center;gap:.4rem}.media-count{background:var(--panel-2);border-radius:var(--radius-pill);padding:0 .4rem;font-size:.9em}.media-empty{font-size:.85em;padding:.2rem 0}.media-grid{display:grid;gap:4px;grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.media-tile{position:relative;aspect-ratio:1;padding:0;border:none;cursor:pointer;background:var(--panel-2);border-radius:8px;overflow:hidden}.media-tile img{width:100%;height:100%;object-fit:cover;display:block}.media-tile-loading{display:block;width:100%;height:100%;background:var(--avatar-muted);opacity:.35}.settings-row-column .media-more{align-self:center;font-size:.85em}.settings-row select{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-row);color:var(--text);font-size:.85em;padding:.5rem .7rem;max-width:55%}.settings-row select:disabled{opacity:.5}.settings-row-column .settings-collapsible-head{align-self:stretch;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:0;cursor:pointer;color:var(--text);text-align:left}.settings-collapsible-chevron{transform:rotate(180deg);transition:transform .15s ease;color:var(--muted);flex-shrink:0}.settings-collapsible-chevron.open{transform:rotate(-90deg)}.theme-picker{display:flex;gap:.4rem;background:var(--panel-2);border-radius:var(--radius-pill);padding:.2rem}.theme-picker .link{padding:.3rem .7rem;border-radius:var(--radius-pill);color:var(--muted);font-size:.85em}.theme-picker .link.active{background:var(--accent);color:#fff}.add-contact{display:flex;gap:.5rem;padding:.7rem 1rem;border-bottom:1px solid var(--line);flex-shrink:0;padding-left:calc(1rem + var(--safe-left))}.add-contact input{flex:1;min-width:0;padding:.5rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text)}.add-contact button{border-radius:10px;padding:.5rem .8rem;flex-shrink:0}.pad-x{padding:0 1rem .5rem}.sidebar-version{flex-shrink:0;text-align:center;font-size:.75rem;padding:8px 10px calc(8px + var(--safe-bottom))}.contacts{list-style:none;margin:0;padding:6px 10px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-bottom:calc(6px + var(--safe-bottom));display:flex;flex-direction:column;gap:4px}.contacts li{display:flex;align-items:center;gap:12px;padding:10px;cursor:pointer;border-radius:var(--radius-row);padding-left:calc(10px + var(--safe-left))}.contacts li:hover{background:var(--panel-2)}.contacts li.active{background:var(--active-row-bg)}.contacts li.active .contact-name{font-weight:700;color:var(--text)}.contacts li.active .avatar{background:var(--accent)}.contacts li.pending{cursor:default}.contact-name-col{flex:1;min-width:0;display:flex;flex-direction:column}.contact-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.contact-line{display:flex;align-items:center;gap:8px}.contact-line .contact-name{flex:1;min-width:0}.contact-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-preview{font-size:.85em;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contacts li.active .contact-preview{color:var(--text);opacity:.75}.contact-preview.mine{font-style:italic}.contact-meta{flex-shrink:0;display:flex;align-items:center;gap:6px}.contact-time{font-size:.7em;color:var(--muted-2)}.contacts li.active .contact-time{color:var(--accent);font-weight:700}.contact-pin{display:flex;color:var(--muted-2)}.contacts li.active .contact-pin{color:var(--accent)}.contact-menu-wrap{position:relative;flex-shrink:0;margin-left:-4px}.contact-menu-btn{background:none;border:none;color:var(--muted);cursor:pointer;display:flex;line-height:1;padding:.3rem .2rem;opacity:0}.contacts li:hover .contact-menu-btn,.contact-menu-wrap:focus-within .contact-menu-btn{opacity:1}@media(hover:none),(max-width:640px){.contact-menu-btn{opacity:1}}.contact-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:10;min-width:9rem;display:flex;flex-direction:column;padding:.25rem;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-row);box-shadow:0 8px 24px #0003}.contact-menu button{background:none;border:none;color:inherit;cursor:pointer;text-align:left;padding:.45rem .6rem;border-radius:6px;font-size:.9em}.contact-menu button:hover{background:var(--panel-2)}.contact-menu button.danger{color:var(--danger-muted)}.contact-menu-confirm{padding:.45rem .6rem .25rem;font-size:.85em}.pending-actions{display:flex;gap:.5rem;font-size:.85em;white-space:nowrap}.link.danger{color:var(--danger-muted)}.unread-badge{min-width:19px;height:19px;padding:0 5px;border-radius:50%;background:var(--accent);color:#fff;font-size:.65em;font-weight:700;display:grid;place-items:center}.avatar{width:32px;height:32px;border-radius:50%;background:var(--avatar-muted);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85em;flex-shrink:0;position:relative}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.avatar-dot{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 2px var(--bg)}.contacts li:hover .avatar-dot{box-shadow:0 0 0 2px var(--panel-2)}.contacts li.active .avatar-dot{box-shadow:0 0 0 2px var(--active-row-bg)}.chat{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--panel)}.chat-head{padding:18px 26px;border-bottom:1px solid var(--line);font-weight:700;display:flex;align-items:center;gap:.7rem;flex-shrink:0;padding-top:calc(18px + var(--safe-top));padding-left:calc(26px + var(--safe-left));padding-right:calc(26px + var(--safe-right))}.chat-head .avatar{width:34px;height:34px;background:var(--accent)}.chat-head-id{min-width:0;flex:0 1 auto;display:flex;align-items:center;gap:.7rem;background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;text-align:left;border-radius:var(--radius-row)}.chat-head-id:hover .chat-head-name{color:var(--accent)}.chat-head-id-text{min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:1px}.chat-head-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05em}.chat-head-sub{font-size:.72em;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:.3rem;min-width:0}.chat-head-sub-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-head-sub.online{color:var(--success)}.chat-head-dot{width:7px;height:7px;border-radius:50%;background:var(--success);flex-shrink:0}.chat-head-action{margin-left:auto;font-size:.75em;font-weight:500;white-space:nowrap}.chat-head-calls{margin-left:auto;display:flex;gap:16px;flex-shrink:0;color:var(--muted)}.chat-head-calls button{display:flex}.chat-head-calls button:disabled{opacity:.35}.chat-menu-wrap{position:relative;margin-left:auto}.chat-head-calls+.chat-menu-wrap{margin-left:16px}.chat-menu-btn{background:none;border:none;color:var(--muted);cursor:pointer;display:flex;line-height:1;padding:.2rem .3rem}.chat-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:10;min-width:10rem;display:flex;flex-direction:column;padding:.25rem;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-row);box-shadow:0 8px 24px #0003}.chat-menu button{background:none;border:none;color:inherit;cursor:pointer;text-align:left;padding:.45rem .6rem;border-radius:6px;font-size:.9em}.chat-menu button:hover{background:var(--panel-2)}.chat-menu button.danger{color:var(--danger-muted)}.chat-menu-confirm{padding:.45rem .6rem .25rem;font-size:.85em}.chat-head-search{display:flex;align-items:center;justify-content:center;color:var(--muted);margin:-10px -10px -10px auto;border-radius:50%;width:44px;height:44px}.chat-head-search:hover{background:var(--panel-2)}.find-bar{display:flex;align-items:center;gap:.6rem;width:100%}.find-bar-icon{color:var(--muted);flex-shrink:0}.find-bar-input{flex:1;min-width:0;border:none;background:none;color:var(--text);font-weight:400;font-size:1em}.find-bar-input:focus{outline:none}.find-bar-count{font-size:.8em;white-space:nowrap;flex-shrink:0}.find-bar button.link{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;margin-top:-10px;margin-bottom:-10px}.find-bar button.link:hover:not(:disabled){background:var(--panel-2)}.find-bar button.link:disabled{opacity:.35;cursor:default}.find-bar button.link:last-child{margin-right:-10px}.search-hit{background:#f5c518;color:#201a00;border-radius:3px;padding:0 1px}.search-hit.active{background:#ff9d1f;box-shadow:0 0 0 2px #201a00}@keyframes bubble-flash{0%,55%{box-shadow:0 0 0 3px #f5c518}to{box-shadow:0 0 0 3px transparent}}.bubble.flash-highlight{animation:bubble-flash 1.2s ease-out}.search-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px #00000059;width:min(480px,100%);max-height:min(640px,90vh);display:flex;flex-direction:column;overflow:hidden}.search-panel-head{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line);flex-shrink:0}.search-panel-head input{flex:1;min-width:0;border:none;background:none;color:var(--text);font-size:1em}.search-panel-head input:focus{outline:none}.search-results{overflow-y:auto;padding:6px 10px}.search-result{align-items:flex-start}.call-summary{font-style:italic;display:inline-flex;align-items:center;gap:.35rem}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text);overflow:hidden}.call-overlay.has-video{background:#05070a;color:#f2f5f8}.call-remote-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#000}.call-pip{position:absolute;width:30vw;max-width:180px;border-radius:12px;border:2px solid rgba(255,255,255,.25);object-fit:contain;background:#111;z-index:2}.call-pip-remote{left:1rem;bottom:6.5rem}.call-annotate{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;touch-action:none;color:var(--accent)}.call-annotate.armed{pointer-events:auto;cursor:crosshair}body.native-video:not(.call-minimized){background:transparent}body.native-video:not(.call-minimized) .layout{display:none}body.native-video:not(.call-minimized) .settings-overlay{display:none}body.native-video:not(.call-minimized) .call-overlay.has-video{background:transparent}body.native-video:not(.call-minimized) .call-remote-video{opacity:0}body.native-video:not(.call-minimized) .call-pip{opacity:0}.call-pip-self{right:1rem;bottom:6.5rem;cursor:grab;touch-action:none}.call-pip-self.dragging{cursor:grabbing}.call-pip-self.mirrored{transform:scaleX(-1)}body.in-pip .call-header,body.in-pip .call-controls,body.in-pip .call-close-toggle,body.in-pip .call-debug-toggle,body.in-pip .call-share-strip,body.in-pip .call-error{display:none}body.in-pip .call-overlay.minimized{top:0;right:0;bottom:0;left:0;height:auto;padding:0;border-bottom:0;flex-direction:column}body.in-pip .call-pip-self{bottom:.5rem;right:.5rem}.call-overlay.minimized{inset:auto;top:0;left:0;right:0;height:calc(var(--call-bar-h) + var(--safe-top));padding:0 .75rem;padding-top:var(--safe-top);padding-left:calc(.75rem + var(--safe-left));padding-right:calc(.75rem + var(--safe-right));flex-direction:row;align-items:center;justify-content:center;gap:.9rem;cursor:pointer;border-bottom:1px solid var(--line);background:var(--panel);color:var(--text)}.call-overlay.minimized .call-remote-video{position:static;flex:none;width:44px;height:44px;border-radius:8px;background:#000}body.native-video .call-overlay.minimized .call-remote-video{opacity:0}.call-overlay.minimized .call-pip{display:none}.call-mini{display:flex;align-items:center;gap:.75rem;flex:none;min-width:0;max-width:100%}.call-mini-avatar{position:relative;width:32px;height:32px;font-size:.85em;flex:none}.call-mini-avatar:before,.call-mini-avatar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:50%;border:1.5px solid var(--accent);animation:call-bar-sonar 2.4s ease-out infinite}.call-mini-avatar:after{animation-delay:1.2s}@keyframes call-bar-sonar{0%{transform:scale(1);opacity:.65}to{transform:scale(2.2);opacity:0}}@media(prefers-reduced-motion:reduce){.call-mini-avatar:before{animation:none;transform:scale(1.35);opacity:.5}.call-mini-avatar:after{display:none}}.call-mini-text{display:flex;flex-direction:column;align-items:center;min-width:0;line-height:1.25}.call-mini-name{font-size:.85em;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-mini-status{font-size:.75em;display:flex;align-items:center;justify-content:center;gap:.35rem}.call-mini-btn{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;background:var(--panel-2);color:var(--text);font-size:.85em;display:grid;place-items:center;flex:none}.call-mini-btn.active{background:var(--line)}.call-mini-hangup{background:var(--danger-muted);color:#fff}.mic-glow{position:relative}.mic-glow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:50%;background:var(--accent);transform:scale(calc(1 + var(--mic, 0) * .9));opacity:calc(var(--mic, 0) * .75);transition:transform 60ms linear,opacity 60ms linear}@media(prefers-reduced-motion:reduce){.mic-glow:before{transition:none;transform:scale(1.18);opacity:.35}.mic-glow.active:before{opacity:0;transform:scale(1)}}body.call-minimized .layout{padding-top:calc(var(--call-bar-h) + var(--safe-top))}body.call-minimized .sidebar-head,body.call-minimized .chat-head{padding-top:.85rem}body.call-minimized .settings-overlay{padding-top:calc(var(--call-bar-h) + var(--safe-top) + 1.5rem)}.call-avatar-center{display:grid;place-items:center}.call-avatar{width:132px;height:132px;border-radius:50%;font-size:2.6em;background:var(--active-row-bg);color:var(--accent);display:grid;place-items:center;box-shadow:0 0 0 6px var(--panel-2)}.call-header{position:absolute;top:0;left:0;right:0;padding:2.5rem 1rem 1rem;text-align:center;z-index:2;pointer-events:none}.call-overlay.has-video .call-header{background:linear-gradient(rgba(0,0,0,.5),transparent)}.call-peer-name{font-size:1.3em;font-weight:700}.call-status{margin-top:.25rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.call-muted-tag{background:var(--danger-muted);color:#fff;border-radius:999px;padding:.05rem .45rem;font-size:.75em;font-weight:600;letter-spacing:.02em}.call-mini-status .call-muted-tag{font-size:.9em;padding:0 .35rem}.call-reconnecting{display:inline-flex;align-items:center;gap:.35rem;color:var(--danger-muted);font-weight:600;animation:call-reconnect-fade 1.6s ease-in-out infinite}.call-reconnecting-dot{width:.5em;height:.5em;border-radius:999px;background:currentColor;animation:call-reconnect-pulse 1.6s ease-in-out infinite}@keyframes call-reconnect-fade{0%,to{opacity:1}50%{opacity:.55}}@keyframes call-reconnect-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.4}}@media(prefers-reduced-motion:reduce){.call-reconnecting,.call-reconnecting-dot{animation:none}}.call-controls{position:absolute;bottom:calc(36px + var(--safe-bottom));left:0;right:0;z-index:2;padding:0 max(6px,var(--safe-right)) 0 max(6px,var(--safe-left));display:flex;justify-content:center;align-items:flex-end;gap:min(28px,1.6%);pointer-events:none}.call-ctrl{display:flex;flex-direction:column;align-items:center;gap:.35rem;pointer-events:none;flex:1 1 0;min-width:0;max-width:5rem;container-type:inline-size}.call-btn-cap{font-size:.72rem;font-weight:600;color:var(--muted);max-width:100%;text-align:center;line-height:1.1;pointer-events:none;overflow-wrap:anywhere}.call-overlay.has-video .call-btn-cap{color:#ffffffd9}.call-ctrl-end{margin-left:min(10px,.6%)}.call-btn-end{width:min(64px,100%)}.call-btn{width:min(56px,100%);height:auto;aspect-ratio:1;border-radius:50%;border:none;cursor:pointer;flex:none;display:grid;place-items:center;color:var(--text);background:var(--panel);box-shadow:0 4px 14px #1428781f;pointer-events:auto}@container (max-width: 60px){.call-btn-cap{font-size:.62rem}}@container (max-width: 42px){.call-btn-cap{font-size:.56rem}}.call-overlay.has-video .call-btn{color:#fff;box-shadow:none}.call-overlay.has-video .call-btn-toggle{background:#ffffff26}.call-btn-accept{background:var(--success);color:#fff}.call-btn-decline{background:var(--danger-muted);color:#fff;box-shadow:0 4px 14px #a01e1e40}.call-btn-chat{background:var(--accent);color:#fff}.call-btn-toggle.active{background:var(--line)}.call-overlay.has-video .call-btn-toggle.active{background:#fff6}.call-output-wrap{position:relative}.call-output-menu{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);z-index:10;min-width:12rem;max-width:16rem;max-height:40vh;overflow-y:auto;display:flex;flex-direction:column;gap:1px;padding:.35rem;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-row);box-shadow:0 8px 24px #0000004d;pointer-events:auto}.call-output-section{padding:.45rem .6rem .25rem;font-size:.72em;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.call-output-menu button+.call-output-section{margin-top:.25rem;border-top:1px solid var(--line);padding-top:.45rem}.call-output-menu button{background:none;border:none;color:inherit;cursor:pointer;text-align:left;padding:.5rem .6rem;border-radius:6px;font-size:.85em;display:flex;align-items:center;justify-content:space-between;gap:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-output-menu button:hover{background:var(--panel-2)}.call-output-menu button.active{color:var(--accent);font-weight:600}.call-overlay.has-video .call-output-menu button.active{color:#9ec2ff}.call-ended-banner{position:absolute;bottom:3rem;left:0;right:0;text-align:center;font-size:1.1em;color:var(--muted);z-index:2;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.85rem}.call-ended-actions{display:flex;gap:.6rem;pointer-events:auto}.call-again-btn{background:var(--accent);color:#fff;border:none;cursor:pointer;border-radius:var(--radius-pill);padding:.5rem 1.1rem;font-size:.9rem;font-weight:600}.call-ended-dismiss{background:none;color:var(--muted);border:1px solid var(--line);cursor:pointer;border-radius:var(--radius-pill);padding:.5rem 1.1rem;font-size:.9rem;font-weight:600}.call-overlay.has-video .call-ended-dismiss{color:#ffffffd9;border-color:#ffffff59}.call-share-strip{margin-top:.4rem;font-size:.85em;color:var(--muted)}.call-overlay.has-video .call-share-strip{color:#ffffffd9}.call-error{position:absolute;left:50%;transform:translate(-50%);bottom:calc(150px + var(--safe-bottom));z-index:3;pointer-events:auto;max-width:min(30rem,calc(100% - 2rem));display:flex;align-items:center;gap:.75rem;background:var(--danger-muted);color:#fff;padding:.65rem .9rem;border-radius:var(--radius-row);box-shadow:0 8px 24px #0000004d;font-size:.9rem}.call-error-dismiss{flex-shrink:0;background:#fff3;color:#fff;border:none;cursor:pointer;border-radius:var(--radius-pill);padding:.35rem .75rem;font-size:.82rem;font-weight:600}.call-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:auto;display:grid;place-items:center;background:#0000008c;padding:1rem}.call-confirm{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-row);padding:1.1rem 1.2rem;max-width:min(22rem,100%);box-shadow:0 12px 32px #00000059}.call-confirm-title{font-size:.98rem;line-height:1.4}.call-confirm-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.call-confirm-cancel,.call-confirm-end{border:none;cursor:pointer;font-weight:600;font-size:.88rem;border-radius:var(--radius-pill);padding:.5rem 1rem}.call-confirm-cancel{background:var(--panel-2);color:var(--text)}.call-confirm-end{background:var(--danger-muted);color:#fff}.call-debug-toggle,.call-close-toggle{position:absolute;z-index:4;top:calc(.75rem + var(--safe-top));width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;color:var(--text);background:var(--panel-2)}.call-header,.call-controls,.call-debug-toggle,.call-close-toggle{transition:opacity .22s ease}.call-overlay.chrome-hidden .call-header,.call-overlay.chrome-hidden .call-controls,.call-overlay.chrome-hidden .call-debug-toggle,.call-overlay.chrome-hidden .call-close-toggle{opacity:0;pointer-events:none}.call-overlay.chrome-hidden .call-controls *{pointer-events:none}@media(prefers-reduced-motion:reduce){.call-header,.call-controls,.call-debug-toggle,.call-close-toggle{transition:none}}.call-debug-toggle{left:calc(.75rem + var(--safe-left))}.call-close-toggle{right:calc(.75rem + var(--safe-right))}.call-overlay.has-video .call-debug-toggle,.call-overlay.has-video .call-close-toggle{color:#fff;background:#ffffff26}.call-debug{position:absolute;top:0;left:0;bottom:0;z-index:3;width:min(360px,100%);display:flex;flex-direction:column;background:#05070aeb;border-right:1px solid rgba(255,255,255,.12);color:#e6edf3;font-size:.78rem}.call-debug-head{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;border-bottom:1px solid rgba(255,255,255,.12);flex-shrink:0;padding-top:calc(.7rem + var(--safe-top));padding-left:calc(.9rem + var(--safe-left))}.call-debug-close{background:none;border:none;color:#e6edf3;cursor:pointer;font-size:1rem;line-height:1;padding:.2rem .4rem}.call-debug-body{overflow-y:auto;overscroll-behavior:contain;padding:.5rem .9rem 1.5rem;padding-left:calc(.9rem + var(--safe-left));padding-bottom:calc(1.5rem + var(--safe-bottom))}.call-debug-empty{padding:1rem .9rem;color:#8b97a3}.call-debug-section{margin:.9rem 0}.call-debug-section h4{margin:0 0 .4rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#8b97a3;font-weight:600}.call-debug-row{display:flex;gap:.5rem;padding:.06rem 0;align-items:baseline}.call-debug-k{flex:0 0 40%;color:#8b97a3}.call-debug-v{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.call-debug-na{color:#5c6773}.call-debug-note{margin-top:.4rem;color:#5c6773;line-height:1.4}.back{display:none;font-size:1.4em;line-height:1}.messages-wrap{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:22px 26px;display:flex;flex-direction:column;position:relative;scroll-padding:1rem}.messages.drag-over{outline:2px dashed var(--accent);outline-offset:-8px;background:var(--panel-2)}.jump-back-btn{position:absolute;bottom:14px;right:14px;z-index:5;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px #00000040}.jump-back-btn:hover{background:var(--panel-2)}.jump-back-count{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:var(--accent);color:var(--bg);font-size:11px;line-height:16px;text-align:center;font-weight:600}.bubble{max-width:60%;padding:11px 16px;border-radius:var(--radius-bubble);display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;word-break:break-word;position:relative;margin-top:14px}.bubble:first-child{margin-top:0}.bubble.stacked{margin-top:8px}.bubble.has-image{padding:.35rem}.bubble .body{white-space:pre-wrap;align-self:stretch}.bubble.mine{align-self:flex-end;background:var(--mine);color:#fff;border-bottom-right-radius:4px}.bubble.mine .body{display:block;width:fit-content;margin-left:auto}.bubble.theirs{align-self:flex-start;background:var(--theirs);color:var(--text);border-bottom-left-radius:4px}.bubble.mine.has-image{align-items:flex-end}.bubble-meta{display:flex;align-items:center;gap:.5rem;align-self:stretch}.bubble-meta:empty{display:none}.bubble-meta-right{display:flex;align-items:center;gap:.35rem;margin-left:auto}.bubble-reply-btn{display:flex;align-items:center;padding:0;border:none;background:none;color:inherit;cursor:pointer;opacity:.55}.bubble-reply-btn:hover{opacity:1}.edited-mark{font-size:.7em;opacity:.7}.expiry-mark{display:inline-flex;align-items:center;gap:2px;font-size:.7em;opacity:.75}.expiry-mark.soon{color:var(--danger-muted);opacity:1}.msg-time{font-size:.7em;opacity:.7}.tick{font-size:.7em;color:var(--tick-delivered);display:inline-flex}.tick-read{color:var(--tick-read);opacity:1}.tick-failed{color:var(--danger-muted);opacity:1}.reply-quote{display:flex;flex-direction:column;align-self:stretch;gap:.1rem;padding:.3rem .6rem;margin-bottom:.1rem;border-radius:6px;border-left:3px solid currentColor;background:#7f7f7f26;font-size:.85em;text-align:left;cursor:pointer;border-top:none;border-right:none;border-bottom:none;color:inherit;font:inherit;width:100%}.reply-quote:hover{background:#7f7f7f40}.reply-quote-name{font-weight:600;opacity:.85}.reply-quote-snippet{opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attachment{display:flex;align-items:center;gap:.6rem;min-width:min(240px,60vw);padding:.15rem 0}.file-attachment-icon{font-size:1.6em;line-height:1}.file-attachment-info{display:flex;flex-direction:column;min-width:0}.file-attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attachment-size{font-size:.8em}.msg-menu-wrap{position:absolute;top:0;right:0}.msg-menu-btn{position:absolute;top:-10px;right:-6px;width:22px;height:22px;border-radius:50%;border:none;background:var(--panel);color:var(--text);font-size:.85em;line-height:1;cursor:pointer;display:none;place-items:center;opacity:.85}.bubble:hover .msg-menu-btn,.msg-menu-btn.open{display:grid}@media(hover:none){.msg-menu-btn{display:grid}}.msg-menu{position:absolute;top:16px;right:-6px;z-index:10;min-width:9.5rem;display:flex;flex-direction:column;padding:.25rem;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-row);box-shadow:0 8px 24px #0003}.msg-menu.up{top:auto;bottom:16px}.msg-menu button{background:none;border:none;color:inherit;cursor:pointer;text-align:left;padding:.45rem .6rem;border-radius:6px;font-size:.9em}.msg-menu button:hover{background:var(--panel-2)}.msg-menu button.danger{color:var(--danger-muted)}.msg-menu-confirm{padding:.45rem .6rem .25rem;font-size:.85em}.bubble.theirs .msg-menu{right:auto;left:-6px}.msg-link{color:inherit;text-decoration:underline;text-underline-offset:2px;word-break:break-word}.bubble.theirs .msg-link{color:var(--accent)}.link-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.link-menu{position:fixed;z-index:41;min-width:8.5rem;display:flex;flex-direction:column;padding:.25rem;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-row);box-shadow:0 8px 24px #0003}.link-menu button{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:inherit;cursor:pointer;text-align:left;padding:.5rem .6rem;border-radius:6px;font-size:.9em}.link-menu button:hover{background:var(--panel-2)}.bubble.editing{outline:2px solid var(--accent);outline-offset:2px}.composer-blocked{padding:1rem;text-align:center;border-top:1px solid var(--line);flex-shrink:0;padding-bottom:calc(1rem + var(--safe-bottom))}.thumb{display:block;max-width:min(280px,60vw,100%,var(--thumb-max-w, 100%));max-height:320px;border-radius:10px;cursor:pointer;object-fit:contain;background:var(--panel-2)}.thumb.thumb-sized{width:280px;height:auto}.thumb-loading{width:200px;height:150px}.video-thumb{position:relative;display:inline-flex;cursor:pointer}.video-thumb>video.thumb{object-fit:cover}.video-thumb-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#00000080;color:#fff;pointer-events:none}.video-thumb-duration{position:absolute;right:6px;bottom:6px;pointer-events:none;padding:1px 6px;border-radius:var(--radius-pill);background:#0009;color:#fff;font-size:.72em;font-variant-numeric:tabular-nums}.media-tile .video-thumb-play{width:30px;height:30px}.media-tile .video-thumb-duration{right:4px;bottom:4px;font-size:.65em}.upload-progress-row{display:flex;align-items:center;gap:8px;width:100%}.upload-pause-btn{display:flex;align-items:center;padding:0;border:none;background:none;color:inherit;cursor:pointer;opacity:.65;flex-shrink:0}.upload-pause-btn:hover{opacity:1}.upload-progress{width:100%;height:4px;background:#00000040;border-radius:2px;overflow:hidden}.upload-progress-bar{height:100%;background:#ffffffe6;transition:width .15s linear}.lightbox{position:fixed;top:0;left:0;right:0;height:100dvh;background:#000000d9;z-index:50;cursor:zoom-out;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:calc(3.5rem + var(--safe-top)) calc(1.5rem + var(--safe-right)) calc(2rem + var(--safe-bottom)) calc(1.5rem + var(--safe-left))}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;cursor:default;border-radius:6px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform-origin:center;will-change:transform}.media-viewer-video{max-width:100%;max-height:100%;border-radius:6px;cursor:default;background:#000}.lightbox-close{position:absolute;z-index:1;top:calc(.75rem + var(--safe-top));right:calc(.75rem + var(--safe-right));width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;background:#ffffff26;color:#f2f5f8;line-height:1;display:grid;place-items:center}.lightbox-close:hover{background:#ffffff4d}.lightbox-spinner{pointer-events:none;width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.22);border-top-color:#ffffffd9;animation:lightbox-spin .8s linear infinite}@keyframes lightbox-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.lightbox-spinner{animation-duration:2.4s}}.media-viewer-bar{position:absolute;z-index:2;left:0;right:0;top:calc(.75rem + var(--safe-top));padding-left:calc(1rem + var(--safe-left));padding-right:calc(1rem + var(--safe-right));display:flex;align-items:center;gap:.5rem;color:#f2f5f8;pointer-events:none}.media-viewer-bar>*{pointer-events:auto}.media-viewer-title{display:flex;flex-direction:column;min-width:0;margin-right:auto}.media-viewer-from{font-weight:600;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-viewer-date{font-size:.78em;opacity:.75}.media-menu-wrap{position:relative;flex-shrink:0}.media-menu-btn{width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;background:#ffffff26;color:#f2f5f8;display:grid;place-items:center}.media-menu-btn:hover,.media-menu-btn.open{background:#ffffff4d}.media-menu{top:46px;right:0}.media-viewer .lightbox-close{position:static;flex-shrink:0}.media-nav{position:absolute;z-index:1;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;background:#ffffff26;color:#f2f5f8;display:grid;place-items:center}.media-nav:hover{background:#ffffff4d}.media-nav-prev{left:calc(.5rem + var(--safe-left))}.media-nav-next{right:calc(.5rem + var(--safe-right))}.composer{display:flex;align-items:center;gap:14px;padding:16px 26px;border-top:1px solid var(--line);flex-shrink:0;padding-bottom:calc(16px + var(--safe-bottom));padding-left:calc(26px + var(--safe-left));padding-right:calc(26px + var(--safe-right))}.paste-confirm{display:flex;align-items:center;gap:12px;padding:10px 26px;padding-left:calc(26px + var(--safe-left));padding-right:calc(26px + var(--safe-right));border-top:1px solid var(--line);background:var(--panel-2);flex-shrink:0}.paste-confirm-thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0}.paste-confirm-file{display:flex;align-items:center;gap:6px;color:var(--muted);flex-shrink:0}.paste-confirm-text{flex:1;min-width:0;color:var(--muted)}.paste-confirm-actions{display:flex;gap:1rem;flex-shrink:0}.temp-confirm{border-left:3px solid var(--danger-muted)}.reply-bar{display:flex;align-items:center;gap:10px;padding:8px 26px;padding-left:calc(26px + var(--safe-left));padding-right:calc(26px + var(--safe-right));border-top:1px solid var(--line);background:var(--panel-2);flex-shrink:0}.reply-bar-icon{flex-shrink:0;color:var(--accent)}.reply-bar-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.reply-bar-name{font-size:.85em;font-weight:600;color:var(--accent)}.reply-bar-snippet{font-size:.85em;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-bar-cancel{flex-shrink:0;display:grid;place-items:center}.composer textarea{flex:1;min-width:0;padding:12px 18px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:inherit;line-height:1.35;resize:none;max-height:9rem;overflow-y:auto}.composer .send-btn{width:44px;height:44px;border-radius:50%;flex-shrink:0;padding:0;display:grid;place-items:center;border:none;background:var(--accent);color:#fff;cursor:pointer}.composer .attach{background:none;border:none;cursor:pointer;color:var(--muted);padding:.2rem .4rem;line-height:1;display:flex}.composer .attach.open{color:var(--text)}.attach-wrap{position:relative;display:flex}.attach-menu{position:absolute;top:auto;right:auto;left:0;bottom:calc(100% + 6px);min-width:11rem}.attach-menu button{display:flex;align-items:center;gap:.55rem}.original-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;flex-shrink:0;border-radius:50%;font-size:.6em;font-weight:700;letter-spacing:.02em;color:var(--muted);cursor:pointer}.original-toggle.active{background:var(--accent);color:#fff}.original-toggle input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}@media(max-width:640px){.composer:has(textarea:focus) .original-toggle{display:none}}@media(max-width:640px){.layout{grid-template-columns:1fr}.layout .chat,.layout.has-selection .sidebar{display:none}.layout.has-selection .chat{display:flex}.back{display:inline}.settings-overlay{padding:0;background:var(--bg)}.settings-panel{width:100%;height:100%;max-height:none;border-radius:0;border:none;box-shadow:none;--sp-top: calc(.85rem + var(--safe-top));--sp-left: calc(1rem + var(--safe-left));--sp-right: calc(1rem + var(--safe-right));padding-bottom:calc(.85rem + var(--safe-bottom))}.settings-back{display:flex}.settings-x{display:none}body.call-minimized .settings-overlay{padding-top:0}body.call-minimized .settings-panel{--sp-top: calc(var(--call-bar-h) + var(--safe-top) + .85rem)}}.guest{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:min(340px,90vw);text-align:center}.guest h1{margin:0;font-size:1.25rem}.guest p{margin:0}.guest-avatar{width:72px;height:72px;font-size:1.75rem;background:var(--accent)}.guest-actions{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-top:.75rem}.guest-actions button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem;border-radius:var(--radius-pill);border:none;background:var(--accent);color:#fff;cursor:pointer}.guest-actions button.secondary{background:var(--panel-2);border:1px solid var(--line);color:var(--text)}.settings-input{flex:1;min-width:0;padding:.45rem .6rem;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text)}.diag-tabs{display:flex;gap:4px;padding:8px 16px 0}.diag-tab{flex:1;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:transparent;color:var(--muted);font:inherit;cursor:pointer}.diag-tab.active{background:var(--panel-2);color:var(--text);border-color:var(--accent)}.diag-controls{display:flex;justify-content:flex-end;align-items:center;min-height:32px;padding:8px 16px 0}.diag-check{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.9em;margin-right:auto}.diag-empty{padding:24px 16px;text-align:center}.diag-list{display:flex;flex-direction:column;gap:8px;padding:12px 16px 24px}.diag-card{border:1px solid var(--line);border-radius:var(--radius-row);background:var(--panel);padding:10px 12px}.diag-failed{border-left:3px solid var(--danger-muted)}.diag-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.diag-when{color:var(--muted);font-size:.85em;white-space:nowrap}.diag-verdict{font-weight:600;text-align:right}.diag-sub{font-size:.82em;margin-top:4px}.diag-detail{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.diag-h{margin:12px 0 4px;font-size:.8em;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2)}.admin-page{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;background:var(--bg);color:var(--text);padding:calc(var(--safe-top) + 1rem) calc(var(--safe-right) + 1rem) calc(var(--safe-bottom) + 2rem) calc(var(--safe-left) + 1rem)}.admin-inner{max-width:1100px;margin:0 auto}.admin-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.admin-head h1{font-size:1.15rem;font-weight:600;margin:0;flex:1}.admin-head-sub{font-size:.8rem;color:var(--muted)}.admin-section{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;margin-bottom:.75rem}.admin-section-head{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.75rem}.admin-section-head h2{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.admin-section-note{font-size:.75rem;color:var(--muted-2)}.admin-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.admin-tile{background:var(--panel-2);border-radius:var(--radius-row);padding:.6rem .7rem}.admin-tile-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.admin-tile-value{font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;margin-top:.15rem}.admin-tile-sub{font-size:.72rem;color:var(--muted-2);margin-top:.1rem}.admin-tile.warn .admin-tile-value{color:var(--danger-muted)}.admin-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.admin-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.8rem}.admin-table th{text-align:left;font-weight:500;color:var(--muted);padding:.3rem .5rem;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table td{padding:.35rem .5rem;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table .num{text-align:right;font-variant-numeric:tabular-nums}.admin-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.75rem;color:var(--muted)}.admin-legend-item{display:flex;align-items:center;gap:.3rem}.admin-swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.admin-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--muted-2)}.admin-dot.online{background:var(--success)}.admin-empty{color:var(--muted);font-size:.8rem;padding:.5rem 0}.admin-axis-row{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted-2);margin-top:.25rem}.chart-axis{font-size:8px;fill:var(--muted-2)}.chart-bars,.chart-sparkline{display:block}.chart-heatmap{display:block;max-width:520px}.chart-donut{display:block;flex:none}.chart-meter{height:6px;border-radius:3px;background:var(--chart-2);overflow:hidden;min-width:60px}.chart-meter-fill{height:100%;background:var(--chart-1)}.chart-ranked+.chart-ranked{margin-top:.45rem}.chart-ranked-head{display:flex;justify-content:space-between;gap:.5rem;font-size:.78rem;margin-bottom:.15rem}.chart-ranked-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-ranked-value{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.chart-ranked-track{height:6px;border-radius:3px;background:var(--panel-2);overflow:hidden}.chart-ranked-fill{height:100%;border-radius:3px}@media(max-width:640px){.admin-page{padding-left:calc(var(--safe-left) + .6rem);padding-right:calc(var(--safe-right) + .6rem)}.admin-section{padding:.75rem .7rem}}.video-recorder{flex-direction:column;gap:1rem;cursor:default}.video-recorder-preview{flex:1 1 auto;min-height:0;max-width:100%;border-radius:10px;background:#000;object-fit:contain}.video-recorder-error{flex:1 1 auto;display:grid;place-items:center;color:#d6dbe0}.video-recorder-actions{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:1.5rem}.video-recorder-flip{width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;background:#ffffff26;color:#f2f5f8;display:grid;place-items:center}.video-recorder-flip:hover{background:#ffffff4d}.video-recorder-shutter{width:64px;height:64px;border-radius:50%;cursor:pointer;border:3px solid rgba(255,255,255,.85);background:#ffffff26;color:#fff;display:grid;place-items:center}.video-recorder-shutter.recording{background:var(--danger-muted);border-color:var(--danger-muted)}.video-recorder-shutter:disabled{opacity:.4;cursor:default}.video-recorder-square{width:20px;height:20px;border-radius:3px;background:#fff}.video-rec-timer{display:flex;align-items:center;gap:.4rem;font-variant-numeric:tabular-nums}.video-rec-dot{width:9px;height:9px;border-radius:50%;background:var(--danger-muted);animation:video-rec-pulse 1.4s ease-in-out infinite}@keyframes video-rec-pulse{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.video-rec-dot{animation:none}}
