:root{--bg: #ffffff;--fg: #14171a;--muted: #5d6672;--line: #e4e7ec;--bubble: #f2f4f7;--accent: #1a56db;--danger: #b42318;--danger-bg: #fef3f2;--ok: #067647;--safe-b: env(safe-area-inset-bottom, 0px)}@media(prefers-color-scheme:dark){:root{--bg: #111317;--fg: #f5f6f8;--muted: #98a2b3;--line: #262b33;--bubble: #1b1f25;--accent: #6ea8fe;--danger: #fda29b;--danger-bg: #2b1614;--ok: #75e0a7}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100%}.bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);padding-top:calc(10px + env(safe-area-inset-top,0px));position:sticky;top:0;background:var(--bg);z-index:5}.title{flex:1;display:flex;flex-direction:column;line-height:1.2}.icon-btn{background:none;border:1px solid var(--line);color:var(--fg);border-radius:10px;width:38px;height:38px;cursor:pointer;display:grid;place-items:center}.icon-btn:active{background:var(--bubble)}.drawer{display:none;position:fixed;inset:0;background:#00000059;z-index:20}.drawer.is-open{display:block}.drawer-inner{width:min(88vw,330px);height:100%;background:var(--bg);border-right:1px solid var(--line);padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.drawer-inner .new{text-align:left;background:var(--accent);color:#fff;border:0;padding:11px 12px;border-radius:10px;font-size:15px;cursor:pointer;margin-bottom:6px}.session{text-align:left;background:none;border:0;color:var(--fg);padding:10px;border-radius:8px;cursor:pointer;font-size:14px;display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session:active,.session.current{background:var(--bubble)}.muted{color:var(--muted);font-size:13px}.thread{flex:1;overflow-y:auto;padding:16px 12px 8px}.empty{margin:12vh auto;max-width:30ch;text-align:center}.turn{margin-bottom:16px;display:flex;flex-direction:column}.turn.user{align-items:flex-end}.turn.user .bubble{background:var(--accent);color:#fff;border-radius:16px 16px 4px;padding:10px 13px;max-width:85%}.turn.assistant .bubble{background:var(--bubble);border-radius:16px 16px 16px 4px;padding:11px 14px;max-width:92%;overflow-wrap:anywhere}.turn.assistant .bubble>:first-child{margin-top:0}.turn.assistant .bubble>:last-child{margin-bottom:0}.turn.assistant .bubble p{margin:0 0 9px}.bubble .md-h{margin:13px 0 6px;font-size:15px;font-weight:650;line-height:1.3}.bubble .md-list{margin:0 0 9px;padding-left:20px}.bubble .md-list li{margin:3px 0}.bubble a{color:var(--accent)}.bubble code{background:var(--line);padding:1px 5px;border-radius:4px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.bubble .md-code{margin:0 0 9px;padding:9px 11px;border-radius:8px;background:var(--bg);border:1px solid var(--line);overflow-x:auto;white-space:pre;font-size:12.5px;line-height:1.45}.bubble .md-code code{background:none;padding:0;font-size:inherit}.thinking{display:flex;gap:5px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:pulse 1.3s infinite}.dot:nth-child(2){animation-delay:.18s}.dot:nth-child(3){animation-delay:.36s}@keyframes pulse{0%,60%,to{opacity:.28}30%{opacity:1}}@media(prefers-reduced-motion:reduce){.dot{animation:none;opacity:.5}}.stopped-note{font-size:12.5px;color:var(--muted);margin-top:5px}.trail{margin-bottom:7px;max-width:92%}.trail-head{display:inline-flex;align-items:center;gap:7px;cursor:pointer;background:none;border:0;padding:3px 0;color:var(--muted);font-size:13px}.trail.has-blocked .trail-head{color:var(--danger)}.chev{font-size:10px}.badge{background:var(--danger-bg);color:var(--danger);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.trail-list{list-style:none;margin:5px 0 0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:13px}.trail-list li{display:flex;gap:7px;align-items:baseline;padding:3px 0}.trail-list li.blocked .what{color:var(--danger);font-weight:600}.trail-list .mark{font-size:12px;font-weight:700;width:12px;flex:none}.trail-list li.blocked .mark{color:var(--danger)}.trail-list li.allowed .mark{color:var(--ok)}.where{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.error{margin:0 12px 8px;padding:9px 12px;border-radius:10px;background:var(--danger-bg);color:var(--danger);font-size:14px}.composer{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;padding-bottom:calc(10px + var(--safe-b));border-top:1px solid var(--line);background:var(--bg);position:sticky;bottom:0}.composer textarea{flex:1;resize:none;max-height:40vh;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg);font:inherit;font-size:16px}.composer button{border:0;border-radius:12px;padding:12px 17px;font-size:15px;font-weight:600;cursor:pointer;color:#fff}.send{background:var(--accent)}.send:disabled{opacity:.4;cursor:default}.stop{background:var(--danger)}.booting{background:var(--bg)}.signin{max-width:34ch;margin:14vh auto;padding:0 22px;text-align:center}.signin h1{font-size:22px;margin:0 0 6px}.signin p{margin:0 0 18px}.signin form{display:flex;flex-direction:column;gap:10px}.signin input{padding:13px 14px;font-size:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg)}.signin .send{padding:13px;border:0;border-radius:12px}.link-btn{background:none;border:0;color:var(--accent);font-size:14px;cursor:pointer;margin-top:14px;text-decoration:underline}.drawer-label{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;margin:8px 0 0 10px}.account{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.account-signout{align-self:flex-start;margin-top:10px;background:none;border:1px solid var(--line);color:var(--fg);padding:7px 12px;border-radius:8px;font-size:13px;cursor:pointer}.account-signout:active{background:var(--bubble)}.approval{margin:0 12px 10px;padding:14px;border-radius:14px;border:1px solid var(--accent);background:var(--bubble)}.approval-head{font-weight:700;font-size:14px;margin-bottom:6px}.approval-what{margin:0 0 10px;font-size:15px}.approval-what code{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}.approval-preview{margin:0 0 10px;padding:9px;max-height:30vh;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:8px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.approval-actions{display:flex;gap:8px}.approval-actions button{flex:1;border:0;border-radius:10px;padding:12px;font-size:15px;font-weight:600;cursor:pointer;color:#fff}.approval-actions .allow{background:var(--accent)}.approval-actions .deny{background:var(--danger)}.approval .muted{margin:9px 0 0}@media(min-width:900px){.app{display:grid;grid-template-columns:288px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto auto;grid-template-areas:"side bar" "side thread" "side approval" "side error" "side composer"}.bar{grid-area:bar}.drawer{grid-area:side}.thread{grid-area:thread}.approval{grid-area:approval}.error{grid-area:error}.composer{grid-area:composer}.drawer,.drawer.is-open{display:block;position:static;inset:auto;background:var(--bubble);z-index:auto}.drawer-inner{width:100%;background:none}.menu-btn{display:none}.session:hover{background:color-mix(in srgb,var(--bg) 45%,transparent)}.session.current,.session.current:hover{background:var(--bg);box-shadow:0 1px 2px #0000000f}.icon-btn:hover,.account-signout:hover{background:var(--bubble)}.drawer-inner .new:hover{filter:brightness(1.08)}.thread{padding:22px max(28px,calc((100% - 72ch)/2)) 10px}.composer{padding:14px max(28px,calc((100% - 72ch)/2)) calc(14px + var(--safe-b))}.approval,.error{margin-inline:max(28px,calc((100% - 72ch)/2))}.bar{padding-inline:max(20px,calc((100% - 72ch)/2 - 8px))}.empty{margin-top:18vh}}.md-table-wrap{margin:0 0 10px;overflow-x:auto}.md-table{border-collapse:collapse;font-size:13px;line-height:1.45;min-width:100%}.md-table th,.md-table td{padding:6px 12px 6px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);white-space:nowrap}.md-table th{font-weight:650}.md-table th:last-child,.md-table td:last-child{padding-right:0}.md-table tbody tr:last-child th,.md-table tbody tr:last-child td{border-bottom:0}.empty-name{font-size:17px;font-weight:650;margin:0 0 4px;letter-spacing:-.01em}.drawer-inner>*{flex:none}
