:root{--paper:#fff;--cardboard-rev:4;--surface:#fff;--surface-2:#f0f2f5;--surface-focus:#fff;--ink:#1c1e21;--ink-2:#65676b;--ink-3:#8a8d91;--line:#dddfe2;--line-2:#ccd0d5;--accent:#2a5f5a;--accent-hover:#234f4b;--accent-soft:#e8f0ee;--accent-border:#c5d6d3;--amber:#a86b18;--amber-border:#e4d2ae;--tick:#3b7ddd;--amber-soft:#f6eedc;--green:#2f9a5c;--red:#c2473b;--on-accent:#fff;--avatar-bg:#2a2824;--avatar-fg:#f7f3ea;--err-bg:#f8ece9;--err-text:#8f3228;--notice-bg:#f8ece9;--notice-border:#ebcfc8;--notice-text:#8f3228;--gradient-spot:#fff;--side-bg:#fff;--thread-bg:#eef1f4;--bubble-in:#fff;--bubble-in-ink:#1c1e21;--thread-wash:transparent;--wash-a:transparent;--wash-b:transparent;--wash-c:transparent;--log-bg:#1a1c18;--log-fg:#c9cfd2;--log-line:#2a2f33;--log-muted:#7c868c;--log-hover:#1d2226;--log-time:#5f696e;--log-key:#7fd1c4;--log-key-bad:#e28b7f;--log-key-warn:#dcae6b;--log-val:#aeb6ba;--log-btn-border:#3a4044;--log-btn-fg:#8b9599;--radius:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-card:0 2px 4px #00000014, 0 8px 24px #0000000f;--shadow-press:0 1px 2px #00000014 inset;--fiber:none;--mark-green:#29a300;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--paper:#111418;--surface:#1a1f26;--surface-2:#232830;--surface-focus:#2b323c;--ink:#f2f4f7;--ink-2:#b2b9c1;--ink-3:#808892;--line:#3a424c;--line-2:#4c5560;--accent:#5ec4b6;--accent-hover:#4db3a5;--accent-soft:#243330;--accent-border:#3d615c;--amber:#e0b060;--amber-border:#5a4a30;--tick:#5aa8ff;--amber-soft:#3a3224;--green:#4ecf8a;--red:#f07068;--avatar-bg:#3a414a;--avatar-fg:#eceff2;--err-bg:#3a2826;--err-text:#f0a8a0;--notice-bg:#3a2826;--notice-border:#5a4038;--notice-text:#f0a8a0;--gradient-spot:#111418;--side-bg:#111418;--thread-bg:#101418;--bubble-in:#1c222a;--bubble-in-ink:#f2f4f7;--thread-wash:transparent;--wash-a:transparent;--wash-b:transparent;--wash-c:transparent;--fiber:none;--mark-green:#6ee03a;--log-bg:#0a0c0d;--log-fg:#c9cfd2;--log-line:#1a1e22;--log-muted:#6e757b;--log-hover:#14181b;--shadow-sm:0 1px 0 #ffffff0a inset, 0 1px 2px #00000059, 0 3px 8px -2px #0006;--shadow-md:0 1px 0 #ffffff0d inset, 0 1px 0 #00000040, 0 3px 0 #0003, 0 12px 26px -10px #0000008c;--shadow-card:0 1px 0 #ffffff0f inset, 0 1px 0 #00000047, 0 3px 0 #00000038, 0 12px 26px -10px #00000094;--shadow-press:0 2px 4px #00000073 inset;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}::selection{background:var(--accent-soft);color:var(--ink)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}html,body,#root{height:100%;min-height:100vh}html,body{transition:background-color .9s,color .9s}#root{flex-direction:column;display:flex}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-feature-settings:"ss01","cv11";letter-spacing:-.008em;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:var(--fiber);background-attachment:fixed;margin:0;font-size:15px;line-height:1.5}.screen-chat,.screen-connect,.contacts,.thread,.topbar,.composer,.empty-state{background-image:var(--fiber)}body.chat-active{overflow:hidden}html.chat-active{height:100%}.theme-toggle{z-index:100;align-items:center;gap:10px;display:flex;position:fixed;top:12px;right:12px}body.login-active .theme-toggle{top:28px;right:28px}.lang-toggle{border:1px solid var(--line-2);background:var(--surface-2);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.lang-toggle.compact{padding:1px}.lang-toggle-btn{min-width:28px;height:22px;color:var(--ink-3);font-family:var(--sans);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0 8px;font-size:11px;font-weight:700;transition:background .12s,color .12s}.lang-toggle.compact .lang-toggle-btn{min-width:24px;height:18px;padding:0 6px;font-size:9.5px}.lang-toggle-btn:hover{color:var(--ink)}.lang-toggle-btn.active{background:var(--accent-soft);color:var(--accent)}.theme-slider{font-family:var(--sans);color:var(--ink-3);align-items:center;gap:8px;font-size:11.5px;font-weight:600;display:inline-flex}.theme-slider.compact{gap:6px;font-size:9.5px}.theme-slider-side{transition:color .12s}.theme-slider-side.active{color:var(--ink);font-weight:600}.theme-switch{cursor:pointer;background:0 0;border:none;padding:0;line-height:0}.theme-switch-track{background:linear-gradient(#7ec8ff 0%,#ffe7b3 100%);border:1px solid #00000014;border-radius:999px;width:42px;height:22px;transition:background .55s,border-color .55s,box-shadow .55s;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 3px #7ec8ff2e}.theme-slider.compact .theme-switch-track{width:36px;height:18px}.theme-switch[aria-checked=true] .theme-switch-track{background:linear-gradient(#0d1528 0%,#1a2744 100%);border-color:#ffffff1f;box-shadow:0 0 0 3px #5078c833}.theme-switch-thumb{background:#ffd45a;border-radius:50%;width:16px;height:16px;transition:transform .45s cubic-bezier(.22,1,.36,1),background .45s,box-shadow .45s;position:absolute;top:2px;left:2px;box-shadow:0 0 8px #ffc850b3}.theme-slider.compact .theme-switch-thumb{width:12px;height:12px}.theme-switch[aria-checked=true] .theme-switch-thumb{background:#eef3ff;transform:translate(20px);box-shadow:inset -3px -1px #8fa0c4,0 0 8px #b4c8ff59}.theme-slider.compact .theme-switch[aria-checked=true] .theme-switch-thumb{transform:translate(18px)}.topbar-menu{margin-left:4px;position:relative}.topbar .theme-slider,.topbar .lang-toggle{margin-left:8px}.kebab-btn{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);width:28px;height:28px;color:var(--ink-2);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:0;transition:border-color .12s,color .12s,background .12s,box-shadow .12s;display:inline-flex}.kebab-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.kebab-btn[aria-expanded=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-press)}.kebab-dots{flex-direction:column;align-items:center;gap:3px;display:flex}.kebab-dots span{background:currentColor;border-radius:50%;width:3px;height:3px;display:block}.topbar-dropdown{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:248px;box-shadow:var(--shadow-card);z-index:120;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.mail-alert-panel{flex-direction:column;gap:8px;padding:4px 10px 10px;display:flex}.mail-alert-field{color:var(--ink-2);flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;display:flex}.mail-alert-field input{border:1px solid var(--line);background:var(--surface-2);width:100%;font-family:var(--sans);border-radius:10px;padding:8px 10px;font-size:13px;font-weight:500}.mail-alert-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.mail-alert-hint{color:var(--ink-3);margin:0;font-size:11.5px;font-weight:500;line-height:1.4}.mail-alert-actions{justify-content:flex-end;gap:6px;display:flex}.mail-alert-status{font-size:12px;line-height:1.35}.mail-alert-status.ok{color:var(--green)}.mail-alert-status.bad{color:var(--err-text)}.menu-row{border-radius:calc(var(--radius) - 2px);width:100%;color:var(--ink);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:12px;display:flex}.menu-row.menu-theme{padding:8px 10px 10px}.menu-row.menu-action{cursor:pointer;font-family:var(--mono);font-size:11px}.menu-row.menu-action:hover{background:var(--surface-2)}.menu-row.menu-action.active{color:var(--accent);background:var(--accent-soft)}.menu-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.menu-hint{color:var(--ink-3);font-size:10px}.wire-user .wire-name{color:var(--ink);font-weight:600}.wire-user .statedot{flex-shrink:0}.wire-user .wire-status{color:var(--ink-3);text-transform:lowercase}.copy-user-btn{font-family:var(--mono);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);border-radius:3px;padding:2px 6px;font-size:10px;line-height:1;transition:color .12s,border-color .12s,background .12s}.copy-user-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.copy-user-btn.copied{color:var(--green);border-color:var(--green);background:0 0}.sign-out-btn{color:var(--ink-2);margin-left:2px}.sign-out-btn:hover{border-color:var(--red);color:var(--red)}.menu-rule{background:var(--line);height:1px;margin:4px 6px}.menu-row.menu-action.menu-signout{color:var(--red)}.menu-row.menu-action.menu-signout:hover{background:color-mix(in srgb, var(--red) 10%, var(--surface))}.screen-connect{background:radial-gradient(120% 90% at 50% -10%, var(--gradient-spot) 0%, transparent 62%), var(--fiber), var(--paper);flex:1}button{font:inherit;color:inherit;cursor:pointer}input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hidden{display:none!important}.eyebrow{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.sec-head .eyebrow:before{content:"";background:var(--line-2);vertical-align:1px;border-radius:2px;width:6px;height:6px;margin-right:7px;display:inline-block}.screen-login{background:var(--paper);flex:1;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex;position:relative}.login-brand-panel{pointer-events:none;flex-direction:column;justify-content:space-between;padding:36px 40px 44px;display:flex;position:absolute;inset:0}.login-mark{object-fit:cover;pointer-events:auto;border:none;border-radius:24px;width:96px;height:96px;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;box-shadow:0 8px 24px #0000002e}.login-mark:hover{transform:scale(1.05)rotate(-2deg);box-shadow:0 12px 28px #00000038}.login-stage{z-index:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.login-wordmark{text-align:left;letter-spacing:-.055em;margin:0;font-size:clamp(40px,5.6vw,72px);font-weight:800;line-height:.92}.login-wordmark span{display:block}.login-card{color:#1c1e21;background:#fff;border:1px solid #dddfe2;border-radius:12px;width:min(640px,100%);position:relative;box-shadow:0 2px 4px #0000001a,0 8px 24px #00000014}.paper-tape{opacity:.92;background:linear-gradient(#fff8dceb,#ecd296e0);border:1px solid #b4965a59;border-radius:3px;width:92px;height:26px;position:absolute;top:-12px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 2px 6px #372d1e1f}.paper-tape:before,.paper-tape:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 6px,#ffffff2e 6px 7px);position:absolute;inset:0}.login-head{padding:36px 40px 16px}.login-head h1{letter-spacing:-.03em;color:var(--ink);margin:0 0 8px;font-size:32px;font-weight:700}.login-head p{color:var(--ink-2);margin:0;font-size:14.5px;line-height:1.55}.login-body{padding:12px 40px 36px}.login-submit{border-radius:10px;min-height:50px;font-size:16px}.screen-login .field input{background:var(--surface);border-color:var(--line);box-shadow:none;font-family:var(--sans);font-size:15px}.screen-login .who{background:var(--surface);box-shadow:none;border-color:var(--line)}.screen-login .who:hover{background:var(--surface-2);box-shadow:none;transform:none}.field{margin-bottom:16px}.field label{color:var(--ink-2);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input{background:var(--surface-2);border:1px solid var(--line-2);width:100%;font-family:var(--mono);box-shadow:var(--shadow-press);border-radius:10px;padding:12px 14px;font-size:13px;transition:background .12s,border-color .12s,box-shadow .12s}.field input:focus{background:var(--surface-focus);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field select{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-press);padding:10px 12px;font-size:13px}.hint{color:var(--ink-3);margin-top:6px;font-size:11.5px}.login-preview{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:14px;margin-top:14px;padding:16px;display:flex}.login-preview-hero{align-items:center;gap:14px;padding:4px 2px 2px;display:flex}.login-preview-hero .avatar-wrap{width:64px;height:64px}.login-preview-hero .avatar-wrap .avatar{border-radius:18px;font-size:18px}.login-preview-hero-copy{flex-direction:column;gap:8px;min-width:0;display:flex}.login-preview-name{letter-spacing:-.03em;color:var(--ink);text-overflow:ellipsis;font-size:22px;font-weight:700;line-height:1.15;overflow:hidden}.login-preview-tags{flex-wrap:wrap;gap:6px;display:flex}.login-chip{background:var(--accent-soft);height:22px;color:var(--accent);font-family:var(--mono);letter-spacing:.02em;border-radius:999px;align-items:center;padding:0 8px;font-size:10px;font-weight:600;display:inline-flex}.login-chip.saved{background:color-mix(in srgb, var(--mark-green) 16%, var(--surface));color:var(--mark-green)}.login-preview-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.login-fact{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;flex-direction:column;justify-content:center;gap:3px;min-height:62px;padding:10px 12px;display:flex}.login-fact-k{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;font-weight:600}.login-fact-v{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.3}.login-fact.empty .login-fact-v{color:var(--ink-3);font-weight:500}.login-preview-foot{background:var(--surface-2);border:1px dashed var(--line-2);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.login-preview-id{font-family:var(--mono);color:var(--ink-2);overflow-wrap:anywhere;font-size:12px;font-weight:500}.login-preview.loading{opacity:.72}@media (width<=520px){.login-preview-facts{grid-template-columns:1fr}.login-preview-name{font-size:19px}.login-preview-hero .avatar-wrap{width:56px;height:56px}}.who-list{flex-direction:column;gap:8px;max-height:340px;margin-top:10px;padding:2px;display:flex;overflow-y:auto}.who{background:var(--surface);border:1px solid var(--line);text-align:left;box-shadow:var(--shadow-card);border-radius:14px;align-items:center;gap:10px;padding:9px 12px 9px 8px;font-size:12.5px;transition:border-color .14s,background .14s,box-shadow .14s,transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.who:hover{border-color:var(--line-2);background:var(--surface-focus);box-shadow:var(--shadow-md);transform:translateY(-3px)}.who .cached.last{color:var(--mark-green);border-color:var(--mark-green)}.who[aria-pressed=true],.who.selected{border-color:var(--mark-green);background:color-mix(in srgb, var(--mark-green) 14%, var(--surface));box-shadow:0 0 0 2px color-mix(in srgb, var(--mark-green) 32%, transparent);transform:translateY(0)}.screen-login .who[aria-pressed=true],.screen-login .who.selected,.screen-login .who[aria-pressed=true]:hover,.screen-login .who.selected:hover{border-color:var(--mark-green);background:color-mix(in srgb, var(--mark-green) 16%, #fff);box-shadow:0 0 0 2px color-mix(in srgb, var(--mark-green) 35%, transparent);transform:none}.who .avatar{box-shadow:var(--shadow-sm)}.who .idtag{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;margin-left:auto;font-size:10.5px}.who .cached{font-family:var(--mono);color:var(--accent);border:1px solid var(--accent);border-radius:2px;padding:0 3px;font-size:9.5px}.who .who-nm{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.who .who-nm.unnamed{color:var(--ink-3);font-style:italic;font-weight:400}.sbadge{font-family:var(--mono);letter-spacing:.02em;color:var(--amber);background:var(--amber-soft);vertical-align:1px;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:9.5px;font-weight:500}.settings-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}.settings-foot .btn-tiny:disabled{opacity:.4;cursor:default}.idchip{font-family:var(--mono);color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);vertical-align:baseline;box-shadow:var(--shadow-sm);border-radius:999px;padding:0 7px;font-size:10.5px;font-weight:400;line-height:1.6;transition:color .12s,border-color .12s,background .12s}.idchip:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.idchip.copied{color:var(--green);border-color:var(--green);background:0 0}.idchip.quiet{background:0 0;border-color:#0000}.idchip.quiet:hover{border-color:var(--accent)}.wire .idchip{padding:0 4px;font-size:10px}.btn{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:13.5px;font-weight:600;transition:background .12s,border-color .12s,color .12s,box-shadow .12s,transform .12s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:#0000;box-shadow:inset 0 1px #ffffff2e,0 1px #0000000f,0 2px #00000014,0 8px 16px -8px #2a5f5a59}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:active{box-shadow:var(--shadow-press);transform:translateY(1px)}.btn-primary:disabled{background:var(--line-2);color:var(--on-accent);cursor:not-allowed;box-shadow:none;transform:none}.btn-quiet{background:var(--surface-2);border-color:var(--line-2);color:var(--ink-2);box-shadow:var(--shadow-sm)}.btn-quiet:hover{border-color:var(--ink-3);color:var(--ink);transform:translateY(-1px)}.btn-quiet:active{box-shadow:var(--shadow-press);transform:translateY(1px)}.btn-block{width:100%}details.adv{border-top:1px solid var(--line);margin:2px 0 18px;padding-top:14px}details.adv summary{cursor:pointer;color:var(--ink-2);align-items:center;gap:6px;font-size:12px;font-weight:600;list-style:none;display:flex}details.adv summary::-webkit-details-marker{display:none}details.adv summary:before{content:"+";font-family:var(--mono);color:var(--ink-3)}details.adv[open] summary:before{content:"–"}details.adv .adv-body{padding-top:14px}.check{color:var(--ink-2);align-items:center;gap:8px;font-size:12.5px;display:flex}.err{border-left:2px solid var(--red);background:var(--err-bg);color:var(--err-text);margin-top:14px;padding:10px 12px;font-size:12.5px}.err code{font-family:var(--mono);font-size:11.5px}.screen-connect{flex:1;place-items:center;min-height:100vh;padding:40px 20px;display:grid}.connect-card{text-align:left;width:100%;max-width:480px}.spinner{border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin-bottom:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.connect-state{letter-spacing:-.01em;margin:0 0 4px;font-size:22px;font-weight:600}.connect-detail{color:var(--ink-2);font-size:13px;font-family:var(--mono);word-break:break-all;margin:0 0 14px}.connect-endpoints{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-family:var(--mono);color:var(--ink-2);word-break:break-all;box-shadow:var(--shadow-card);margin:0 0 18px;padding:12px 14px;font-size:12px}.connect-endpoints .k{color:var(--ink-3)}.connect-endpoints>div+div{margin-top:6px}.trace{border-top:1px solid var(--line);padding-top:12px}.trace-row{font-family:var(--mono);color:var(--ink-2);word-break:break-all;grid-template-columns:64px 12px 1fr;align-items:baseline;gap:10px;padding:4px 0;font-size:11.5px;display:grid}.trace-row .t{color:var(--ink-3)}.trace-row .dot{background:var(--ink-3);border-radius:50%;width:6px;height:6px;transform:translateY(-1px)}.trace-row.ok .dot{background:var(--green)}.trace-row.warn .dot{background:var(--amber)}.trace-row.bad .dot{background:var(--red)}.trace-row.bad{color:var(--red)}.screen-chat{background:var(--paper);flex-direction:column;flex:1;height:100%;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);background-image:var(--fiber);flex:none;align-items:center;gap:14px;height:64px;padding:0 20px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff8c,0 8px 20px -14px #372d1e47}.topbar:after{content:"";background:linear-gradient(90deg, transparent, var(--accent) 30%, var(--accent) 70%, transparent);opacity:.18;height:2px;position:absolute;bottom:-2px;left:0;right:0}.brand{letter-spacing:-.035em;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;font-size:16px;font-weight:700;display:inline-flex}.brand-label{color:var(--ink)}.brand-mirror{color:#111;font-weight:800}.brand-msg{color:var(--mark-green);font-weight:800}[data-theme=dark] .brand-mirror{color:#f4f4f4}.brand-icon{object-fit:cover;width:44px;height:44px;box-shadow:var(--shadow-card);background:#2f6b2a;border:1px solid #372d1e24;border-radius:14px;flex:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}.brand:hover .brand-icon{box-shadow:var(--shadow-md);transform:translateY(-3px)rotate(-2deg)scale(1.04)}[data-theme=dark] .paper-tape,[data-theme=dark] .empty-state:before{background:linear-gradient(#5a5037e6,#463c28d9);border-color:#a08c5a40}[data-theme=dark] .login-mark{filter:none}[data-theme=dark] .screen-login{background:var(--paper)}[data-theme=dark] .who[aria-pressed=true],[data-theme=dark] .who.selected,[data-theme=dark] .screen-login .who[aria-pressed=true],[data-theme=dark] .screen-login .who.selected,[data-theme=dark] .screen-login .who[aria-pressed=true]:hover,[data-theme=dark] .screen-login .who.selected:hover{background:color-mix(in srgb, var(--mark-green) 22%, var(--surface));border-color:var(--mark-green);box-shadow:0 0 0 2px color-mix(in srgb, var(--mark-green) 42%, transparent)}[data-theme=dark] .login-card{background:var(--surface);color:var(--ink);border-color:var(--line);background-image:none;box-shadow:0 8px 28px #00000073}[data-theme=dark] .screen-login .field input{background:var(--surface-2);border-color:var(--line-2)}[data-theme=dark] .screen-login .who{background:var(--surface-2);border-color:var(--line)}[data-theme=dark] .screen-login .who:hover{background:var(--surface-focus)}[data-theme=dark] .topbar{box-shadow:inset 0 1px #ffffff0a,0 8px 18px -14px #00000080}[data-theme=dark] .messages,[data-theme=dark] .thread,[data-theme=dark] .screen-chat{background-image:none;background-color:var(--thread-bg)}[data-theme=dark] .empty-state{background-image:none;box-shadow:inset 0 1px #ffffff0d,0 14px 28px -12px #0000008c}[data-theme=dark] .bubble{box-shadow:0 1px 2px #00000059}[data-theme=dark] .msg.out .bubble{box-shadow:0 1px 2px #0006}[data-theme=dark] .composer,[data-theme=dark] .thread-head,[data-theme=dark] .topbar{background-image:none}[data-theme=dark] .contacts{box-shadow:none}.wire{font-family:var(--sans);color:var(--ink-2);align-items:center;gap:16px;margin-left:auto;font-size:12.5px;font-weight:500;display:flex}.wire .cell{white-space:nowrap;align-items:center;gap:6px;display:flex}.wire .k{color:var(--ink-3)}.statedot{background:var(--ink-3);border-radius:50%;width:8px;height:8px}.statedot.connected{background:var(--green);animation:2.2s ease-in-out infinite glow-green;box-shadow:0 0 0 3px #2f9e5f2e}@keyframes glow-green{0%,to{box-shadow:0 0 0 3px #2f9e5f2e}50%{box-shadow:0 0 0 5px #2f9e5f47,0 0 8px #2f9e5f2e}}.statedot.connecting{background:var(--amber);animation:1.1s ease-in-out infinite pulse}.statedot.disconnected{background:var(--red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.icon-btn{border:1px solid var(--line-2);background:var(--surface-2);border-radius:var(--radius);font-family:var(--mono);color:var(--ink-2);box-shadow:var(--shadow-sm);padding:5px 10px;font-size:11px}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.icon-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-press)}.workspace{flex:1;min-height:0;display:flex}.contacts{width:var(--side-w,286px);background:var(--side-bg);border-right:1px solid var(--line);background-image:var(--fiber);flex-direction:column;flex:none;min-height:0;display:flex;position:relative;box-shadow:inset 1px 0 #ffffff40}.side-grip{z-index:4;cursor:col-resize;background:0 0;width:7px;position:absolute;top:0;bottom:0;right:-3px}.side-grip:after{content:"";background:0 0;width:1px;position:absolute;top:0;bottom:0;left:3px}.side-grip:hover:after,.side-grip.dragging:after{background:var(--accent)}.sec-body{padding:4px 10px 8px}.contacts-scroll{flex:1;min-height:0;padding:4px 0 14px;overflow-y:auto}.sec-head{align-items:baseline;gap:8px;padding:14px 14px 6px;display:flex}.sec-head .count{font-family:var(--sans);color:var(--ink-3);margin-left:auto;font-size:11.5px;font-weight:600}.sec-note{color:var(--ink-3);padding:0 14px 6px;font-size:12.5px;line-height:1.4}.sec-rule{background:var(--line);height:1px;margin:8px 0 0}.pref-filter{padding:0 10px 8px}.pref-filter-toggle{border:1px solid var(--line);background:var(--surface-2);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;transition:border-color .12s,background .12s;display:flex}.pref-filter.open .pref-filter-toggle,.pref-filter-toggle:hover{border-color:var(--accent-border);background:var(--accent-soft)}.pref-filter-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.pref-filter-summary{letter-spacing:-.02em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.pref-filter-form{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:12px;margin-top:8px;padding:12px 10px 10px;display:flex}.pref-field{flex-direction:column;gap:6px;display:flex}.pref-k{color:var(--ink-2);font-size:11.5px;font-weight:700}.pref-genders{gap:6px;display:flex}.pref-chip{border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2);border-radius:999px;flex:1;padding:6px 8px;font-size:12px;font-weight:600}.pref-chip:hover{border-color:var(--accent);color:var(--accent)}.pref-chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.pref-ages{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pref-age{color:var(--ink-3);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.pref-age input,.pref-location{border:1px solid var(--line);background:var(--surface-2);width:100%;font-family:var(--sans);border-radius:10px;padding:8px 10px;font-size:13.5px;font-weight:500}.pref-age input:focus,.pref-location:focus{background:var(--surface-focus);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.pref-err{color:var(--err-text);font-size:12px;line-height:1.35}.pref-actions{justify-content:flex-end;display:flex}.pref-apply{min-height:36px;padding:8px 14px;font-size:13px}.contact{text-align:left;width:100%;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:14px;grid-template-columns:40px 1fr auto;align-items:center;column-gap:10px;padding:10px;transition:background .15s,border-color .15s,box-shadow .15s;display:grid;position:relative}.row-wrap{transition:opacity .15s}.row-wrap.suggested-row .contact{border-style:dashed;border-color:var(--amber-border);background:var(--amber-soft)}.row-wrap.suggested-row .contact:hover{border-color:var(--amber);background:var(--amber-soft)}.row-wrap.expired-row .contact{opacity:.62;filter:grayscale(.15)}.row-wrap:hover .contact{background:var(--surface-2);box-shadow:none;border-color:#0000}.row-wrap .contact.active{transform:none}.row-wrap+.row-wrap{margin-top:6px}.row-actions{justify-content:flex-end;gap:5px;padding:1px 8px 3px;display:flex}.btn-tiny{background:var(--surface);border:1px solid var(--line-2);font-family:var(--sans);color:var(--ink-2);box-shadow:var(--shadow-sm);border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:600;transition:border-color .12s,color .12s,background .12s,box-shadow .12s}.btn-tiny.copied{border-color:var(--green);color:var(--green)}.btn-tiny:hover{border-color:var(--accent);color:var(--accent)}.btn-tiny:disabled{opacity:.5;cursor:default;border-color:var(--line-2);color:var(--ink-3);box-shadow:none}.contact:hover{background:var(--surface-focus)}.contact.active{background:var(--accent-soft);box-shadow:none;border-color:#0000}.contact.active:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;top:10px;bottom:10px;left:-1px}.row-actions{opacity:0;transition:opacity .12s}.row-wrap:hover .row-actions,.row-wrap:focus-within .row-actions{opacity:1}.row-wrap:has(.contact.active) .row-actions{opacity:1}.avatar-wrap{isolation:isolate;flex:none;width:34px;height:34px;position:relative}.avatar-wrap.sm{width:28px;height:28px}.avatar-wrap.lg{width:48px;height:48px}.avatar-wrap .avatar{border-radius:calc(var(--radius) - 2px);width:100%;height:100%;font-family:var(--sans);text-transform:uppercase;box-shadow:var(--shadow-sm);letter-spacing:0;border:2px solid #0000;place-items:center;font-size:12px;font-weight:700;line-height:1;transition:transform .12s,box-shadow .12s;display:grid;overflow:hidden}.avatar-wrap.lg .avatar{border-radius:14px;font-size:14px}.avatar-wrap.sm .avatar{border-radius:8px;font-size:9px}.contact:hover .avatar-wrap .avatar{transform:scale(1.03)}.contact.active .avatar-wrap .avatar{box-shadow:0 0 0 2px var(--accent-soft), var(--shadow-sm)}.avatar-wrap.suggested .avatar{color:var(--amber);border:2px dashed var(--line-2);background:0 0}.avatar-wrap.expired .avatar{background:var(--line-2);color:var(--ink-3);border-color:var(--line-2)}.avatar{background:var(--avatar-bg);width:34px;height:34px;color:var(--avatar-fg);border-radius:calc(var(--radius) - 2px);font-family:var(--sans);text-transform:uppercase;box-shadow:var(--shadow-sm);flex:none;place-items:center;font-size:12px;font-weight:700;line-height:1;display:grid;overflow:hidden}.contact.suggested .avatar{color:var(--amber);border:1px dashed var(--line-2);background:0 0}.contact.suggested.active .avatar{background:var(--amber-soft);border-style:solid;border-color:var(--amber)}.contact .meta{min-width:0}.contact .line{align-items:baseline;gap:5px;min-width:0;display:flex}.contact .nm{letter-spacing:-.025em;white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.contact .uid{font-family:var(--mono);color:var(--ink-3);opacity:.85;flex:none;font-size:10px}.contact.active .uid{color:var(--accent)}.contact .sub{min-width:0;color:var(--ink-2);align-items:center;gap:4px;margin-top:2px;font-size:13px;display:flex}.contact .sub .txt{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.contact .sub.typing{color:var(--accent);font-style:italic}.contact .sub.unseen .txt{color:var(--ink);font-weight:600}.contact .right{flex-direction:column;justify-self:end;align-items:flex-end;gap:4px;padding-left:2px;display:flex}.contact .when{font-family:var(--sans);color:var(--ink-3);white-space:nowrap;font-size:11.5px;font-weight:500}.badge{background:var(--accent);min-width:20px;height:20px;color:var(--on-accent);font-family:var(--sans);border-radius:999px;place-items:center;padding:0 6px;font-size:11px;font-weight:700;animation:.2s ease-out badge-pop;display:grid;box-shadow:inset 0 1px #ffffff2e,0 2px 5px #2a5f5a38}@keyframes badge-pop{0%{opacity:.5;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.presence{width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;bottom:-1px;right:-1px}.presence.on{background:var(--green);box-shadow:0 0 0 2px var(--surface), 0 0 0 4px #2f9e5f33}.presence.off{background:var(--ink-3);opacity:.5}.avatar-wrap.lg .presence{width:12px;height:12px}.contact.active .presence{box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--accent-soft)}.timer{font-family:var(--sans);font-variant-numeric:tabular-nums;color:var(--ink-2);flex:none;margin-left:auto;padding-left:6px;font-size:11.5px;font-weight:600}.timer-progress{min-width:72px;height:16px;font-family:var(--mono);color:var(--ink-2);flex:none;align-items:center;gap:6px;margin-left:auto;font-size:9.5px;display:flex;position:relative}.timer-progress.compact{min-width:64px;height:14px;font-size:9px}.timer-progress:before{content:"";background:var(--line);border-radius:999px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.timer-progress-bar{background:var(--accent);border-radius:999px;max-width:100%;height:3px;transition:width .8s linear;position:absolute;top:50%;left:0;transform:translateY(-50%)}.timer-progress.warn .timer-progress-bar{background:var(--amber)}.timer-progress.dead .timer-progress-bar{background:var(--red);width:0!important}.timer-progress.urgent .timer-progress-label{animation:1s ease-in-out infinite timer-pulse}.timer-progress-label{z-index:1;background:var(--side-bg);margin-left:auto;padding-left:4px;position:relative}.contact .timer-progress-label{background:0 0}.timer-progress.compact .timer-progress-label{font-size:8.5px}@keyframes timer-pulse{0%,to{opacity:1;color:var(--ink-2)}50%{opacity:.7;color:var(--red)}}.lock-icon{opacity:.7;flex:none;font-size:10px}.extend-cta{border-color:var(--accent)!important;color:var(--accent)!important}.sec-expired .sec-head .eyebrow{color:var(--ink-3)}.timer.warn{color:var(--amber)}.timer.dead{color:var(--red)}.sec-next{font-family:var(--sans);color:var(--ink-3);align-items:baseline;gap:6px;padding:4px 14px 2px;font-size:11.5px;font-weight:500;display:flex}.sec-next .v{color:var(--ink-2)}.sec-next.due{color:var(--accent)}.score{font-family:var(--sans);color:var(--amber);background:var(--amber-soft);border:1px solid var(--amber-border);white-space:nowrap;box-shadow:var(--shadow-sm);border-radius:999px;flex:none;padding:2px 7px;font-size:11px;font-weight:700}.contact.expired .score{color:var(--ink-3);background:0 0}.contact.expired{opacity:.55}.contact.expired .avatar{background:var(--line-2);border-color:var(--line-2);color:var(--surface)}.contact.expired .nm,.contact.expired .sub .txt{color:var(--ink-3)}.contact.expired.active{opacity:.75}.thread{background:var(--thread-bg);background-image:var(--fiber);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.thread-head{background:var(--surface);border-bottom:1px solid var(--line);background-image:var(--fiber);flex:none;padding:11px 20px;box-shadow:inset 0 1px #ffffff59,0 4px 14px -12px #28241c59}.thread-head-rich{align-items:center;gap:14px;padding:13px 20px;display:flex}.thread-head-main{flex:1;min-width:0}.thread-head-empty .nm{letter-spacing:-.03em;font-size:16px;font-weight:700;display:block}.thread-head-empty .ch{font-family:var(--sans);color:var(--ink-3);margin-top:3px;font-size:13px;display:block}.thread-timer-chip{font-family:var(--mono);color:var(--ink-3);border:1px solid var(--line);background:var(--surface-2);box-shadow:var(--shadow-sm);border-radius:999px;padding:3px 9px;font-size:11px}.thread-timer-chip.warn{color:var(--amber);border-color:var(--amber-border);background:var(--amber-soft)}.thread-timer-chip.dead{color:var(--red);border-color:var(--notice-border);background:var(--notice-bg)}.thread-head .nm-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.extend-picks{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.extend-picks .extend-cta{min-width:0;padding:3px 8px;font-size:10px}.thread-head .nm{letter-spacing:-.03em;align-items:center;gap:7px;font-size:16.5px;font-weight:700;display:inline-flex}.thread-head .ch .idchip{margin-left:2px}.thread-head .status{font-family:var(--sans);color:var(--ink-3);align-items:center;gap:5px;font-size:12.5px;font-weight:500;display:flex}.thread-head .status .dot{background:var(--ink-3);border-radius:50%;width:6px;height:6px}.thread-head .status.online{color:var(--green)}.thread-head .status.online .dot{background:var(--green)}.thread-head .status.offline{color:var(--ink-2)}.thread-head .status.offline .dot{background:var(--ink-3)}.thread-head .status.unknown{color:var(--amber)}.thread-head .status.unknown .dot{background:var(--amber)}.thread-head .status.new{color:var(--amber)}.thread-head .status.new .dot{background:var(--amber)}.thread-head .status.typing{color:var(--accent);font-style:italic}.thread-head .status.typing .typing-dots i{background:var(--accent)}.thread-head .thread-timer{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:7px;margin-left:2px;padding:4px 9px 4px 8px;font-size:12px;transition:background .2s,border-color .2s;display:inline-flex}.thread-head .thread-timer .eyebrow{margin:0;font-size:10px}.thread-head .thread-timer .timer{font-family:var(--sans);margin:0;padding:0;font-size:12.5px;font-weight:700}.thread-head .thread-timer.urgent .timer{color:var(--amber)}.thread-head .thread-timer.dead{background:var(--amber-soft);color:var(--amber);border-color:#e6d5b4}.thread-head .thread-timer.dead .timer{color:var(--amber)}.thread-head .thread-timer.success{background:var(--accent-soft);border-color:var(--accent-border)}.thread-head .thread-timer.success .timer-status.ok{color:var(--accent);font-weight:600}.thread-head .thread-timer.pending{opacity:.85}.thread-head .thread-timer .timer-status{font-family:var(--sans);font-size:12.5px;font-weight:600}.thread-head .thread-timer .extend-cta{margin-left:2px}.thread-head .ch{font-family:var(--sans);color:var(--ink-3);word-break:break-all;font-size:12px}.messages{background:var(--thread-bg);flex-direction:column;flex:1;gap:2px;padding:18px 24px 22px;display:flex;overflow-y:auto}.msg{align-items:flex-end;gap:8px;max-width:min(620px,86%);animation:.24s ease-out msg-in;display:flex}.msg.solo,.msg.group-start{margin-top:12px}.msg.solo:first-child,.msg.group-start:first-child{margin-top:0}@keyframes msg-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.msg.in{align-self:flex-start}.msg.out{flex-direction:row-reverse;align-self:flex-end}.msg-body{flex-direction:column;gap:3px;min-width:0;display:flex}.msg.out .msg-body{align-items:flex-end}.msg-avatar-spacer{flex:none;width:28px;height:1px}.bubble{background:var(--bubble-in);color:var(--bubble-in-ink);white-space:pre-wrap;word-break:break-word;letter-spacing:-.014em;border:none;border-radius:18px;padding:10px 14px;font-size:15.5px;font-weight:500;line-height:1.45;transition:transform .14s,box-shadow .14s;box-shadow:0 1px 2px #1018280f}.msg.in .bubble{border-bottom-left-radius:6px}.msg.in.group-start .bubble{border-radius:18px 18px 18px 8px}.msg.in.group-mid .bubble{border-radius:8px 18px 18px 8px}.msg.in.group-end .bubble{border-radius:8px 18px 18px 6px}.msg.in.solo .bubble{border-radius:18px 18px 18px 6px}.msg.in:hover .bubble{transform:translateY(-1px)}.msg.out .bubble{background:var(--accent);color:var(--on-accent);border-color:#0000;border-bottom-right-radius:6px;box-shadow:0 1px 2px #2a5f5a38}.msg.out.group-start .bubble{border-radius:18px 18px 8px}.msg.out.group-mid .bubble{border-radius:18px 8px 8px 18px}.msg.out.group-end .bubble{border-radius:18px 8px 6px 18px}.msg.out.solo .bubble{border-radius:18px 18px 6px}.msg.out:hover .bubble{transform:translateY(-1px)}.msg.pending .bubble{opacity:.6}.msg.pending .stamp{color:var(--amber)}.msg.typing-msg{align-self:flex-start;margin-top:12px}.bubble.typing-bubble{justify-content:flex-start;align-items:center;gap:10px;min-width:52px;padding:10px 14px;display:flex}.typing-name{color:var(--ink-2);letter-spacing:-.015em;font-size:13px;font-weight:600}.typing-bubble .typing-dots i{background:var(--ink-3);width:6px;height:6px}.msg .stamp{font-family:var(--sans);color:var(--ink-3);padding:0 4px;font-size:11.5px;font-weight:500}.debug-meta{font-family:var(--mono);color:var(--ink-3);opacity:.85;padding:0 4px;font-size:9px}.ticks{letter-spacing:-3px;flex:none;margin-right:3px;transition:color .25s,transform .2s;display:inline-block}.ticks.tick-animate.read{animation:.35s ease-out tick-read}@keyframes tick-read{0%{color:var(--ink-3);transform:scale(.85)}to{color:var(--tick);transform:scale(1)}}.ticks.sent{color:var(--ink-3)}.ticks.read{color:var(--tick);font-weight:600}.contact .sub .ticks.read,.msg .ticks.read{color:var(--tick)}.ticks.pending{letter-spacing:0;color:var(--amber)}.divider{font-family:var(--sans);color:var(--ink-3);letter-spacing:0;text-transform:none;box-shadow:none;background:0 0;border:none;border-radius:0;align-self:center;padding:16px 0 10px;font-size:12px;font-weight:600}.earlier{border:1px solid var(--line-2);background:var(--surface);font-family:var(--sans);color:var(--ink-2);border-radius:999px;align-self:center;padding:7px 14px;font-size:12.5px;font-weight:600}.earlier:hover{border-color:var(--accent);color:var(--accent)}.empty{text-align:center;color:var(--ink-3);max-width:340px;margin:auto}.empty .big{color:var(--ink-2);margin-bottom:4px;font-size:15px;font-weight:600}.empty-state{text-align:center;background:var(--surface);border:1px solid var(--line);max-width:320px;box-shadow:var(--shadow-md);background-image:var(--fiber);border-radius:22px;margin:auto;padding:32px 24px;animation:.35s ease-out msg-in;position:relative}.empty-state:before{content:"";background:linear-gradient(#fff8dce6,#ecd296d9);border:1px solid #b4965a4d;border-radius:3px;width:72px;height:22px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(1.5deg);box-shadow:0 2px 5px #372d1e1a}.empty-icon{background:var(--surface-2);border:1px solid var(--line);width:72px;height:72px;box-shadow:var(--shadow-card);border-radius:20px;place-items:center;margin:8px auto 16px;padding:0;display:grid;overflow:hidden}.empty-icon img{object-fit:cover;width:100%;height:100%;display:block}.empty-title{letter-spacing:-.03em;color:var(--ink);margin-bottom:6px;font-size:18px;font-weight:700}.empty-hint{color:var(--ink-3);font-size:14px;line-height:1.5}.composer{background:var(--surface);border-top:1px solid var(--line);background-image:var(--fiber);flex:none;align-items:center;gap:10px;padding:12px 18px 16px;display:flex;box-shadow:inset 0 1px #ffffff80,0 -10px 24px -16px #372d1e4d}.composer input{background:var(--surface-focus);border:1px solid var(--line);font-size:15.5px;font-family:var(--sans);letter-spacing:-.014em;box-shadow:none;border-radius:22px;flex:1;padding:13px 18px;transition:background .12s,border-color .12s,box-shadow .12s}.composer.has-text input{border-color:var(--accent-border);background:var(--surface-focus)}.composer input:focus{background:var(--surface-focus);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.composer input:disabled{background:var(--surface-2);color:var(--ink-3)}.btn-send{letter-spacing:-.02em;border-radius:999px;min-width:84px;padding:12px 20px;font-size:14.5px;transition:transform .12s,opacity .12s,box-shadow .12s}.composer.has-text .btn-send:not(:disabled){animation:1.6s ease-in-out infinite send-glow;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff2e,0 2px #0000000f,0 8px 14px -6px #2a5f5a47}@keyframes send-glow{0%,to{box-shadow:inset 0 1px #ffffff2e,0 2px #0000000f,0 8px 14px -6px #2a5f5a47}50%{box-shadow:inset 0 1px #ffffff2e,0 2px #0000000f,0 8px 18px -4px #2a5f5a61,0 0 12px #2a5f5a1f}}.btn-send:disabled{opacity:.45}.incoming-toast{z-index:80;text-align:left;background:var(--surface);max-width:min(360px,100vw - 36px);color:var(--ink);border:1px solid var(--mark-green);box-shadow:0 8px 28px #0000002e, 0 0 0 2px color-mix(in srgb, var(--mark-green) 22%, transparent);border-radius:16px;align-items:center;gap:10px;padding:10px 14px 10px 10px;animation:.28s ease-out msg-in;display:flex;position:fixed;top:18px;right:18px}.incoming-toast:hover{transform:translateY(-1px)}.incoming-toast-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.incoming-toast-copy strong{letter-spacing:-.025em;font-size:14px;font-weight:700}.incoming-toast-copy span{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;max-width:280px;font-size:13.5px;overflow:hidden}.notice code{font-family:var(--mono);font-size:11.5px}.typing-bar{background:var(--accent-soft);border-top:1px solid var(--accent-border);color:var(--ink-2);flex:none;align-items:center;gap:8px;padding:8px 18px;font-size:12.5px;font-weight:600;display:flex}.timer-bar{background:var(--surface);border-top:1px solid var(--line);color:var(--ink-2);flex:none;align-items:center;gap:10px;padding:7px 18px;font-size:12px;transition:background .2s,border-color .2s;display:flex}.timer-bar .eyebrow{margin:0}.timer-bar.pending{opacity:.85}.timer-bar.success{background:var(--accent-soft);border-top-color:var(--accent-border)}.timer-bar.success .timer-status.ok{color:var(--accent);font-weight:600}.timer-bar .timer-status{font-family:var(--mono);font-size:12px;font-weight:600}.timer-bar.urgent .timer:not(.timer-status){color:var(--amber);font-weight:600}.timer-bar .grow{flex:1}.timer-bar .timer{margin-left:0;padding-left:0;font-size:12px;font-weight:600}.timer-bar.dead .timer,.timer-bar.dead .eyebrow{color:var(--red)}.contact .timer.warn{color:var(--amber)}.contact .timer:not(.warn):not(.dead){color:var(--ink-3)}.typing-bar .dots{gap:3px;display:inline-flex}.typing-dots{align-items:center;gap:3px;display:inline-flex}.typing-dots.inline{margin-right:2px}.typing-bar .dots i,.typing-dots i{background:var(--accent);border-radius:50%;width:4px;height:4px;animation:1.1s ease-in-out infinite blip}.typing-bar .dots i:nth-child(2),.typing-dots i:nth-child(2){animation-delay:.18s}.typing-bar .dots i:nth-child(3),.typing-dots i:nth-child(3){animation-delay:.36s}@keyframes blip{0%,60%,to{opacity:.25}30%{opacity:1}}@media (prefers-reduced-motion:reduce){.typing-bar .dots i,.typing-dots i{opacity:.7;animation:none}.statedot.connecting{animation:none}.spinner{animation-duration:2.4s}.msg,.empty-state,.conn-banner,.timer-progress.urgent .timer-progress-label,.timer-bar.urgent .timer-progress-label,.ticks.tick-animate.read,.badge{animation:none}}.conn-banner{font-family:var(--mono);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 16px;font-size:11px;animation:.2s ease-out banner-in;display:flex}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.conn-banner.ok{background:var(--accent-soft);color:var(--accent)}.conn-banner.warn{background:var(--amber-soft);color:var(--amber)}.conn-banner.bad{background:var(--err-bg);color:var(--err-text)}.conn-banner-dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.conn-banner-text{flex:1}.conn-banner-close{color:inherit;opacity:.7;cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:2px 6px;font-size:18px;line-height:1}.conn-banner-close:hover{opacity:1;background:#0000000f}.workspace{flex:1;min-height:0;display:flex;overflow:hidden}.workspace.events-open .thread{min-width:0}.log{background:var(--log-bg);width:min(420px,36vw);min-height:0;color:var(--log-fg);border-left:1px solid var(--line);flex-direction:column;flex:none;animation:.16s ease-out log-in;display:flex;box-shadow:-4px 0 16px #0000000f}@keyframes log-in{0%{opacity:.85;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.log-head{border-bottom:1px solid var(--log-line);background:var(--log-bg);flex:none;justify-content:space-between;align-items:center;gap:12px;height:40px;padding:0 8px 0 14px;display:flex}.log-head .eyebrow{color:var(--log-muted);margin:0}.log-head-actions{align-items:center;gap:4px;display:flex}.log-close-btn{border-radius:var(--radius);width:28px;height:28px;color:var(--log-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.log-close-btn:hover{background:var(--log-hover);color:var(--log-fg)}.log-body{font-family:var(--mono);flex:1;min-height:0;padding:8px 0;font-size:11px;overflow-y:auto}.log-row{grid-template-columns:56px 1fr;align-items:start;gap:8px;padding:4px 14px;display:grid}.log-main{align-items:flex-start;gap:8px;min-width:0;display:flex}.log-icon{text-align:center;opacity:.85;flex:none;width:18px;font-size:11px}.log-icon.tone-dm{color:var(--log-key)}.log-icon.tone-typing{color:var(--log-key-warn)}.log-icon.tone-read{color:#7eb8ff}.log-icon.tone-timer{color:var(--log-key-warn)}.log-icon.tone-connect{color:var(--log-key)}.log-icon.tone-bad{color:var(--log-key-bad)}.log-row:hover{background:var(--log-hover)}.log-row .t{color:var(--log-time)}.log-row .k{color:var(--log-key)}.log-row.bad .k{color:var(--log-key-bad)}.log-row.warn .k{color:var(--log-key-warn)}.log-row .v{color:var(--log-val);word-break:break-all}.log .icon-btn{border-color:var(--log-btn-border);color:var(--log-btn-fg)}.log .icon-btn:hover{border-color:var(--log-key);color:var(--log-key)}@media (width<=860px){.contacts{width:min(var(--side-w,286px), 42vw)}.workspace.events-open:before{content:"";z-index:4;background:#00000047;position:fixed;inset:46px 0 0}.log{z-index:5;width:min(420px,92vw);position:fixed;inset:46px 0 0 auto;box-shadow:-8px 0 24px #0000002e}.wire .cell.optional{display:none}}@media (width<=720px){.screen-login{padding:88px 18px 120px}.login-brand-panel{padding:22px 20px 20px}.login-mark{border-radius:16px;width:64px;height:64px}.login-wordmark{font-size:28px}.login-card{max-height:none;overflow:visible}.login-head,.login-body{padding-left:20px;padding-right:20px}}.theme-sky{z-index:99999;pointer-events:none;animation:1.15s forwards sky-pass;position:fixed;inset:0;overflow:hidden}.theme-sky.night{background:linear-gradient(#1b2744 0%,#0b1220 48%,#05070c 100%)}.theme-sky.day{background:linear-gradient(#7ec8ff 0%,#ffe7b0 46%,#fff7ea 100%)}.theme-sky-glow{filter:blur(8px);border-radius:50%;width:180px;height:180px;position:absolute;top:4%;right:6%}.theme-sky.night .theme-sky-glow{background:radial-gradient(circle,#ffaa4673,#0000 68%);animation:1.15s forwards sky-sun-drop}.theme-sky.day .theme-sky-glow{background:radial-gradient(circle,#ffdc6eb3,#0000 68%);animation:1.15s forwards sky-sun-rise}.theme-sky-sun,.theme-sky-moon{border-radius:50%;width:64px;height:64px;position:absolute;top:8%;right:9%}.theme-sky-sun{background:radial-gradient(circle at 35% 35%,#fff6c2,#ffb347 62%,#ff8a2a);box-shadow:0 0 28px 10px #ffb4468c}.theme-sky.night .theme-sky-sun{animation:1.15s forwards sky-sun-drop}.theme-sky.day .theme-sky-sun{animation:1.15s forwards sky-sun-rise}.theme-sky-moon{background:#eef3ff;box-shadow:inset -10px -4px #9aaac8,0 0 20px #c8dcff59}.theme-sky.night .theme-sky-moon{animation:1.15s forwards sky-moon-rise}.theme-sky.day .theme-sky-moon{animation:1.15s forwards sky-moon-drop}.theme-sky-stars{background-image:radial-gradient(1.5px 1.5px at 12% 22%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 28% 48%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 46% 16%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 63% 34%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 78% 18%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 88% 52%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 18% 72%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 54% 64%,#fff 50%,#0000 51%);position:absolute;inset:0}.theme-sky.night .theme-sky-stars{animation:1.15s forwards sky-stars-in}.theme-sky.day .theme-sky-stars{opacity:0}@keyframes sky-pass{0%{opacity:0}22%{opacity:.72}to{opacity:0}}@keyframes sky-sun-drop{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(42vh)scale(.7)}}@keyframes sky-sun-rise{0%{opacity:0;transform:translateY(42vh)scale(.7)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sky-moon-rise{0%{opacity:0;transform:translate(-18px,28px)scale(.7)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes sky-moon-drop{0%{opacity:.9;transform:translate(0)scale(1)}to{opacity:0;transform:translate(12px,36vh)scale(.7)}}@keyframes sky-stars-in{0%{opacity:0}40%{opacity:.9}to{opacity:0}}@media (prefers-reduced-motion:reduce){.theme-sky{display:none}}
