:root{--accent: #6a5cf0;--accent-soft: color-mix(in oklab, var(--accent) 22%, transparent);--bg: #0f1017;--surface: #171926;--surface-2: #1f2233;--line: #2a2e42;--text: #eceefb;--muted: #9aa0bd;--danger: #ff6b6b;--ok: #3ddc97;--radius: 14px;--topbar: 54px;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f6f7fb;--surface: #ffffff;--surface-2: #eef0f7;--line: #e0e3ee;--text: #14161f;--muted: #666d8a;color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;height:100%;overscroll-behavior-y:none}body{background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#app{height:100%}button,input,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.screen{display:flex;flex-direction:column;height:100dvh;max-width:720px;margin:0 auto;background:var(--bg)}.topbar{display:flex;align-items:center;gap:10px;height:calc(var(--topbar) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar h1{font-size:17px;font-weight:650;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .sub{display:block;font-size:12px;font-weight:450;color:var(--muted)}.body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.pad{padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid transparent;border-radius:11px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;transition:filter .15s,background .15s}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:transparent;border-color:var(--line);color:var(--text)}.btn.quiet{background:transparent;border-color:transparent;color:var(--muted);padding:8px}.btn.danger{background:transparent;border-color:color-mix(in oklab,var(--danger) 45%,transparent);color:var(--danger)}.btn.block{width:100%}.field{display:block;margin-bottom:14px}.field>span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.input{width:100%;padding:11px 13px;background:var(--surface);border:1px solid var(--line);border-radius:11px;outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);cursor:pointer}.row:hover{background:var(--surface)}.row .grow{flex:1;min-width:0}.row .name{font-weight:600;display:flex;align-items:center;gap:6px}.row .detail{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:650;color:#fff}.badge{font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.badge.ok{background:color-mix(in oklab,var(--ok) 20%,transparent);color:var(--ok)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px}.card h2{margin:0 0 6px;font-size:15px}.card p{margin:0 0 12px;color:var(--muted);font-size:14px}.empty{text-align:center;color:var(--muted);padding:48px 24px}.thread{display:flex;flex-direction:column;gap:4px;padding:16px 12px}.msg{max-width:78%;padding:8px 12px;background:var(--surface-2);align-self:flex-start;border-radius:16px 16px 16px 5px;overflow-wrap:anywhere;white-space:pre-wrap}.msg.mine{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-left-radius:16px;border-bottom-right-radius:5px}.msg+.msg{margin-top:2px}.msg time{display:block;font-size:10.5px;opacity:.65;text-align:right;margin-top:2px}.composer{display:flex;gap:8px;align-items:flex-end;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}.composer textarea{flex:1;resize:none;max-height:140px;padding:10px 13px;background:var(--surface);border:1px solid var(--line);border-radius:18px;outline:none}.composer textarea:focus{border-color:var(--accent)}.send{width:40px;height:40px;flex:none;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center}.send:disabled{opacity:.4}.code{font-family:ui-monospace,monospace;font-size:26px;letter-spacing:.35em;text-align:center;padding:14px;background:var(--surface-2);border-radius:var(--radius);text-transform:uppercase}.notice{padding:10px 14px;border-radius:11px;background:color-mix(in oklab,var(--danger) 16%,transparent);color:var(--danger);font-size:14px;margin-bottom:12px}.offline{background:var(--surface-2);color:var(--muted);text-align:center;font-size:12.5px;padding:5px}.fab{position:sticky;bottom:calc(18px + env(safe-area-inset-bottom));float:right;margin:0 18px;width:54px;height:54px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:26px;cursor:pointer;box-shadow:0 8px 22px #00000059}.cold-start{max-width:34rem;margin:0 auto;padding:12vh 24px}.spinner{width:22px;height:22px;margin:40px auto;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}
