:root{--bg: var(--tg-theme-bg-color, #0f0f10);--bg-2: var(--tg-theme-secondary-bg-color, #17181a);--card: #1c1d20;--card-2: #232428;--line: rgba(255, 255, 255, .08);--fg: var(--tg-theme-text-color, #ececec);--muted: var(--tg-theme-hint-color, #8b8d93);--accent: var(--tg-theme-button-color, #e7e7e7);--accent-fg: var(--tg-theme-button-text-color, #0f0f10);--ok: #4ade80;--warn: #fbbf24;--bad: #f87171;--info: #60a5fa;--radius: 14px;--font: -apple-system, "SF Pro Text", Inter, Roboto, "Segoe UI", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root[data-scheme=light]{--card: #ffffff;--card-2: #f2f3f5;--line: rgba(0, 0, 0, .08)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--info);text-decoration:none}.app{display:flex;flex-direction:column;height:100%}.screen{flex:1;overflow-y:auto;padding:12px 14px calc(72px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;gap:10px;padding:10px 14px 6px}.topbar h1{font-size:18px;margin:0;font-weight:600;letter-spacing:-.01em}.topbar .spacer{flex:1}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.tabbar button{flex:1;background:none;border:0;padding:6px 0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px}.tabbar button.active{color:var(--fg)}.tabbar .glyph{font-size:20px;line-height:1}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}.card.pressable{cursor:pointer;transition:transform .08s ease,background .15s}.card.pressable:active{transform:scale(.99);background:var(--card-2)}.row{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}.title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub{color:var(--muted);font-size:13px}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:var(--card-2);color:var(--muted);border:1px solid var(--line)}.pill.running{color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,transparent)}.pill.waiting{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.pill.failed{color:var(--bad)}.pill.idle,.pill.done{color:var(--ok)}.btn{border:1px solid var(--line);background:var(--card-2);border-radius:10px;padding:8px 12px;cursor:pointer}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:transparent}.btn.danger{color:var(--bad)}.btn.small{padding:5px 9px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.empty{color:var(--muted);text-align:center;padding:40px 10px}.section-title{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:14px 2px 6px}.avatar{width:44px;height:44px;flex:none}.avatar .body{fill:var(--card-2);stroke:var(--line)}.avatar .eye{fill:var(--fg);transform-origin:center}.avatar.idle .eye{animation:blink 4s infinite}.avatar.running .body{animation:pulse 1.2s ease-in-out infinite}.avatar.running .eye{animation:look 1.6s ease-in-out infinite}.avatar.waiting .eye{animation:bounce .9s ease-in-out infinite}.avatar.waiting .body{stroke:var(--warn)}.avatar.failed .body{stroke:var(--bad)}.avatar.failed .eye{transform:scaleY(.25)}.avatar.done .body{stroke:var(--ok)}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes look{0%,to{transform:translate(0)}50%{transform:translate(3px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.timeline{display:flex;flex-direction:column;gap:8px}.msg{max-width:92%;padding:9px 12px;border-radius:16px;white-space:pre-wrap;word-break:break-word}.msg.user{align-self:flex-end;background:var(--accent);color:var(--accent-fg);border-bottom-right-radius:6px}.msg.assistant{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-left-radius:6px}.msg.system{align-self:center;color:var(--muted);font-size:12px}.tool{align-self:stretch;background:var(--card-2);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:13px}.tool summary{cursor:pointer;color:var(--muted);font-family:var(--mono);font-size:12px}.tool pre{margin:6px 0 0;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:12px;max-height:240px;overflow:auto}.thinking{color:var(--muted);font-size:13px;font-style:italic}.streaming{align-self:flex-start;color:var(--muted);font-size:13px}.composer{position:sticky;bottom:0;display:flex;gap:8px;padding:10px 0 4px;background:linear-gradient(to top,var(--bg) 70%,transparent)}.composer textarea{flex:1;resize:none;border-radius:14px;border:1px solid var(--line);background:var(--card);padding:10px 12px;min-height:42px;max-height:140px}.question{border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.option{display:block;width:100%;text-align:left;margin-top:6px}.option.selected{border-color:var(--accent)}pre.diff{font-family:var(--mono);font-size:12px;white-space:pre;overflow-x:auto;background:var(--bg-2);padding:10px;border-radius:10px}pre.diff .add{color:var(--ok)}pre.diff .del{color:var(--bad)}pre.diff .hunk{color:var(--info)}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:6px 4px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}label.field{display:block;margin:10px 0 4px;color:var(--muted);font-size:12px}input.field,select.field,textarea.field{width:100%;border-radius:10px;border:1px solid var(--line);background:var(--card-2);padding:8px 10px}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);background:var(--card);border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-size:13px;z-index:5}.stat{display:flex;flex-direction:column;gap:2px}.stat b{font-size:20px;font-weight:600}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
