@font-face{font-family:IBM Plex Mono;src:url(./IBMPlexMono-Regular-CeFrTwwv.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(./IBMPlexMono-Bold-Dn0tZkUW.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-sidebar:#fcfcfc;--surface:#fff;--surface-muted:#f4f4f5;--surface-strong:#f4f4f5;--surface-hi:#e4e4e7;--surface-code:#f5f5f5;--surface-code-header:#ebebeb;--popover:#fff;--fg-strong:#18181b;--fg:#27272a;--fg-2:#52525b;--fg-3:#52525b;--muted:#71717a;--muted-2:#a1a1aa;--hairline:#e4e4e7;--hairline-strong:#d4d4d8;--input:#e4e4e7;--ring:#a1a1aa;--primary:#18181b;--primary-fg:#fafafa;--accent:#4e46e5;--accent-2:#574db3;--accent-2-hover:#33298e;--accent-soft:#4e46e51a;--accent-line:#4e46e54d;--ok:oklch(59.6% .145 163.225);--ok-soft:oklch(95% .052 163.051/.7);--danger:oklch(63.7% .237 25.331);--danger-soft:oklch(93.6% .032 17.717/.7);--danger-line:oklch(63.7% .237 25.331/.3);--warn:oklch(47.6% .114 61.907);--warn-soft:oklch(97.3% .071 103.193/.7);--info:#1d65ed;--info-soft:#dbeafe;--obs-tool:oklch(55% .21 55);--obs-tool-fill:oklch(61% .2 55);--obs-agent:oklch(55% .21 310);--obs-agent-soft:oklch(55% .21 310/.1);--obs-generation:oklch(55% .21 335);--obs-trace:oklch(55% .21 163);--workflow:var(--obs-agent);--workflow-soft:var(--obs-agent-soft);--json-string:#166534;--json-number:#1e40af;--json-boolean:#9a3412;--json-null:#6b7280;--diff-add-fg:oklch(45% .12 163);--diff-add-bg:oklch(95% .052 163.051/.6);--diff-del-fg:oklch(50% .19 25);--diff-del-bg:oklch(93.6% .032 17.717/.6);--user-bubble:#f4f4f599;--user-bubble-border:#e4e4e7;--asst-bubble:#fff;--asst-bubble-border:#e4e4e7;--age-1:#4e46e5;--age-2:#908cd9;--age-3:#a1a1aa;--age-4:#d4d4d8;--shadow-popover:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000f;--scrollbar:#d4d4d8;--scrollbar-hover:#a1a1aa;--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--weight-bold:600;--text-xs:12px;--text-sm:12px;--text-base:13px;--text-md:14px;--radius:8px;--radius-md:6px;--radius-sm:4px;--row-h-session:64px;--row-h-compact:32px;--col-sidebar:220px}:root.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f0f0f;--bg-sidebar:#0a0a0a;--surface:#131313;--surface-muted:#1e1e1e;--surface-strong:#242424;--surface-hi:#2e2e2e;--surface-code:#090909;--surface-code-header:#171717;--popover:#1f1f1f;--fg-strong:#e8e8e8;--fg:#c2c2c2;--fg-2:#a3a3a3;--fg-3:#9e9e9e;--muted:#8a8a8a;--muted-2:#666;--hairline:#2b2b2b;--hairline-strong:#3d3d3d;--input:#2e2e2e;--ring:#9188dd;--primary:#e6e6e6;--primary-fg:#090909;--accent:#9188dd;--accent-2:#9188dd;--accent-2-hover:#bcb4fd;--accent-soft:#9188dd1f;--accent-line:#9188dd4d;--ok:oklch(76.5% .177 163.223);--ok-soft:oklch(37.8% .077 168.94/.3);--danger:oklch(76.5% .177 27.325);--danger-soft:oklch(39.6% .141 25.723/.35);--danger-line:oklch(76.5% .177 27.325/.3);--warn:oklch(79.5% .184 86.047);--warn-soft:oklch(55.4% .135 66.442/.3);--info:#3f9cf3;--info-soft:#152737;--obs-tool:oklch(76% .11 55);--obs-tool-fill:oklch(50% .11 55);--obs-agent:oklch(76% .11 310);--obs-agent-soft:oklch(76% .11 310/.12);--obs-generation:oklch(76% .11 335);--obs-trace:oklch(76% .11 163);--json-string:#70c28e;--json-number:#85a9d6;--json-boolean:#cd976a;--json-null:#8a8a8a;--diff-add-fg:oklch(78% .12 163);--diff-add-bg:oklch(37.8% .077 168.94/.3);--diff-del-fg:oklch(76% .13 27);--diff-del-bg:oklch(39.6% .141 25.723/.3);--user-bubble:#181818;--user-bubble-border:#2b2b2b;--asst-bubble:#131313;--asst-bubble-border:#2b2b2b;--age-1:#9188dd;--age-2:#6760a9;--age-3:#666;--age-4:#3d3d3d;--shadow-popover:0 8px 24px #00000080;--scrollbar:#333;--scrollbar-hover:#4d4d4d}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{color:var(--fg);background:var(--bg);font:var(--text-base)/1.5 var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"rlig" 1, "calt" 1}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}input{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--ring);outline-offset:-2px;border-radius:var(--radius-sm)}::selection{background:var(--accent-soft);color:var(--fg-strong)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover);background-clip:padding-box}.app{flex-direction:column;height:100vh;display:flex;position:relative}.columns{grid-template-columns:var(--col-sidebar) minmax(0, 1fr);flex:1;min-height:0;display:grid}.text-danger{color:var(--danger)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=720px){:root{--col-sidebar:0px}.sidebar{display:none!important}.columns{grid-template-columns:minmax(0,1fr)}}.sidebar{border-right:1px solid var(--hairline);background:var(--bg-sidebar);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.sidebar-brand{border-bottom:1px solid var(--hairline);flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 8px 0 14px;display:flex;position:relative}.sidebar-brand svg{width:18px;height:18px;color:var(--fg-strong)}.sidebar-brand .name{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--fg-strong)}.sidebar-section{flex-shrink:0;padding:8px}.sidebar-section.projects{flex-direction:column;flex:1;min-height:0;padding-bottom:0;display:flex}.sidebar-section-title{font-size:var(--text-xs);color:var(--muted);justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.source-health{border-radius:var(--radius-md);place-items:center;width:24px;height:24px;margin-left:auto;transition:background .1s;display:inline-grid}.source-health:hover{background:var(--surface-strong)}.h-dot,.sp-dot{background:var(--muted-2);border-radius:50%;flex-shrink:0;width:7px;height:7px}.h-dot.ok,.sp-dot.ok{background:var(--ok)}.h-dot.warn,.sp-dot.warn{background:var(--warn)}.h-dot.error,.sp-dot.error{background:var(--danger)}.sources-popover{background:var(--popover);border:1px solid var(--hairline);border-radius:var(--radius-md);width:280px;box-shadow:var(--shadow-popover);opacity:0;pointer-events:none;z-index:200;margin-top:4px;transition:opacity .15s,transform .15s;position:absolute;top:100%;left:8px;overflow:hidden;transform:translateY(-4px)}.sources-popover.show{opacity:1;pointer-events:auto;transform:translateY(0)}.sp-head{border-bottom:1px solid var(--hairline);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--fg-strong);padding:8px 12px}.sp-list{padding:4px 0}.sp-row{align-items:center;gap:10px;padding:8px 12px;display:flex}.sp-body{flex:1;min-width:0}.sp-name{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg);overflow-wrap:anywhere}.sp-meta{font-size:var(--text-xs);color:var(--muted);margin-top:2px}.sp-meta.warn{color:var(--warn)}.sp-meta.error{color:var(--danger)}.sp-foot{border-top:1px solid var(--hairline);padding:8px 12px}.sp-foot a{font-size:var(--text-xs);color:var(--accent-2);text-decoration:none}.sp-foot a:hover{color:var(--accent-2-hover);text-underline-offset:4px;text-decoration:underline}.sidebar-search{flex-shrink:0;padding:0 0 6px;position:relative}.sidebar-search input{border:1px solid var(--input);border-radius:var(--radius-md);background:var(--bg);width:100%;height:28px;font-size:var(--text-xs);color:var(--fg);padding:0 8px 0 26px}.sidebar-search input::placeholder{color:var(--muted)}.sidebar-search input:focus{border-color:var(--ring);outline:0}.sidebar-search-icon{width:12px;height:12px;color:var(--muted);pointer-events:none;position:absolute;top:14px;left:9px;transform:translateY(-50%)}.sidebar-list{flex-direction:column;flex:1;gap:2px;min-height:0;padding:2px 0 8px;display:flex;overflow-y:auto}.sidebar-list.compact{max-height:180px;padding-bottom:0}.sidebar-note{font-size:var(--text-xs);color:var(--muted);padding:4px 8px}.sidebar-note.error{color:var(--danger)}.sidebar-item{height:var(--row-h-compact);border-radius:var(--radius-sm);color:var(--fg-2);font-size:var(--text-base);-webkit-user-select:none;user-select:none;text-align:left;flex-shrink:0;align-items:center;gap:8px;width:100%;padding:0 8px;transition:background 80ms;display:flex;position:relative}.sidebar-item:hover{background:var(--surface-strong);color:var(--fg-strong)}.sidebar-item.active{background:var(--surface-strong);color:var(--fg-strong);font-weight:var(--weight-bold)}.sidebar-item .icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.sidebar-item:hover .icon,.sidebar-item.active .icon{color:var(--fg-strong)}.sidebar-item .label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-item .badge{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;min-width:22px;font-weight:400;line-height:1}.sidebar-foot{border-top:1px solid var(--hairline);font-size:var(--text-xs);color:var(--muted);flex-shrink:0;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex}.theme-switch{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--bg);gap:2px;margin-left:auto;padding:2px;display:inline-flex}.theme-switch button{border-radius:var(--radius-sm);width:24px;height:22px;color:var(--muted);place-items:center;transition:background .1s,color .1s;display:grid}.theme-switch button:hover{color:var(--fg-strong);background:var(--surface-strong)}.theme-switch button.active{color:var(--accent);background:var(--surface-strong)}.theme-switch svg{width:14px;height:14px}.main{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.toolbar{border-bottom:1px solid var(--hairline);background:var(--bg);z-index:50;flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 12px;display:flex;position:relative}.breadcrumb{flex:0 auto;align-items:center;gap:4px;min-width:0;display:flex}.crumb{font-size:var(--text-base);color:var(--muted);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:6px;padding:4px 6px;line-height:1.2;text-decoration:none;transition:background .1s,color .1s;display:inline-flex}.crumb:hover{color:var(--fg-strong)}.crumb.terminal{color:var(--fg-strong);font-weight:var(--weight-bold);cursor:default}.crumb.project-crumb{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.crumb-sep{color:var(--muted-2);font-size:var(--text-base);-webkit-user-select:none;user-select:none}.toolbar-spacer{flex:1}.toolbar-search{flex-shrink:1;width:240px;min-width:120px;position:relative}.toolbar-search input{border:1px solid var(--input);border-radius:var(--radius-md);background:var(--bg);width:100%;height:32px;font-size:var(--text-base);color:var(--fg);padding:0 30px 0 28px;transition:border-color .12s}.toolbar-search input::placeholder{color:var(--muted)}.toolbar-search input:focus{border-color:var(--ring);outline:0}.toolbar-search-icon{width:13px;height:13px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.toolbar-search-kbd{font-family:var(--font-mono);color:var(--muted);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-muted);pointer-events:none;padding:1px 5px;font-size:11px;line-height:1.2;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.toolbar-search input:focus~.toolbar-search-kbd,.toolbar-search input:not(:placeholder-shown)~.toolbar-search-kbd{opacity:0}.filter-toggle{border-radius:var(--radius-md);border:1px solid var(--hairline-strong);background:var(--bg);width:32px;height:32px;color:var(--fg);flex-shrink:0;place-items:center;transition:background .1s,color .1s;display:inline-grid}.filter-toggle:hover{background:var(--surface-strong);color:var(--fg-strong)}.filter-toggle svg{width:14px;height:14px}.filter-toggle.spinning svg{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sort-group{border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--bg);height:32px;color:var(--fg);font-size:var(--text-base);flex-shrink:0;align-items:center;gap:4px;padding:0 8px 0 10px;transition:background .1s,color .1s;display:inline-flex}.sort-group:hover{background:var(--surface-strong);color:var(--fg-strong)}.sort-group svg{width:14px;height:14px;color:var(--muted)}.sort-group .arrow-up,.sort-group .arrow-down{transition:opacity .12s}.sort-group.desc .arrow-up,.sort-group.asc .arrow-down{opacity:.3}.session-list-wrap{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.srow{min-height:var(--row-h-session);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;padding:10px 16px;transition:background 60ms;display:grid;position:relative}.srow:hover,.srow.cursor{background:var(--surface-muted)}.srow.cursor:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;left:0}.srow-age{border-radius:1.5px 1.5px 0 0;width:3px;position:absolute;bottom:0;left:0}.srow-body{flex-direction:column;gap:4px;min-width:0;display:flex}.srow-title{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--fg-strong);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.srow-meta{font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.srow-meta .project-tag{color:var(--fg-2)}.srow-meta .dot,.session-meta-inline .dot{background:var(--muted-2);border-radius:50%;flex-shrink:0;width:3px;height:3px}.state-tag{font-size:var(--text-xs);border-radius:var(--radius-sm);padding:0 6px;line-height:18px}.state-tag.error{color:var(--danger);background:var(--danger-soft)}.state-tag.live{color:var(--warn);background:var(--warn-soft)}.srow-snippet{font-size:var(--text-base);color:var(--fg-2);-webkit-line-clamp:2;border-left:2px solid var(--hairline);-webkit-box-orient:vertical;margin-top:2px;padding-left:10px;line-height:1.5;display:-webkit-box;overflow:hidden}.srow-snippet .snippet-label{font-size:var(--text-xs);color:var(--muted);margin-right:6px}.srow-right{font-size:var(--text-xs);color:var(--fg-2);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;flex-shrink:0;gap:2px;padding-top:2px;display:flex}.srow-right .srow-created{color:var(--muted)}mark{background:var(--accent-soft);color:var(--fg-strong);border-radius:2px;padding:0 2px}.fold-banner{background:var(--surface-muted);border-bottom:1px solid var(--hairline);font-size:var(--text-xs);color:var(--muted);align-items:center;gap:12px;padding:8px 16px;display:flex}.fold-banner strong{color:var(--fg);font-weight:var(--weight-bold)}.empty{color:var(--muted);font-size:var(--text-base);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:60px 20px;display:flex}.empty .hint{font-size:var(--text-xs);color:var(--muted-2)}.empty-content{flex-direction:column;flex:1;justify-content:center;gap:12px;max-width:540px;margin:0 auto;padding:40px 24px;display:flex}.empty-eyebrow{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:8px;display:flex}.empty-eyebrow .diamond{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.empty-eyebrow .diamond.danger{background:var(--danger)}.empty-title{font-size:20px;font-weight:var(--weight-bold);color:var(--fg-strong);line-height:1.3}.empty-body{font-size:var(--text-md);color:var(--fg-3);line-height:1.6}.empty-body code,.empty-help code{font-family:var(--font-mono);color:var(--fg-strong);background:var(--surface-muted);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:0 5px;font-size:12px}.empty-actions{gap:8px;margin-top:6px;display:flex}.toolbar-action{border-radius:var(--radius-md);height:32px;font-size:var(--text-base);align-items:center;gap:6px;padding:0 12px;text-decoration:none;transition:background .12s,opacity .12s;display:inline-flex}.toolbar-action.primary{background:var(--primary);color:var(--primary-fg)}.toolbar-action.primary:hover{opacity:.9}.toolbar-action.outline{border:1px solid var(--hairline-strong);background:var(--bg);color:var(--fg)}.toolbar-action.outline:hover{background:var(--surface-strong)}.empty-divider{background:var(--hairline);width:100%;height:1px;margin:6px 0}.empty-help{font-size:var(--text-xs);color:var(--muted);flex-direction:column;gap:6px;display:flex}.empty-help .help-row{align-items:baseline;gap:8px;display:flex}.empty-help .label{color:var(--muted);flex-shrink:0;width:76px}.detail-wrap{flex:1;min-height:0;position:relative;overflow-y:auto;container:detail/inline-size}.detail{max-width:800px;margin:0 auto;padding:0 32px 80px;position:relative}.session-progress{z-index:10;background:var(--hairline);height:2px;margin:0 -32px 28px;position:sticky;top:0}.session-progress-fill{background:var(--accent);width:0%;height:100%;transition:width .15s ease-out}.session-header{border-bottom:1px solid var(--hairline);margin-bottom:24px;padding-bottom:20px}.session-eyebrow{font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.session-eyebrow .project-icon{width:14px;height:14px}.session-eyebrow .project-name{color:var(--fg)}.session-eyebrow .project-path{font-family:var(--font-mono);color:var(--muted);overflow-wrap:anywhere}.session-eyebrow .sep{color:var(--muted-2);margin:0 2px}.session-title{font-size:20px;font-weight:var(--weight-bold);color:var(--fg-strong);overflow-wrap:anywhere;margin-bottom:12px;line-height:1.3}.session-meta-inline{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.session-meta-inline .session-user{color:var(--fg-2)}.session-stats{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-top:8px;display:flex}.session-stats .stat-value{color:var(--fg-2);font-weight:500}.session-link-row{margin-top:10px}.session-link{color:var(--accent-2);text-decoration:none}.session-link:hover{color:var(--accent-2-hover);text-underline-offset:4px;text-decoration:underline}.timeline{flex-direction:column;gap:12px;display:flex}.timeline>[data-idx]{scroll-margin-top:16px}.msg{border-radius:var(--radius);border:1px solid;padding:12px 14px;position:relative}.msg.user{background:var(--user-bubble);border-color:var(--user-bubble-border)}.msg.assistant{background:var(--asst-bubble);border-color:var(--asst-bubble-border)}.msg.assistant.is-error{border-color:var(--danger-line)}.msg-head{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:8px;margin-bottom:8px;display:flex}.msg-head .role{font-weight:var(--weight-bold);color:var(--fg-strong)}.msg.user .msg-head .role{color:var(--fg-strong)}.msg-head .when{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.msg-head .model-chip,.msg-head .trace-link{font-family:var(--font-mono);color:var(--fg-2);background:var(--surface-muted);border:1px solid var(--hairline);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;max-width:260px;padding:0 6px;font-size:11px;line-height:18px;overflow:hidden}.msg-head .trace-link{text-decoration:none}.msg-head .trace-link:hover{color:var(--accent-2);border-color:var(--accent-line)}.msg-text{font-size:var(--text-base);color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.msg-text.empty-text{color:var(--muted);font-style:italic}.msg.pending,.msg.note{border-color:var(--hairline);color:var(--muted);font-size:var(--text-xs);background:0 0;border-style:dashed;align-items:center;gap:8px;padding:8px 12px;display:flex}.msg.note svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}.pending-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite alternate pulse}@keyframes pulse{0%{opacity:.25}to{opacity:1}}.detail-banner{border-radius:var(--radius-md);font-size:var(--text-base);align-items:flex-start;gap:10px;padding:10px 12px;line-height:1.5;display:flex}.detail-banner.broken{background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--fg)}.detail-banner-icon{width:16px;height:16px;color:var(--danger);flex-shrink:0;margin-top:2px}.detail-banner-body{overflow-wrap:anywhere;flex:1;min-width:0}.msg-thinking{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-muted);margin-bottom:10px;overflow:hidden}.thinking-toggle{text-align:left;align-items:center;gap:8px;width:100%;padding:6px 10px;transition:background 80ms;display:flex}.thinking-toggle:hover{background:var(--surface-strong)}.chevron{width:8px;height:8px;color:var(--muted);flex-shrink:0;transition:transform .15s}.msg-thinking.open .chevron,.msg-tool.open>.step-row>.toolcall-toggle .chevron{color:var(--fg);transform:rotate(90deg)}.thinking-label{font-size:var(--text-xs);color:var(--fg-2);font-weight:var(--weight-bold)}.thinking-body{border-top:1px solid var(--hairline);background:var(--surface);padding:8px 14px 12px}.msg-tools{flex-direction:column;gap:6px;margin-top:10px;display:flex}.msg-head+.msg-tools,.msg-thinking+.msg-tools{margin-top:0}.msg-tool{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.msg-tool.is-error{border-color:var(--danger-line)}.msg-tool.agent-call{border-left:2px solid var(--workflow)}.toolcall-toggle{text-align:left;align-items:center;gap:8px;width:100%;padding:6px 10px;transition:background 80ms;display:flex}.toolcall-toggle:hover{background:var(--surface-muted)}.toolcall-toggle .tool-icon{width:14px;height:14px;color:var(--obs-tool);flex-shrink:0;display:inline-flex}.toolcall-toggle .tool-icon svg{width:14px;height:14px}.toolcall-toggle .tool-name{font-size:var(--text-xs);color:var(--fg-strong);font-weight:var(--weight-bold);flex-shrink:0}.msg-tool.is-error>.step-row>.toolcall-toggle .tool-name,.msg-tool.is-error>.step-row>.toolcall-toggle .tool-icon{color:var(--danger)}.msg-tool.agent-call>.step-row>.toolcall-toggle .tool-icon{color:var(--workflow)}.toolcall-toggle .tool-arg{font-family:var(--font-mono);color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11.5px;overflow:hidden}.toolcall-toggle .tool-error{font-size:var(--text-xs);color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);flex-shrink:0;padding:0 6px;line-height:18px}.toolcall-toggle .tool-dur{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.toolcall-body{border-top:1px solid var(--hairline);background:var(--surface)}.toolcall-body-strip{border-bottom:1px solid var(--hairline);background:var(--surface-muted);align-items:center;gap:8px;padding:4px 10px;display:flex}.toolcall-body-strip .strip-label{font-size:var(--text-xs);color:var(--muted)}.toolcall-body-strip .spacer{flex:1}.raw-toggle{border-radius:var(--radius-sm);line-height:20px;font-size:var(--text-xs);color:var(--muted);border:1px solid #0000;padding:0 8px;transition:all .1s}.raw-toggle:hover{color:var(--fg-strong);background:var(--surface-strong)}.raw-toggle.active{color:var(--fg-strong);background:var(--bg);border-color:var(--hairline)}.toolcall-pretty{flex-direction:column;gap:10px;padding:10px 12px;display:flex}.tc-section,.body-label{font-size:var(--text-xs);color:var(--muted);margin-bottom:4px}.toolcall-raw{max-height:420px;padding:10px 12px;overflow:auto}.toolcall-raw pre+.tc-section{margin-top:12px}.toolcall-raw pre,.field-json{font-family:var(--font-mono);color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.55}.field-json{max-height:240px;overflow:auto}.no-output{color:var(--muted);font-style:italic;font-size:var(--text-xs)}.media-images{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.toolcall-body>.media-images{margin:0;padding:10px 12px}.toolcall-pretty:not(:empty)+.media-images,.toolcall-raw+.media-images{padding-top:0}.toolcall-pretty:empty{display:none}.media-image{cursor:zoom-in;background:var(--surface-muted);border:1px solid var(--hairline);border-radius:var(--radius-md);max-width:100%;padding:0;display:block;overflow:hidden}.media-image img{max-width:100%;max-height:240px;display:block}.media-image.expanded{cursor:zoom-out}.media-image.expanded img{max-height:none}.media-note{font-size:var(--text-xs);color:var(--muted);font-style:italic}.agent-prompt{font-size:var(--text-base);color:var(--fg);background:var(--surface-muted);border:1px solid var(--hairline);border-radius:var(--radius-md);white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;padding:8px 10px;line-height:1.5;overflow-y:auto}.agent-result{max-height:400px;overflow-y:auto}.agent-steps{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.agent-note{font-size:var(--text-xs);color:var(--muted);font-style:italic}.workflow-agents{margin:0 0 10px}.workflow-status{font-size:var(--text-xs);border-radius:var(--radius-sm);padding:0 6px;line-height:18px}.workflow-status.completed{background:var(--ok-soft);color:var(--ok)}.workflow-status.failed{background:var(--danger-soft);color:var(--danger)}.skill-md{border:1px solid var(--hairline);border-radius:var(--radius-md);margin:0 12px 10px}.skill-md.open .chevron{transform:rotate(90deg)}.msg.meta{background:0 0;border-color:#0000;padding:0}.msg-meta-collapsed{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-muted);overflow:hidden}.meta-toggle{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:6px 10px;transition:background 80ms;display:flex}.meta-toggle:hover{background:var(--surface-strong)}.meta-toggle .chevron{width:8px;height:8px;color:var(--muted);flex-shrink:0;transition:transform .15s}.msg-meta-collapsed.open .meta-toggle .chevron{color:var(--fg);transform:rotate(90deg)}.meta-toggle .meta-label{font-size:var(--text-xs);color:var(--fg-2);font-weight:var(--weight-bold);flex-shrink:0}.meta-toggle .meta-preview{font-size:var(--text-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.meta-toggle .when{font-size:var(--text-xs);color:var(--muted);flex-shrink:0}.meta-body{border-top:1px solid var(--hairline);background:var(--surface);padding:8px 12px 10px}.truncated-note{font-size:var(--text-xs);color:var(--muted);margin-top:6px;font-style:italic}.toolcall-body>.truncated-note{padding:0 12px 10px}.msg.user.interrupted{opacity:.75}.interrupt-text{color:var(--muted);font-style:italic}.terminal-view{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-code);font-family:var(--font-mono);font-size:12px;line-height:1.55;overflow:hidden}.terminal-prompt-line{background:var(--surface-code-header);gap:8px;padding:8px 12px;display:flex}.prompt-marker{color:var(--ok);font-weight:var(--weight-bold);-webkit-user-select:none;user-select:none;flex-shrink:0}.prompt-cmd{color:var(--fg-strong);white-space:pre-wrap;word-break:break-all}.terminal-divider{background:var(--hairline);height:1px}.terminal-output{color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;padding:8px 12px;overflow:auto}.terminal-output.is-error{color:var(--danger);background:var(--danger-soft)}.file-content,.diff-view,.auto-table-wrap{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-code);overflow:hidden}.file-content-head,.diff-view-head,.auto-table-head{background:var(--surface-code-header);border-bottom:1px solid var(--hairline);font-size:var(--text-xs);color:var(--muted);align-items:center;gap:10px;padding:4px 10px;display:flex}.file-content-head .label,.diff-view-head .label,.auto-table-head .h-label{font-family:var(--font-mono);color:var(--fg);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-content-head .meta,.auto-table-head .h-meta{flex-shrink:0;margin-left:auto}.file-content-body{font-family:var(--font-mono);grid-template-columns:max-content minmax(0,1fr);max-height:320px;font-size:12px;line-height:1.55;display:grid;overflow:auto}.file-content-body.collapsed{max-height:180px}.file-content-body .gutter{color:var(--muted-2);-webkit-user-select:none;user-select:none;text-align:right;border-right:1px solid var(--hairline);white-space:pre;padding:6px 10px 6px 12px}.file-content-body .code{color:var(--fg);white-space:pre;padding:6px 12px}.file-content-expand{text-align:center;border-top:1px solid var(--hairline);background:var(--surface-code-header);width:100%;font-size:var(--text-xs);color:var(--muted);padding:4px;display:block}.file-content-expand:hover{color:var(--fg-strong)}.diff-view-head .stats{font-family:var(--font-mono);gap:8px;margin-left:auto;display:flex}.stat-add{color:var(--diff-add-fg)}.stat-del{color:var(--diff-del-fg)}.diff-body{font-family:var(--font-mono);grid-template-columns:max-content minmax(0,1fr);max-height:380px;font-size:12px;line-height:1.55;display:grid;overflow:auto}.diff-gutter{color:var(--muted-2);-webkit-user-select:none;user-select:none;border-right:1px solid var(--hairline);white-space:pre;padding:0 10px 0 12px}.diff-line{white-space:pre;padding:0 12px}.diff-line.add{background:var(--diff-add-bg);color:var(--diff-add-fg)}.diff-line.del{background:var(--diff-del-bg);color:var(--diff-del-fg)}.diff-line.context{color:var(--fg-2)}.diff-gutter.add{background:var(--diff-add-bg);color:var(--diff-add-fg)}.diff-gutter.del{background:var(--diff-del-bg);color:var(--diff-del-fg)}.field-grid{font-family:var(--font-mono);grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:4px 14px;font-size:12px;display:grid}.field-key{color:var(--muted);padding-top:1px}.field-val{color:var(--fg);overflow-wrap:anywhere;min-width:0}.literal-string{color:var(--json-string)}.literal-num{color:var(--json-number)}.literal-bool{color:var(--json-boolean)}.literal-null{color:var(--json-null);font-style:italic}.lit-string-long{color:var(--json-string);cursor:pointer}.lit-string-long .long-rest{display:none}.lit-string-long.open .long-rest{display:inline}.lit-string-long.open .more-btn{display:none}.lit-string-long .more-btn{font-family:var(--font-sans);color:var(--muted);border:1px solid var(--hairline);border-radius:var(--radius-sm);margin-left:6px;padding:0 5px;font-size:11px;display:inline-block}.result-chip{border-radius:var(--radius-md);background:var(--ok-soft);max-width:100%;color:var(--fg);font-size:var(--text-xs);overflow-wrap:anywhere;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.result-chip.error{background:var(--danger-soft);color:var(--danger)}.tool-action-row{align-items:center;gap:8px;display:flex}.tool-action-label{font-size:var(--text-xs);color:var(--muted)}.file-ref{border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--hairline);font-family:var(--font-mono);color:var(--fg-strong);overflow-wrap:anywhere;padding:1px 8px;font-size:12px;display:inline-flex}.auto-table-scroll{max-height:360px;overflow:auto}.auto-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:12px}.auto-table th,.auto-table td{text-align:left;border-bottom:1px solid var(--hairline);vertical-align:top;padding:6px 10px;line-height:1.45}.auto-table th{background:var(--surface-code-header);font-family:var(--font-sans);font-weight:var(--weight-bold);font-size:var(--text-xs);color:var(--fg-2);white-space:nowrap;position:sticky;top:0}.todo-list{font-size:var(--text-base);flex-direction:column;gap:4px;display:flex}.todo-row{color:var(--fg);gap:8px;display:flex}.todo-mark{font-family:var(--font-mono);color:var(--muted);flex-shrink:0;width:12px}.todo-row.completed .todo-text{color:var(--muted);text-decoration:line-through}.todo-row.completed .todo-mark{color:var(--ok)}.todo-row.in_progress .todo-mark{color:var(--warn)}.markdown-msg{font-size:var(--text-base);color:var(--fg);overflow-wrap:anywhere;line-height:1.65}.markdown-compact{font-size:var(--text-base);color:var(--fg);overflow-wrap:anywhere;line-height:1.55}.markdown-msg h1,.markdown-msg h2,.markdown-msg h3,.markdown-compact h1,.markdown-compact h2,.markdown-compact h3{font-weight:var(--weight-bold);color:var(--fg-strong);margin:1em 0 .4em;line-height:1.35}.markdown-msg h1{font-size:18px}.markdown-msg h2{font-size:16px}.markdown-msg h3,.markdown-compact h1{font-size:var(--text-md)}.markdown-compact h2,.markdown-compact h3{font-size:var(--text-base)}.markdown-msg>:first-child,.markdown-compact>:first-child{margin-top:0}.markdown-msg>:last-child,.markdown-compact>:last-child{margin-bottom:0}.markdown-msg p,.markdown-compact p{margin:.5em 0}.markdown-msg ul,.markdown-msg ol{margin:.5em 0;padding-left:22px}.markdown-compact ul,.markdown-compact ol{margin:.5em 0;padding-left:20px}.markdown-msg li{margin:.18em 0}.markdown-msg code,.markdown-compact code{font-family:var(--font-mono);background:var(--surface-muted);border:1px solid var(--hairline);border-radius:var(--radius-sm);color:var(--fg-strong);padding:0 4px;font-size:.9em}.markdown-msg pre,.markdown-compact pre{background:var(--surface-code);border:1px solid var(--hairline);border-radius:var(--radius-md);margin:.7em 0;padding:10px 12px;overflow-x:auto}.markdown-msg pre code,.markdown-compact pre code{color:var(--fg);background:0 0;border:0;padding:0;font-size:12px;line-height:1.55}.markdown-msg blockquote,.markdown-compact blockquote{border-left:2px solid var(--hairline-strong);color:var(--fg-2);margin:.6em 0;padding:0 0 0 12px}.markdown-msg strong,.markdown-compact strong{font-weight:var(--weight-bold);color:var(--fg-strong)}.markdown-msg a,.markdown-compact a{color:var(--accent-2);text-decoration:none}.markdown-msg a:hover,.markdown-compact a:hover{color:var(--accent-2-hover);text-underline-offset:4px;text-decoration:underline}.markdown-msg table,.markdown-compact table{border-collapse:collapse;font-size:var(--text-xs);margin:.6em 0;display:block;overflow-x:auto}.markdown-msg th,.markdown-msg td,.markdown-compact th,.markdown-compact td{border:1px solid var(--hairline);text-align:left;padding:5px 9px}.markdown-msg th,.markdown-compact th{background:var(--surface-muted);font-weight:var(--weight-bold);color:var(--fg-strong)}.markdown-msg hr{border:0;border-top:1px solid var(--hairline);margin:1.2em 0}.msg-nav{bottom:16px;left:calc(var(--col-sidebar) + (100vw - var(--col-sidebar)) / 2);border-radius:var(--radius);background:var(--popover);border:1px solid var(--hairline);box-shadow:var(--shadow-popover);z-index:10;align-items:center;gap:2px;padding:4px;display:flex;position:fixed;transform:translate(-50%)}.msg-nav-btn{border-radius:var(--radius-md);width:28px;height:28px;color:var(--muted);place-items:center;transition:all .1s;display:grid}.msg-nav-btn:hover:not(:disabled){color:var(--fg-strong);background:var(--surface-strong)}.msg-nav-btn:disabled{opacity:.3;cursor:default}.msg-nav-btn svg{width:14px;height:14px}.msg-nav-pos{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;padding:0 8px}.msg-nav-current{color:var(--fg-strong);font-weight:var(--weight-bold)}@media (width<=720px){.detail{padding:0 16px 80px}.session-progress{margin:0 -16px 24px}}.comments{margin-top:16px}.step-row{align-items:center;display:flex}.step-row>.toolcall-toggle,.step-row>.meta-toggle{flex:1;min-width:0}.step-row>.comment-toggle{margin:0 6px}.comment-toggle{border-radius:var(--radius-sm);height:22px;color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;opacity:.45;flex-shrink:0;align-items:center;gap:3px;padding:0 5px;transition:opacity .12s,background 80ms;display:inline-flex}.msg:hover .comment-toggle,.step-row:hover>.comment-toggle,.comment-toggle:focus-visible,.comment-toggle.has,.comment-toggle.open{opacity:1}.comment-toggle:hover{background:var(--surface-strong);color:var(--fg)}.comment-toggle.has{color:var(--accent-2)}.comment-toggle.open{background:var(--surface-strong)}.step-comments>.comments.step{margin:0}.comments-more,.comment-reply{display:none}.msg>.step-comments{margin-top:10px}.msg-tool>.step-comments,.msg-meta-collapsed>.step-comments{border-top:1px solid var(--hairline);background:var(--surface);padding:8px 10px}.comments.step .comments-list{margin-top:0;margin-bottom:8px}.comments.step .comment-form{margin-top:0}.comments.step .comments-status,.comments.step .comments-error{font-size:var(--text-xs);color:var(--muted);margin:0 0 8px}.comments.step .comments-error{color:var(--danger)}.comments-head{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:8px;display:flex}.comments-icon{flex-shrink:0;width:14px;height:14px}.comments-title{color:var(--fg-2);font-weight:var(--weight-bold)}.comments-count{font-variant-numeric:tabular-nums;background:var(--surface-muted);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:0 6px;line-height:18px}.comments-spacer{flex:1}.comments-add{color:var(--accent-2);font-size:var(--text-xs)}.comments-add:hover:not(:disabled){color:var(--accent-2-hover);text-underline-offset:4px;text-decoration:underline}.comments-add:disabled{color:var(--muted)}.comments-error,.comment-post-error{color:var(--danger);font-size:var(--text-xs);overflow-wrap:anywhere}.comments-error{margin-top:8px}.comments-list{flex-direction:column;gap:6px;margin-top:10px;display:flex}.comment{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);padding:8px 12px}.comment-head{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:8px;margin-bottom:4px;display:flex}.comment-author{color:var(--fg-2);font-weight:var(--weight-bold)}.comment-when{font-variant-numeric:tabular-nums;margin-left:auto}.comment-delete{color:var(--muted);font-size:var(--text-xs)}.comment-delete:hover:not(:disabled){color:var(--danger)}.comment-form{margin-top:10px}.comment-form textarea{resize:vertical;border:1px solid var(--input);border-radius:var(--radius-md);background:var(--bg);width:100%;min-height:72px;color:var(--fg);font:inherit;font-size:var(--text-base);padding:8px 10px;line-height:1.5;transition:border-color .12s;display:block}.comment-form textarea::placeholder{color:var(--muted)}.comment-form textarea:focus{border-color:var(--ring);outline:0}.step-comments textarea{scroll-margin:16px 0 72px}.comment-form-foot{align-items:center;gap:8px;margin-top:8px;display:flex}.comment-hint{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;flex:1}.comment-post-error{flex:1}.comment-btn{border-radius:var(--radius-md);border:1px solid var(--hairline-strong);background:var(--bg);height:28px;font-size:var(--text-xs);color:var(--fg);flex-shrink:0;padding:0 12px}.comment-btn:hover:not(:disabled){background:var(--surface-strong)}.comment-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.comment-btn.primary:hover:not(:disabled){background:var(--primary);opacity:.9}.comment-btn:disabled{opacity:.5}@container detail (width>=1120px){.detail{--side-col:320px;max-width:calc(800px + var(--side-col));padding-right:calc(32px + var(--side-col))}.session-progress{margin-right:calc(-32px - var(--side-col))}.msg{position:static}.msg>.step-comments,.msg-tool>.step-comments,.msg-meta-collapsed>.step-comments{width:calc(var(--side-col) - 24px);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--bg);margin:0;padding:10px 12px;transition:top .15s ease-out;position:absolute;right:32px}.step-comments.active{z-index:1;box-shadow:var(--shadow-popover)}.step-comments.active .comments-list{max-height:50vh;overflow-y:auto}:is(.msg:has(>.step-comments.active),.msg-tool:has(>.step-comments.active),.msg-meta-collapsed:has(>.step-comments.active)){border-color:var(--accent-line)}.step-comments:not(.active){cursor:pointer}.step-comments:not(.active):hover{border-color:var(--hairline-strong)}.step-comments:not(.active) .comment~.comment,.step-comments:not(.active) .comment-delete,.step-comments:not(.active) .comment-form{display:none}.step-comments:not(.active) .comments-list{margin-bottom:6px}.step-comments:not(.active) .comment-body{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.step-comments:not(.active) .comments-more{font-size:var(--text-xs);color:var(--muted);margin-bottom:6px;display:block}.step-comments:not(.active) .comment-reply{text-align:left;width:100%;font-size:var(--text-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:4px 0;display:block;overflow:hidden}.step-comments:not(.active) .comment-reply.draft{color:var(--fg-2);font-style:italic}.step-comments .comments-list{gap:12px}.step-comments .comment{background:0 0;border:0;padding:0}.step-comments .comment-form-foot{flex-wrap:wrap;justify-content:flex-end}.step-comments .comment-hint,.step-comments .comment-post-error{flex-basis:100%}}.session-eyebrow .repo-link{text-decoration:none}.session-eyebrow .repo-link:hover{color:var(--accent-2);text-underline-offset:4px;text-decoration:underline}.git-state code,.msg.git-change code{font-family:var(--font-mono);color:var(--fg-2);background:var(--surface-muted);border:1px solid var(--hairline);border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:0 5px;font-size:11px}.git-state a{text-decoration:none}.git-state a:hover code{color:var(--accent-2);border-color:var(--accent-line)}.msg.git-change{border-color:var(--hairline);color:var(--muted);font-size:var(--text-xs);background:0 0;border-style:dashed;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 12px;display:flex}.msg.git-change svg{flex-shrink:0;width:14px;height:14px}.msg.git-change .when{font-variant-numeric:tabular-nums;margin-left:auto}
