:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f6fb;--panel:#fff;--ink:#141b2d;--muted:#5b6478;--line:#e2e6ef;--accent:#3557e0;--accent-ink:#fff;--accent-soft:color-mix(in srgb, var(--accent) 12%, transparent);--hover:#f0f3fa;--active:#3557e0;--chat-bg:#e8edf7;--chat-dots:#3557e012;--in:#fff;--in-ink:#141b2d;--out:#dfe7ff;--out-ink:#12204f;--out-meta:#4a62b8;--day:#3a4662c7;--bad:#d6334d;--ok:#119a5c;--shadow:0 1px 1.5px #141b2d1f;--name-l:42%;--r:16px;font-synthesis:none}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d1220;--panel:#151c2e;--ink:#e8ecf6;--muted:#97a1b8;--line:#263049;--accent:#6f8cff;--accent-ink:#0d1220;--hover:#1b2338;--active:#3d57c9;--chat-bg:#0b1020;--chat-dots:#6f8cff0f;--in:#1b2337;--in-ink:#e8ecf6;--out:#2c43a8;--out-ink:#f2f5ff;--out-meta:#b9c7ff;--day:#4a5980f7;--bad:#ff6b81;--ok:#38c98a;--shadow:0 1px 1.5px #00000059;--name-l:70%}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font:15px/1.4 Segoe UI Variable,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}svg{display:block}.muted{color:var(--muted)}.small{font-size:13px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.login-screen{height:100%;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));place-items:center;display:grid;overflow:auto}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;gap:12px;width:100%;max-width:380px;padding:28px 24px 24px;display:grid;box-shadow:0 10px 30px #141b2d0f}.login-card .mark{border-radius:14px;justify-self:center}.login-card h1{text-align:center;letter-spacing:-.01em;margin:4px 0 0;font-size:24px}.login-card>.muted{text-align:center;margin:-6px 0 6px}.field{gap:6px;display:grid}.field span{color:var(--muted);font-size:13px;font-weight:600}.field input{border:1px solid var(--line);background:var(--bg);border-radius:10px;outline:none;width:100%;padding:11px 12px;font-size:16px}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;margin-top:4px;padding:12px;font-size:16px;font-weight:600}.primary:disabled{opacity:.55;cursor:default}.error{color:var(--bad);margin:0;font-size:14px}.notice{background:color-mix(in srgb, var(--bad) 12%, transparent);color:var(--bad);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.notice svg{fill:none;stroke:currentColor;stroke-width:2px;flex:none;width:18px;height:18px}.install-btn{border:1px solid var(--line);color:var(--accent);background:0 0;border-radius:10px;justify-self:center;margin-top:4px;padding:8px 12px;font-size:14px;font-weight:600}.install-tip{text-align:center;color:var(--muted);margin:4px 0 0;font-size:13px}.app{height:100%;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:var(--panel);grid-template-columns:minmax(300px,360px) 1fr;display:grid}.pane{flex-direction:column;min-width:0;min-height:0;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--line);position:relative}.bar{min-height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;background:var(--panel);border-bottom:1px solid var(--line);z-index:2;flex:none;align-items:center;gap:10px;display:flex;position:relative}.bar-title{flex:1;align-items:center;gap:8px;min-width:0;font-size:17px;display:flex}.bar-title.col{flex-direction:column;align-items:flex-start;gap:0;line-height:1.25}.bar-title.col b{max-width:100%;font-size:16px}.me-btn{background:0 0;border:0;border-radius:50%;padding:0}.me-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;font-size:22px;line-height:1;display:grid}.icon-btn:hover{background:var(--hover)}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.back{color:var(--accent);margin-left:-6px;display:none}.conn{color:var(--muted);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.small .conn{font-size:13px;font-weight:400}.spinner{border:2px solid color-mix(in srgb, var(--muted) 35%, transparent);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar{--h:222;color:#fff;background:linear-gradient(140deg, hsl(var(--h) 75% 62%), hsl(var(--h) 62% 47%));letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.avatar.sm{width:38px;height:38px;font-size:14px}.avatar.md{width:50px;height:50px;font-size:17px}.avatar.lg{width:48px;height:48px;font-size:17px}.menu{background:var(--panel);border:1px solid var(--line);z-index:10;border-radius:14px;width:260px;padding:6px;position:absolute;top:calc(100% - 4px);left:10px;box-shadow:0 12px 32px #0a0f1e2e}.menu-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:4px;padding:10px 10px 12px;display:flex}.menu-head>div{min-width:0;display:grid}.menu-head b,.menu-head span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-head span{font-size:13px}.menu-item{text-align:left;background:0 0;border:0;border-radius:8px;width:100%;padding:10px;font-size:15px;display:block}.menu-item:hover{background:var(--hover)}.menu-item.danger{color:var(--bad);font-weight:600}.menu-tip{color:var(--muted);margin:4px 10px 8px;font-size:13px}.chat-list{padding:6px 6px calc(6px + env(safe-area-inset-bottom));overscroll-behavior:contain;flex:1;margin:0;list-style:none;overflow-y:auto}.list-note{color:var(--muted);text-align:center;padding:24px 16px;font-size:14px}.chat-row{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;padding:8px 10px;display:flex}.chat-row:hover{background:var(--hover)}.chat-row.active{background:var(--active);color:#fff}.chat-row.active .row-time,.chat-row.active .row-preview,.chat-row.active .kind{color:#ffffffd9}.chat-row.active .badge{color:var(--active);background:#fff}.row-main{flex:1;gap:3px;min-width:0;display:grid}.row-top,.row-bottom{align-items:center;gap:8px;min-width:0;display:flex}.row-title{flex:1;align-items:center;gap:5px;min-width:0;font-weight:600;display:flex}.kind{color:var(--muted);flex:none}.kind svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.row-time{color:var(--muted);flex:none;font-size:12px}.row-preview{color:var(--muted);flex:1;font-size:14px}.badge{background:var(--accent);min-width:22px;height:22px;color:var(--accent-ink);border-radius:11px;flex:none;place-items:center;padding:0 7px;font-size:12px;font-weight:700;display:grid}.install-strip{padding:8px 8px calc(8px + env(safe-area-inset-bottom)) 12px;border-top:1px solid var(--line);align-items:center;gap:6px;display:flex}.install-strip>:first-child{text-align:left;flex:1;justify-self:auto;margin:0}.install-strip .install-btn{text-align:left;border:0;padding:6px 0}.empty-pane{background:var(--chat-bg)}.empty{color:var(--muted);justify-items:center;gap:12px;margin:auto;display:grid}.empty .mark{opacity:.9;border-radius:16px}.empty p{background:var(--day);color:#fff;border-radius:999px;margin:0;padding:4px 12px;font-size:14px}.empty p:empty{display:none}.chat{background:var(--chat-bg)}.messages{overscroll-behavior:contain;background-color:var(--chat-bg);background-image:radial-gradient(var(--chat-dots) 1.2px, transparent 1.2px);background-size:22px 22px;flex:1;overflow-y:auto}.messages-inner{flex-direction:column;justify-content:flex-end;max-width:820px;min-height:100%;margin:0 auto;padding:12px 16px 8px;display:flex}.older-hint{text-align:center;color:var(--muted);padding:4px 0 8px;font-size:12px}.day,.unread-mark{z-index:1;justify-content:center;margin:10px 0 8px;display:flex;position:sticky;top:6px}.unread-mark{position:static}.day span,.unread-mark span{background:var(--day);color:#fff;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;box-shadow:0 1px 2px #00000026}.unread-mark span{background:var(--accent-soft);color:var(--accent)}.msg{flex-direction:column;margin-top:2px;display:flex}.msg.tail{margin-bottom:6px}.msg.in{align-items:flex-start}.msg.out{align-items:flex-end}.bubble{border-radius:var(--r);background:var(--in);max-width:min(560px,82%);color:var(--in-ink);box-shadow:var(--shadow);padding:6px 10px 6px 11px;position:relative}.msg.out .bubble{background:var(--out);color:var(--out-ink)}.msg.in.tail .bubble{border-bottom-left-radius:5px}.msg.out.tail .bubble{border-bottom-right-radius:5px}.msg.pending .bubble{opacity:.8}.msg.failed .bubble{outline:1.5px solid var(--bad)}.sender{--h:222;color:hsl(var(--h) 60% var(--name-l));margin-bottom:1px;font-size:13.5px;font-weight:700}.text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.38}.text a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.msg.out .text a{color:inherit}.meta-spacer{width:52px;display:inline-block}.msg.out .meta-spacer{width:70px}.msg.out:has(.sig) .meta-spacer{width:160px}.meta{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:11.5px;display:inline-flex;position:absolute;bottom:4px;right:9px}.msg.out .meta{color:var(--out-meta)}.sig{text-overflow:ellipsis;max-width:90px;overflow:hidden}.state svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.state.failed{color:var(--bad)}.failed-actions{color:var(--bad);align-items:center;gap:10px;margin:4px 2px 6px;font-size:13px;display:flex}.failed-actions button{color:var(--accent);background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.readonly-bar{min-height:52px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);color:var(--muted);flex:none;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.readonly-bar svg{fill:none;stroke:currentColor;stroke-width:2px;width:16px;height:16px}.composer{padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);flex:none;align-items:flex-end;gap:8px;display:flex}.composer-field{flex:1;min-width:0;max-width:820px;margin-left:auto;position:relative}.composer textarea{border:1px solid var(--line);background:var(--bg);resize:none;border-radius:21px;outline:none;width:100%;min-height:42px;max-height:160px;padding:10px 14px;font-size:16px;line-height:1.35;display:block}.composer textarea:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.counter{color:var(--muted);font-size:11px;position:absolute;top:-18px;right:14px}.counter.bad{color:var(--bad);font-weight:700}.send-btn{background:var(--accent);width:42px;height:42px;color:var(--accent-ink);border:0;border-radius:50%;flex:none;place-items:center;margin-right:auto;display:grid}.send-btn:disabled{background:var(--line);color:var(--muted);cursor:default}.send-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;width:20px;height:20px;transform:translate(-1px)}@media (max-width:719px){.app{grid-template-columns:1fr}.app .empty-pane,.app.has-chat .sidebar{display:none}.sidebar{border-right:0}.back{display:grid}.messages-inner{padding:10px 8px 6px}.bubble{max-width:86%}.menu{left:8px;right:auto}.composer{padding-left:8px;padding-right:8px}}@media (hover:none){.chat-row:hover,.icon-btn:hover,.menu-item:hover{background:0 0}.chat-row.active:hover{background:var(--active)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}
