:root{--bg: #f6f5f2;--panel: #ffffff;--panel-2: #f0eee9;--line: #e4e1da;--text: #1b1a17;--muted: #6e6a61;--faint: #a19c91;--accent: #4f46e5;--accent-ink: #ffffff;--me: #1b1a17;--me-ink: #fbfaf7;--ok: #15915f;--warn: #c07a00;--err: #c2382c;--shadow: 0 1px 2px rgba(20, 18, 12, .06), 0 8px 24px rgba(20, 18, 12, .08);--radius: 18px;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0e0e0d;--panel: #171715;--panel-2: #20201d;--line: #2b2a27;--text: #ecebe6;--muted: #9b978d;--faint: #6b675f;--accent: #8b85ff;--accent-ink: #0e0e0d;--me: #ecebe6;--me-ink: #121210;--ok: #3cc488;--warn: #e0a83a;--err: #ff6b5e;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .5);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}input,textarea,select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;width:100%;outline:none;font-size:16px}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}textarea{resize:vertical}code,pre{font-family:var(--mono);font-size:12.5px}.dim{color:var(--faint)}.splash{height:100%;background:var(--bg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:var(--panel);font-weight:550;white-space:nowrap}.btn:hover:not(:disabled){background:var(--panel-2)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.small{height:32px;padding:0 11px;font-size:13px;border-radius:10px}.danger-btn{color:var(--err)}.icon-btn{width:40px;height:40px;border-radius:12px;display:inline-grid;place-items:center;color:var(--muted);flex:none}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.icon-btn.small{width:30px;height:30px}.icon-btn.accent{background:var(--accent);color:var(--accent-ink)}.icon-btn.accent:hover{filter:brightness(1.08);background:var(--accent);color:var(--accent-ink)}.login{min-height:100%;display:grid;place-items:center;padding:24px 16px}.login form{width:min(360px,100%);display:grid;gap:12px;text-align:center}.login h1{margin:4px 0 0;font-size:28px;letter-spacing:-.02em}.login p{margin:0 0 12px;color:var(--muted)}.login .logo{display:grid;place-items:center}.shell{height:100%;display:grid;grid-template-columns:minmax(0,1fr)}.sidebar,.main{min-height:0;min-width:0;height:100dvh}.main,.shell.has-chat .sidebar{display:none}.shell.has-chat .main{display:block}@media(min-width:860px){.shell{grid-template-columns:340px minmax(0,1fr)}.shell .sidebar,.shell.has-chat .sidebar{display:flex;border-right:1px solid var(--line)}.shell .main{display:block}.only-mobile{display:none!important}}.sidebar{display:flex;flex-direction:column;background:var(--panel)}.side-head{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 10px) 12px 10px 16px}.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:19px;letter-spacing:-.02em}.offline{color:var(--warn);font-size:10px}.side-actions{display:flex;gap:4px}.bot-list{flex:1;overflow-y:auto;padding:4px 8px calc(env(safe-area-inset-bottom) + 12px)}.bot-row{width:100%;display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;text-align:left}.bot-row:hover{background:var(--panel-2)}.bot-row.on{background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.bot-row-main{flex:1;min-width:0}.bot-row-top{display:flex;justify-content:space-between;gap:8px}.bot-row-name{font-weight:620;display:inline-flex;align-items:center;gap:4px}.bot-row-time{color:var(--faint);font-size:12.5px;flex:none}.bot-row-sub{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{min-width:22px;height:22px;border-radius:11px;background:var(--warn);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;padding:0 6px}.first-run{margin:24px 8px;padding:22px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center}.first-run h3{margin:0 0 6px}.first-run p{margin:0 0 16px;color:var(--muted);font-size:14px}.working{color:var(--accent)}.avatar{border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:700;flex:none;position:relative;letter-spacing:.02em}.avatar.busy:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid var(--accent);border-right-color:transparent;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.no-chat{height:100%;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted);opacity:.8}.chat{height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.chat-head{display:flex;align-items:center;gap:6px;padding:calc(env(safe-area-inset-top) + 8px) 10px 8px;background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.chat-who{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;padding:2px 6px;border-radius:12px}.chat-who>div{min-width:0}.chat-name{font-weight:650}.chat-sub{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-actions{display:flex}.messages{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}.older{align-self:center;color:var(--accent);font-size:13.5px;padding:6px 12px}.empty-chat{margin:auto;text-align:center;color:var(--muted);display:grid;justify-items:center;gap:4px;max-width:360px;padding:24px}.empty-chat h3{margin:8px 0 0;color:var(--text)}.empty-chat p{margin:0}.row{display:flex}.row.me{justify-content:flex-end}.bot-turn{max-width:min(720px,92%);display:grid;gap:6px;justify-items:start;min-width:0}.bubble{padding:9px 13px 7px;border-radius:var(--radius);max-width:min(620px,86vw);overflow-wrap:anywhere;position:relative}.bubble.me{background:var(--me);color:var(--me-ink);border-bottom-right-radius:6px}.bubble.me .text{white-space:pre-wrap}.bubble.bot{background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:6px;max-width:100%}.bubble.streaming{border-style:dashed}.bubble time{display:block;font-size:11px;opacity:.5;text-align:right;margin-top:2px}.tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;opacity:.7;margin-bottom:2px}.note{align-self:center;font-size:12.5px;color:var(--muted);background:var(--panel-2);padding:4px 12px;border-radius:999px;max-width:90%;text-align:center}.note.error{color:var(--err);background:color-mix(in srgb,var(--err) 10%,var(--panel));border-radius:12px}.divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:12px;margin:8px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.typing{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:4px 2px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 8px}.md ul,.md ol{margin:0 0 8px;padding-left:22px}.md pre{background:var(--panel-2);padding:10px 12px;border-radius:10px;overflow-x:auto}.md code{background:var(--panel-2);padding:1px 5px;border-radius:5px}.md pre code{background:none;padding:0}.md a{color:var(--accent)}.md table{border-collapse:collapse;display:block;overflow-x:auto;margin:0 0 8px}.md th,.md td{border:1px solid var(--line);padding:5px 9px;text-align:left}.md h1,.md h2,.md h3{font-size:1.05em;margin:10px 0 6px}.md blockquote{margin:0 0 8px;padding-left:10px;border-left:3px solid var(--line);color:var(--muted)}.steps{width:min(620px,86vw);max-width:100%;display:grid;gap:6px}.steps-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border-radius:12px;background:var(--panel-2);font-size:13px;color:var(--muted);text-align:left;min-width:0}.steps-title{font-weight:600;color:var(--text);flex:none}.steps-sub{font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.steps-head .chev{margin-left:auto;transition:transform .15s;display:grid}.steps-head.open .chev{transform:rotate(90deg)}.dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--faint)}.dot.ok{background:var(--ok)}.dot.err{background:var(--err)}.dot.live{background:var(--accent);animation:pulse 1.2s infinite}.steps-list{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.step+.step{border-top:1px solid var(--line)}.step-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;text-align:left;font-size:13px;min-width:0}.step-row.hidden{display:none}.step-name{flex:none;font-weight:550}.step-arg{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.step-ms{color:var(--faint);font-size:12px;flex:none}.step-detail{padding:0 12px 10px}.step-detail .label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:6px 0 4px}.step-detail pre{margin:0;background:var(--panel-2);padding:8px 10px;border-radius:8px;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word}.shots{display:flex;gap:6px;overflow-x:auto}.shots img{height:140px;border-radius:10px;border:1px solid var(--line);display:block}.shots.in-bubble img{height:120px}.approval{border:1px solid color-mix(in srgb,var(--warn) 45%,var(--line));background:color-mix(in srgb,var(--warn) 8%,var(--panel));border-radius:14px;padding:12px;display:grid;gap:8px}.approval-title{font-weight:650;font-size:14px}.approval-what{font-size:13.5px;display:grid;gap:6px;min-width:0}.approval-what pre{margin:0;white-space:pre-wrap;word-break:break-word;background:var(--panel);padding:8px 10px;border-radius:8px;max-height:220px;overflow:auto}.approval-what pre.dim{color:var(--muted)}.approval-actions{display:flex;gap:8px;justify-content:flex-end}.composer-wrap{padding:8px 10px calc(env(safe-area-inset-bottom) + 10px);background:var(--bg)}.composer{display:flex;align-items:flex-end;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:4px;box-shadow:var(--shadow)}.composer textarea{border:0;background:transparent;resize:none;padding:9px 6px;max-height:220px;box-shadow:none;line-height:1.4}.composer textarea:focus{box-shadow:none}.send{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:none}.send:disabled{opacity:.35}.send.stop{background:var(--text);color:var(--bg)}.composer-error{color:var(--err);font-size:13px;padding:0 8px 6px}.attach-row{display:flex;gap:8px;padding:0 4px 8px;overflow-x:auto}.attach{position:relative;flex:none}.attach img{height:64px;border-radius:10px;display:block}.attach button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--text);color:var(--bg);display:grid;place-items:center}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0873;display:flex;align-items:flex-end;justify-content:center;z-index:50;animation:fade .15s}@keyframes fade{0%{opacity:0}}.sheet{background:var(--bg);width:100%;max-height:92dvh;border-radius:22px 22px 0 0;display:flex;flex-direction:column;box-shadow:var(--shadow);animation:rise .2s ease-out}@keyframes rise{0%{transform:translateY(24px);opacity:.6}}@media(min-width:700px){.sheet-backdrop{align-items:center;padding:24px}.sheet{width:520px;border-radius:22px;max-height:88dvh}.sheet.wide{width:760px}}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 6px 20px}.sheet-head h2{margin:0;font-size:18px}.sheet-body{overflow-y:auto;padding:4px 20px calc(env(safe-area-inset-bottom) + 20px)}.tabs{display:flex;gap:4px;background:var(--panel-2);padding:4px;border-radius:12px;margin-bottom:14px}.tabs button{flex:1;height:34px;border-radius:9px;font-weight:550;font-size:14px;color:var(--muted)}.tabs button.on{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #00000014}.form{display:grid;gap:12px}.form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.form label>input,.form label>textarea,.form label>select{font-weight:400}.form label.check{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--text);font-size:14px}.form label.check input,.form label.radio input{width:18px;height:18px;flex:none;accent-color:var(--accent)}fieldset{border:1px solid var(--line);border-radius:14px;padding:8px 12px 12px;margin:0;display:grid;gap:10px}legend{font-size:13px;font-weight:600;color:var(--muted);padding:0 4px}.form label.radio{display:flex;gap:10px;align-items:flex-start;color:var(--text);font-weight:500}.form label.radio span{display:grid;gap:2px}.form label.radio small{color:var(--muted);font-weight:400;font-size:12.5px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.form-actions:has(>.btn:first-child){justify-content:flex-end}.form-error{color:var(--err);font-size:13px}.hint{color:var(--muted);font-size:13.5px;margin:0}.hint.strong{color:var(--text);background:var(--panel-2);padding:10px 12px;border-radius:12px}.model-picker{display:grid;gap:4px}.inline{display:flex;gap:8px}.inline>:first-child{flex:1;min-width:0}.two{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatches button{width:28px;height:28px;border-radius:50%;border:3px solid transparent}.swatches button.on{border-color:var(--text)}.danger{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);margin-top:4px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);font-size:13px;background:var(--panel)}.chip.on{border-color:var(--accent);color:var(--accent)}.list-block{display:grid;gap:6px}.list-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-weight:650;margin-top:4px}.list-empty{color:var(--faint);font-size:13.5px;padding:6px 0}.list-item{display:flex;align-items:flex-start;gap:8px;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 6px 8px 12px;font-size:14px}.list-item span{padding-top:4px}.routine,.connector{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:6px}.routine.paused,.connector.paused{opacity:.6}.routine-top,.connector-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.routine-top code{color:var(--muted)}.routine-text{font-size:14px}.routine-meta{font-size:12.5px;color:var(--muted)}.routine-actions{display:flex;gap:6px;flex-wrap:wrap}.connector-url{color:var(--muted);overflow-wrap:anywhere}.connector-tools{font-size:12.5px;color:var(--muted)}.pill{font-size:12px;padding:2px 9px;border-radius:999px;background:var(--panel-2);color:var(--muted)}.pill.ok{color:var(--ok)}.pill.err{color:var(--err)}.section{padding:8px 0 18px;display:grid;gap:10px}.section+.section{border-top:1px solid var(--line);padding-top:18px}.section h3{margin:0;font-size:16px;display:flex;align-items:center;gap:8px}.urlbar{display:flex;gap:6px;margin:10px 0}.screen{background:#000;border-radius:12px;overflow:hidden;aspect-ratio:1280 / 800;display:grid;place-items:center}.screen img{width:100%;height:100%;object-fit:contain;display:block;cursor:crosshair;touch-action:manipulation}.screen-type{display:flex;gap:6px;margin:10px 0}.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}.tier{display:grid;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px}.tier.custom{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.tier-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.tier-head small{color:var(--muted);font-size:12.5px}.inherited{font-family:var(--mono);font-size:13px;color:var(--muted);overflow-wrap:anywhere}.form label.switch{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);font-weight:550;cursor:pointer}.form label.switch input{width:16px;height:16px;accent-color:var(--accent)}.hint.warn{color:var(--warn)}.chip-price{margin-left:6px;color:var(--faint);font-size:11.5px}.icon-btn.bolt{font-size:17px;filter:grayscale(1);opacity:.6}.icon-btn.bolt.on{filter:none;opacity:1;background:color-mix(in srgb,var(--warn) 18%,transparent)}.heavy-chip{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text);background:color-mix(in srgb,var(--warn) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line));border-radius:999px;padding:4px 6px 4px 12px;margin:0 4px 8px}.heavy-chip button{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}.tabs button{font-size:13.5px}.approval-reason{font-size:12.5px;font-weight:600;color:var(--warn)}.summary-note{display:grid;gap:6px}.divider.as-button{width:100%;cursor:pointer}.divider.as-button span{color:var(--muted)}.summary-body{max-width:min(620px,92%);justify-self:center;font-size:13.5px}.tabs.mini{margin:0;padding:3px}.tabs.mini button{height:28px;padding:0 10px;font-size:12.5px;flex:none}.spend-total{font-size:26px;font-weight:700;letter-spacing:-.02em}.spend-total small{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:0}.spend-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.spend-row .dim{font-size:12px}.skill-body{background:var(--panel-2);border-radius:10px;padding:10px 12px;font-size:13.5px;max-height:320px;overflow:auto}.dim.small{font-size:12px}.form label small.hint,.form label>small{font-weight:400}
