:root{--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:15px;--radius:8px;--radius-sm:6px;--column:760px;--topbar:52px;--page:#fafaf9;--surface:#fff;--surface-2:#f4f4f2;--surface-hover:#f0f0ed;--border:#e4e4e0;--border-strong:#cfcfca;--text:#1b1b19;--text-2:#5c5c57;--text-3:#6e6e68;--accent:#1b1b19;--on-accent:#fff;--focus:#2458d6;--ok:#1a7f37;--warn:#9a6200;--danger:#c0272d;--danger-surface:#fdf1f1;--add-bg:#e8f6ec;--add-gutter:#d3eedc;--add-text:#116329;--del-bg:#fcecec;--del-gutter:#f6d8d8;--del-text:#a4161a;--shadow:0 1px 2px #0000000a, 0 8px 24px #00000014;--avatar-0:#e3e0f6;--avatar-0-fg:#3d3291;--avatar-1:#e6eedb;--avatar-1-fg:#3b5217;--avatar-2:#f6e3d6;--avatar-2-fg:#7a3b12;--avatar-3:#d9ecf2;--avatar-3-fg:#16526a;--avatar-4:#f3dde8;--avatar-4-fg:#7c2350;--avatar-5:#ece8d6;--avatar-5-fg:#5a4a0d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--page:#111112;--surface:#18181a;--surface-2:#202023;--surface-hover:#26262a;--border:#2c2c30;--border-strong:#3c3c42;--text:#ececea;--text-2:#a9a9a3;--text-3:#999993;--accent:#ececea;--on-accent:#111112;--focus:#7aa2ff;--ok:#4ec46f;--warn:#e0a846;--danger:#f2666b;--danger-surface:#2a1718;--add-bg:#13291b;--add-gutter:#173320;--add-text:#7ee29b;--del-bg:#301719;--del-gutter:#3a1a1d;--del-text:#ff9da1;--shadow:0 1px 2px #0006, 0 8px 24px #00000080;--avatar-0:#2e2a55;--avatar-0-fg:#c9c2ff;--avatar-1:#2b3a1c;--avatar-1-fg:#c6e39d;--avatar-2:#4a2c19;--avatar-2-fg:#f6c6a2;--avatar-3:#173c4a;--avatar-3-fg:#a6dcef;--avatar-4:#4a1f35;--avatar-4-fg:#f5b5d4;--avatar-5:#3d3614;--avatar-5-fg:#e6d68d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--page);height:100%;color:var(--text);font-family:var(--font-sans);font-size:var(--text-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.55}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}code,pre,kbd,.mono{font-family:var(--font-mono);font-size:.93em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 12px;position:absolute;top:-48px;left:12px}.skip-link:focus{top:8px}.app{flex-direction:column;height:100dvh;min-height:0;display:flex}.topbar{height:var(--topbar);border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:12px;min-width:0;padding:0 16px;display:flex}.brand{color:var(--text);font-weight:600;font-size:var(--text-lg);letter-spacing:-.01em;border-radius:var(--radius-sm);flex:none;align-items:center;gap:8px;text-decoration:none;display:flex}.brand img{width:30px;height:30px;display:block}.brand-mark-dark,:root[data-theme=dark] .brand-mark-light{display:none!important}:root[data-theme=dark] .brand-mark-dark{display:block!important}.crumbs{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.crumbs .sep{color:var(--border-strong);flex:none}.crumbs h1{font-size:var(--text-lg);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-weight:500;overflow:hidden}.topbar-actions{flex:none;align-items:center;gap:8px;display:flex}.mock-badge{font-size:var(--text-xs);color:var(--warn);white-space:nowrap;border:1px solid;border-radius:999px;padding:1px 8px;font-weight:500}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);min-height:32px;font-size:var(--text-sm);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-hover)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent);opacity:.88}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, transparent)}.btn-danger:hover:not(:disabled){background:var(--danger-surface)}.btn-ghost{background:0 0;border-color:#0000}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-2);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-btn.bordered{border-color:var(--border-strong)}.pill{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:32px;font-size:var(--text-sm);color:var(--text-2);white-space:nowrap;background:var(--surface);align-items:center;gap:7px;padding:0 10px;display:inline-flex}.dot{background:var(--text-3);border-radius:50%;flex:none;width:8px;height:8px}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.danger{background:var(--danger)}.dot.pulse{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.avatar{border-radius:var(--radius-sm);letter-spacing:.02em;-webkit-user-select:none;user-select:none;flex:none;place-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-grid}.avatar.lg{width:32px;height:32px;font-size:12px}.tone-0{background:var(--avatar-0);color:var(--avatar-0-fg)}.tone-1{background:var(--avatar-1);color:var(--avatar-1-fg)}.tone-2{background:var(--avatar-2);color:var(--avatar-2-fg)}.tone-3{background:var(--avatar-3);color:var(--avatar-3-fg)}.tone-4{background:var(--avatar-4);color:var(--avatar-4-fg)}.tone-5{background:var(--avatar-5);color:var(--avatar-5-fg)}.watchers{font-size:var(--text-sm);color:var(--text-2);align-items:center;gap:8px;display:flex}.watchers .stack{display:flex}.watchers .stack .avatar{border:2px solid var(--surface);border-radius:50%;margin-left:-6px}.watchers .stack .avatar:first-child{margin-left:0}.menu-wrap{position:relative}.menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow);padding:4px;position:absolute;top:calc(100% + 6px);right:0}.menu-item{border-radius:var(--radius-sm);text-align:left;width:100%;min-height:36px;font-size:var(--text-md);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-hover);outline-offset:-2px}.menu-item .hint{color:var(--text-3);font-size:var(--text-xs);margin-left:auto}.toast{z-index:50;background:var(--accent);color:var(--on-accent);border-radius:var(--radius);font-size:var(--text-sm);box-shadow:var(--shadow);padding:8px 14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.workspace{flex:1;min-height:0;display:flex;position:relative}.thread-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.scroller{overscroll-behavior:contain;flex:1;scroll-padding-bottom:24px;overflow:hidden auto}.column{width:100%;max-width:var(--column);margin:0 auto;padding:0 20px}.transcript{flex-direction:column;gap:14px;padding-top:20px;padding-bottom:28px;display:flex}.turn{flex-direction:column;gap:12px;display:flex}.msg-user{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:32px minmax(0,1fr);gap:12px;padding:12px 14px;display:grid}.msg-meta{font-size:var(--text-sm);color:var(--text-2);flex-wrap:wrap;align-items:baseline;gap:6px;line-height:1.4;display:flex}.msg-meta .name{color:var(--text);font-weight:600}.msg-meta .tag{font-size:var(--text-xs);background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);border-radius:4px;padding:0 6px;font-weight:500}.msg-meta time{color:var(--text-3)}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:3px}.msg-assistant{overflow-wrap:anywhere;padding:2px 2px 0}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p,.prose ul,.prose ol,.prose pre,.prose blockquote{margin:0 0 10px}.prose ul,.prose ol{padding-left:22px}.prose li+li{margin-top:3px}.prose code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0 4px}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;line-height:1.5;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}.prose a{color:var(--focus)}.prose h1,.prose h2,.prose h3{font-size:var(--text-md);margin:14px 0 6px;font-weight:600}.prose table{border-collapse:collapse;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:4px 8px}.caret{vertical-align:-2px;background:var(--text-2);width:7px;height:1em;margin-left:2px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.tools{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.tools>*+*{border-top:1px solid var(--border)}.row{text-align:left;width:100%;min-height:36px;font-size:var(--text-sm);color:var(--text);background:0 0;border:0;align-items:center;gap:10px;min-width:0;padding:6px 12px;display:flex}button.row:hover{background:var(--surface-hover)}button.row:focus-visible{outline-offset:-2px;border-radius:0}.row .icon{color:var(--text-2);flex:none}.row .verb{flex:none;font-weight:500}.row .target{font-family:var(--font-mono);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12.5px;overflow:hidden}.row .spacer{flex:1}.row .when{color:var(--text-3);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex:none}.row .chev{color:var(--text-3);flex:none;transition:transform .12s}.row[aria-expanded=true] .chev{transform:rotate(90deg)}.stat{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.stat .add{color:var(--add-text)}.stat .del{color:var(--del-text);margin-left:6px}.status-ok{color:var(--ok);flex:none}.status-err{color:var(--danger);flex:none}.spin{color:var(--text-2);flex:none;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.row-body{min-width:0;padding:0 12px 12px 38px}.output{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:320px;font-family:var(--font-mono);white-space:pre;color:var(--text);margin:0;padding:8px 10px;font-size:12px;line-height:1.55;overflow:auto}.note{font-size:var(--text-sm);color:var(--text-2)}.summary-row .count{font-weight:500}.summary-row .sub{color:var(--text-2)}.diff{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-height:480px;font-family:var(--font-mono);font-size:12px;line-height:1.6;overflow:auto}.diff-table{border-collapse:collapse;width:max-content;min-width:100%}.diff-table td{vertical-align:top;white-space:pre;padding:0}.diff-table .ln{text-align:right;width:1%;min-width:40px;color:var(--text-3);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;padding:0 8px}.diff-table .mark{-webkit-user-select:none;user-select:none;width:18px;padding-left:4px}.diff-table .code{padding-right:16px}.diff-table tr.add{background:var(--add-bg)}.diff-table tr.add .ln{background:var(--add-gutter)}.diff-table tr.add .ln,.diff-table tr.add .mark,.diff-table tr.add .code{color:var(--add-text)}.diff-table tr.del{background:var(--del-bg)}.diff-table tr.del .ln{background:var(--del-gutter)}.diff-table tr.del .ln,.diff-table tr.del .mark,.diff-table tr.del .code{color:var(--del-text)}.diff-table tr.hunk td{color:var(--text-3);background:var(--surface-2);padding:2px 8px}.changed h2{font-size:var(--text-md);margin:4px 0 8px;font-weight:600}.changed .files{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.changed .files>*+*{border-top:1px solid var(--border)}.changed .file-body{border-top:1px solid var(--border);padding:0}.changed .file-body .diff{border:0;border-radius:0}.notice{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);font-size:var(--text-sm);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.notice.error{border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:var(--danger-surface)}.notice.error .icon{color:var(--danger)}.notice .icon{color:var(--text-2);flex:none;margin-top:2px}.marker{font-size:var(--text-sm);color:var(--text-2);align-items:center;gap:8px;padding:0 2px;display:flex}.marker .icon{color:var(--danger)}.activity{border:1px dashed var(--border-strong);border-radius:var(--radius);font-size:var(--text-sm);color:var(--text-2);align-items:center;gap:10px;min-width:0;padding:8px 12px;display:flex}.activity .what{font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12.5px;overflow:hidden}.empty{text-align:center;color:var(--text-2);padding:18vh 0 0}.empty h2{color:var(--text);margin:0 0 6px;font-size:18px;font-weight:600}.dock{background:linear-gradient(to bottom, transparent, var(--page) 16px);flex:none;padding:0 0 16px;position:relative}.jump{z-index:5;box-shadow:var(--shadow);border-radius:999px;position:absolute;top:-44px;left:50%;transform:translate(-50%)}.queued{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.queued-item{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-sm);align-items:center;gap:8px;min-width:0;padding:6px 10px;display:flex}.queued-item .what{color:var(--text-2);flex:none}.queued-item .text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.composer{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:0 1px 2px #00000008}.composer:focus-within{border-color:var(--text-2)}.composer textarea{resize:none;width:100%;min-height:48px;max-height:40vh;line-height:1.5;font-size:var(--text-md);background:0 0;border:0;outline:none;padding:12px 14px 4px;display:block}.composer textarea::placeholder{color:var(--text-3)}.composer-bar{align-items:center;gap:8px;padding:8px 10px 10px 14px;display:flex}.composer-bar .hint{font-size:var(--text-xs);color:var(--text-3);min-width:0;margin-right:auto}.composer-bar kbd{border:1px solid var(--border);background:var(--surface-2);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:11px}.readonly{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text-2);font-size:var(--text-sm);align-items:center;gap:10px;padding:12px 14px;display:flex}.preview-pane{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;min-width:320px;max-width:70vw;min-height:0;display:flex}.preview-bar{border-bottom:1px solid var(--border);align-items:center;gap:6px;min-width:0;padding:8px 8px 8px 12px;display:flex}.preview-bar .url{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);min-width:0;font-family:var(--font-mono);color:var(--text-2);flex:1;align-items:center;gap:8px;padding:4px 10px;font-size:12.5px;display:flex}.preview-bar .url span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.preview-frame{background:#fff;border:0;flex:1;width:100%;min-height:0}.preview-state{text-align:center;color:var(--text-2);font-size:var(--text-sm);flex:1;place-items:center;padding:24px;display:grid}.resizer{cursor:col-resize;z-index:3;background:0 0;border:0;flex:none;width:6px;margin-left:-3px;margin-right:-3px;padding:0}.resizer:hover,.resizer:focus-visible{background:color-mix(in srgb, var(--focus) 35%, transparent);outline:none}.preview-tab{writing-mode:vertical-rl;border:1px solid var(--border);border-radius:var(--radius) 0 0 var(--radius);background:var(--surface);font-size:var(--text-sm);color:var(--text-2);box-shadow:var(--shadow);border-right:0;align-items:center;gap:8px;padding:14px 8px;display:flex;position:absolute;top:72px;right:0}.preview-tab:hover,.preview-tab .mono{color:var(--text)}.tabs{display:none}@media (width<=760px){.topbar{gap:10px;padding:0 12px}.brand .word,.crumbs .sep,.watchers .label,.pill .label:not(.keep),.share-label,.hide-phone{display:none}.crumbs h1{font-size:var(--text-md)}.column{padding:0 12px}.tabs{border-bottom:1px solid var(--border);background:var(--surface);flex:none;display:flex}.tab{min-height:44px;font-size:var(--text-md);color:var(--text-2);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--text);font-weight:500}.tab .count{font-size:var(--text-xs);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:0 7px}.preview-pane{border-left:0;min-width:0;max-width:none;width:100%!important}.preview-tab,.resizer{display:none}.row-body{padding-left:12px}.dock{padding-bottom:max(12px, env(safe-area-inset-bottom))}.composer-bar{flex-wrap:wrap}.composer-bar .hint:not(.status){display:none}.composer-bar .hint.status{flex-basis:100%}.composer-bar.running .btn{flex:1;min-height:44px}.composer-bar.idle .btn{min-height:40px;margin-left:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.steps-body{border-left:2px solid var(--border);flex-direction:column;gap:10px;margin-top:10px;padding-left:14px;display:flex}.queued{margin:0 0 8px;padding:0}a.row{color:var(--text)}a.row:hover{background:var(--surface-hover)}.app-port-form{flex-direction:column;align-items:stretch;gap:12px;max-width:360px;margin:20px 0;display:flex}.app-port-form input,.app-port-form select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;min-width:0;padding:12px}.share-dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);width:min(480px,100vw - 32px);max-height:calc(100dvh - 48px);padding:24px;overflow:auto}.share-dialog::backdrop{background:#0006}.share-dialog li{overflow-wrap:anywhere;margin-bottom:12px}.account-panel{border-top:1px solid var(--border);overflow-wrap:anywhere;padding:20px 0}.account-panel a{color:var(--text);padding:8px 0;display:inline-block}
