:root{--bg:#f8fafc;--fg:#0f172a;--muted:#64748b;--line:#e2e8f0;--card:#fff;--accent:#1d4ed8;--accent-fg:#fff;--user:#e0e7ff;--ok:#15803d;--err:#b91c1c;--warn-bg:#fffbeb;--warn-line:#f59e0b}@media (prefers-color-scheme:dark){:root{--bg:#0b1120;--fg:#e2e8f0;--muted:#94a3b8;--line:#1e293b;--card:#111a2e;--accent:#3b82f6;--user:#1e2a52;--ok:#4ade80;--err:#f87171;--warn-bg:#2a2110}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.app{flex-direction:column;max-width:860px;height:100dvh;margin:0 auto;display:flex}.bar{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 16px;display:flex}.bar select{border:1px solid var(--line);background:var(--card);border-radius:8px;flex:1;min-width:0;padding:8px}.btn{border:1px solid var(--line);background:var(--card);white-space:nowrap;border-radius:8px;padding:8px 12px}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.pill{color:var(--muted);font-size:13px}.pill b{color:var(--ok);font-weight:600}.feed{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.empty{text-align:center;color:var(--muted);max-width:420px;margin:auto}.msg{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;max-width:92%;padding:10px 14px}.msg.user{background:var(--user);align-self:flex-end}.msg.assistant{background:var(--card);border:1px solid var(--line);align-self:flex-start}.files{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:2px 8px;font-size:13px}.tools{color:var(--muted);flex-direction:column;gap:4px;margin-top:8px;font-size:13px;display:flex}.tools .ok:before{content:"✓ ";color:var(--ok)}.tools .error:before{content:"✕ ";color:var(--err)}.tools .rejected:before{content:"⊘ ";color:var(--muted)}.tools .waiting:before{content:"… "}.approval{border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.approval h3{margin:0;font-size:15px}.approval pre{background:var(--card);border:1px solid var(--line);border-radius:8px;max-height:220px;margin:0;padding:8px;font-size:12.5px;overflow:auto}.approval .method{font-weight:700}.approval .method.DELETE{color:var(--err)}.row{flex-wrap:wrap;gap:8px;display:flex}.decided{color:var(--muted);font-size:13px}.composer{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:10px 16px 14px;display:flex}.composer .attached{flex-wrap:wrap;gap:6px;display:flex}.composer .line{align-items:flex-end;gap:8px;display:flex}.composer textarea{resize:none;border:1px solid var(--line);background:var(--card);border-radius:12px;flex:1;max-height:160px;padding:10px 12px}.err{color:var(--err);font-size:14px}.login{flex-direction:column;gap:12px;max-width:360px;margin:18vh auto 0;padding:0 16px;display:flex}.login input{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:10px 12px}
