@sigrun/sigrun 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +24 -2
  3. package/dist/blocks/builders.js +125 -0
  4. package/dist/blocks/images.js +57 -0
  5. package/dist/blocks/index.js +20 -0
  6. package/dist/blocks/limits.js +26 -0
  7. package/dist/blocks/placements.js +99 -0
  8. package/dist/blocks/schema.js +559 -0
  9. package/dist/blocks/validate.js +602 -0
  10. package/dist/config.js +31 -0
  11. package/dist/extension.d.ts +476 -9
  12. package/dist/harness/boot.js +8 -1
  13. package/dist/harness/event-bus.js +33 -0
  14. package/dist/harness/identity/users.js +3 -2
  15. package/dist/harness/loader.js +369 -13
  16. package/dist/harness/packages.js +71 -2
  17. package/dist/harness/seam-host.js +69 -2
  18. package/dist/harness/settings.js +5 -0
  19. package/dist/jobs/fire.js +11 -0
  20. package/dist/jobs/spec.js +19 -0
  21. package/dist/serve.js +33 -41
  22. package/dist/server/auth/pipeline.js +16 -1
  23. package/dist/server/conversation-ops.js +482 -10
  24. package/dist/server/gateway.js +122 -0
  25. package/dist/server/helpers.js +26 -0
  26. package/dist/server/host-bridge.js +141 -4
  27. package/dist/server/index.js +27 -0
  28. package/dist/server/notifications.js +6 -2
  29. package/dist/server/routes/conversations.js +37 -93
  30. package/dist/server/routes/events.js +39 -0
  31. package/dist/server/routes/ext-assets.js +84 -0
  32. package/dist/server/routes/extensions.js +31 -1
  33. package/dist/server/routes/files.js +38 -83
  34. package/dist/server/routes/meta.js +37 -2
  35. package/dist/server/routes/providers.js +5 -21
  36. package/dist/server/routes/submissions.js +36 -111
  37. package/dist/server/routes/surfaces.js +387 -0
  38. package/dist/server/routes/users.js +6 -1
  39. package/dist/server/schema-fixture.js +7 -0
  40. package/dist/server/session-meta.js +12 -6
  41. package/dist/server/shutdown.js +85 -0
  42. package/dist/server/surfaces/access-cache.js +43 -0
  43. package/dist/server/surfaces/dedup.js +67 -0
  44. package/dist/server/surfaces/instance.js +42 -0
  45. package/dist/server/surfaces/mime.js +73 -0
  46. package/dist/server/surfaces/rate-limit.js +63 -0
  47. package/dist/server/surfaces/service.js +493 -0
  48. package/dist/server/surfaces/watchers.js +94 -0
  49. package/node_modules/@sigrun/shared/dist/blocks/format.d.ts +28 -0
  50. package/node_modules/@sigrun/shared/dist/blocks/format.js +199 -0
  51. package/node_modules/@sigrun/shared/dist/blocks/icons.d.ts +12 -0
  52. package/node_modules/@sigrun/shared/dist/blocks/icons.js +64 -0
  53. package/node_modules/@sigrun/shared/dist/blocks/index.d.ts +25 -0
  54. package/node_modules/@sigrun/shared/dist/blocks/index.js +21 -0
  55. package/node_modules/@sigrun/shared/dist/blocks/instance.d.ts +29 -0
  56. package/node_modules/@sigrun/shared/dist/blocks/instance.js +51 -0
  57. package/node_modules/@sigrun/shared/dist/blocks/lttb.d.ts +16 -0
  58. package/node_modules/@sigrun/shared/dist/blocks/lttb.js +67 -0
  59. package/node_modules/@sigrun/shared/dist/blocks/ops.d.ts +44 -0
  60. package/node_modules/@sigrun/shared/dist/blocks/ops.js +294 -0
  61. package/node_modules/@sigrun/shared/dist/blocks/text.d.ts +43 -0
  62. package/node_modules/@sigrun/shared/dist/blocks/text.js +790 -0
  63. package/node_modules/@sigrun/shared/dist/blocks/transport.d.ts +77 -0
  64. package/node_modules/@sigrun/shared/dist/blocks/transport.js +11 -0
  65. package/node_modules/@sigrun/shared/dist/blocks/types.d.ts +541 -0
  66. package/node_modules/@sigrun/shared/dist/blocks/types.js +17 -0
  67. package/node_modules/@sigrun/shared/dist/jobs.d.ts +9 -0
  68. package/node_modules/@sigrun/shared/dist/live.d.ts +71 -0
  69. package/node_modules/@sigrun/shared/dist/live.js +82 -0
  70. package/node_modules/@sigrun/shared/dist/session-meta.d.ts +19 -3
  71. package/node_modules/@sigrun/shared/dist/settings.d.ts +7 -0
  72. package/node_modules/@sigrun/shared/dist/views.d.ts +83 -3
  73. package/node_modules/@sigrun/shared/package.json +10 -2
  74. package/package.json +9 -3
  75. package/webui/dist/assets/index-B4-GYqEb.js +50 -0
  76. package/webui/dist/assets/index-BiSMljer.css +1 -0
  77. package/webui/dist/index.html +2 -2
  78. package/webui/dist/assets/index-2RfqJO57.css +0 -1
  79. package/webui/dist/assets/index-DkZgTngD.js +0 -50
@@ -0,0 +1 @@
1
+ :root{--bg:#090d16;--surface:#0f1524;--surface-2:#161e31;--border:#1f2942;--text:#e2e8f3;--muted:#8e9ab2;--faint:#5d6984;--ok:#5fd4a8;--code:#ffffff0f;--accent:#d6a24a;--accent-bg:#d6a24a24;--warn:#d9a35a;--danger:#e0707a;--serif:Georgia, "Iowan Old Style", serif;--sans:Inter, -apple-system, "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-mode=light]{--warn:#8a6116;--danger:#b3363f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}a{color:var(--accent)}[data-mode=light] a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:14px/1.5 var(--sans);background:var(--bg);color:var(--text);overflow:hidden}#root{height:100%}.app-root{height:100%;display:flex;overflow:hidden}.app-boot,.app-refused{height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem;display:flex}.app-refused h1{color:var(--danger);margin:0;font-size:1.1rem}.app-refused p{max-width:70ch;font-family:var(--mono);word-break:break-all;font-size:.8rem}.side-drawer{background:var(--bg);flex:none;min-width:0;display:flex}.rail{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;flex:none;align-items:center;gap:4px;width:52px;padding:12px 0;display:flex}.rail-brand{width:30px;height:30px;color:var(--accent);border:1px solid var(--border);border-radius:8px;place-items:center;margin-bottom:14px;display:grid}.rail-brand svg{width:18px;height:18px}.rail-btn{width:36px;height:36px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:0;display:grid;position:relative}.rail-btn:hover,.rail-btn-active{color:var(--text);background:var(--surface-2)}.rail-btn-active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:9px;bottom:9px;left:-8px}.rail-btn svg{width:18px;height:18px}.rail-spacer{flex:1}.rail-health{background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 15%, transparent);border-radius:50%;flex:none;margin:8px 0 10px}.rail-health[data-health=degraded]{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb, var(--warn) 18%, transparent)}.rail-user{text-overflow:ellipsis;white-space:nowrap;max-width:44px;color:var(--muted);text-align:center;flex:none;margin:6px 0 2px;font-size:.68rem;overflow:hidden}.session-list{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;width:264px;min-height:0;padding:.4rem;display:flex}.session-search-row{gap:8px;margin:4px 2px 6px;display:flex}.session-search{border:1px solid var(--border);background:var(--bg);min-width:0;height:32px;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:0 10px;font-size:13px}.session-search::placeholder{color:var(--faint)}.session-search:focus-visible{border-color:var(--accent);outline:none}.session-new{border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.session-new:hover,.session-new:focus-visible{background:var(--surface-2)}.session-new svg{width:16px;height:16px}.session-list ul{flex:1;margin:.25rem 0 0;padding:0;list-style:none;overflow:auto}.session-group{letter-spacing:.04em;color:var(--faint);padding:10px 16px 4px;font-size:11px}.session-item{min-height:32px;color:var(--muted);border-radius:6px;align-items:center;gap:6px;margin:1px 8px;padding:0 6px 0 10px;display:flex;position:relative}.session-item:hover,.session-item:focus-within{background:var(--surface-2);color:var(--text)}.session-item-active{background:var(--accent-bg);color:var(--text)}.session-fork-mark{width:14px;color:var(--faint);text-align:right;flex:none;font-size:12px}.session-select{text-align:left;min-width:0;color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;flex:1;padding:6px 0;display:block}.session-name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.session-age{color:var(--faint);flex:none;font-size:11px}.session-row-actions{flex:none;display:flex;position:relative}.session-menu-toggle{width:22px;height:22px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:5px;place-items:center;padding:0;font-size:13px;line-height:1;display:grid}.session-menu-toggle svg{width:14px;height:14px}.session-menu-toggle{opacity:0;transition:opacity 80ms}.session-item:hover .session-menu-toggle,.session-item:focus-within .session-menu-toggle{opacity:1}.session-item:hover .session-age,.session-item:focus-within .session-age{opacity:0}.session-menu-toggle:hover,.session-menu-toggle:focus-visible{color:var(--text);background:var(--bg)}.session-menu{z-index:30;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex-direction:column;min-width:130px;padding:4px;display:flex;position:absolute;top:24px;right:0;box-shadow:0 8px 24px #0000004d}.session-menu button{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px}.session-menu button:hover,.session-menu button:focus-visible{background:var(--accent-bg)}.session-rename-input{border:1px solid var(--accent);background:var(--bg);min-width:0;color:var(--text);font:inherit;border-radius:6px;flex:1;padding:3px 6px;font-size:13px}.session-empty{color:var(--faint);text-align:center;padding:16px;font-size:13px}.session-archived-toggle{width:calc(100% - 16px);color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;margin:6px 8px 2px;padding:5px 10px;font-size:12px}.session-archived-toggle:hover,.session-archived-toggle:focus-visible{background:var(--surface-2);color:var(--muted)}.session-archived-toggle[aria-pressed=true]{color:var(--text)}.session-item-archived{opacity:.55}.side-error{color:var(--danger);margin:0;padding:6px 10px;font-size:12px}.main-column{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.main-body{flex:1;min-height:0;display:flex}.chat-header{border-bottom:1px solid var(--border);background:var(--bg);flex:none;align-items:center;gap:10px;min-width:0;height:48px;padding:0 16px 0 24px;display:flex}.chat-title{color:var(--text);cursor:text;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;min-width:0;padding:0;font-family:inherit;font-size:14px;font-weight:600;overflow:hidden}.chat-title-input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:6px;width:min(360px,60vw);min-width:0;max-width:100%;padding:2px 8px;font-size:14px;font-weight:600}.chat-header-spacer{flex:1;min-width:12px}.icon-btn{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn[aria-pressed=true]{color:var(--text);background:var(--surface-2)}.icon-btn svg{width:16px;height:16px}.chat-menu-slot{display:inline-flex;position:relative}.chat-menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:148px;padding:4px;display:flex;position:absolute;top:34px;right:0;box-shadow:0 10px 28px #00000059}.chat-menu button{color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px}.chat-menu button:hover{background:var(--surface-2)}.shell-error{color:var(--danger);border-bottom:1px solid var(--border);margin:0;padding:.35rem 24px;font-size:12.5px}.chat-menu-toggle{display:none}.chat-column{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.chat-center{flex:1;min-height:0;padding:28px 24px 8rem;overflow-y:auto}.chat-fade{z-index:1;pointer-events:none;background:linear-gradient(to bottom, transparent 0%, color-mix(in srgb, var(--bg) 85%, transparent) 45%, var(--bg) 70%);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);height:12rem;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 40%);mask-image:linear-gradient(#0000,#000 40%)}.chat-empty,.chat-loading{color:var(--faint);text-align:center}.turn-list{flex-direction:column;gap:1.1rem;width:100%;max-width:720px;margin:0 auto;display:flex}.turn{flex-direction:column;align-items:stretch;min-width:0;display:flex}.turn-user{align-items:flex-end}.turn-lineage{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px}.turn-lineage:hover,.turn-lineage:focus-visible{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.entry-user{flex-direction:column;align-items:stretch;display:flex}.entry-user-message{background:var(--surface-2);border:1px solid var(--border);border-radius:14px 14px 4px;max-width:60ch;padding:9px 14px}.entry-user-message p{margin:.25rem 0}.entry-expanded{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.entry-expanded-chip{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:.1rem .5rem;font-size:.75rem}.entry-expanded-chip:hover{color:var(--text)}.entry-expanded-text{border:1px dashed var(--border);max-width:min(78%,60ch);color:var(--muted);white-space:pre-wrap;word-break:break-word;border-radius:8px;align-self:flex-end;padding:6px 10px;font-size:.8rem}.turn-prose{word-break:break-word;min-width:0}.md{min-width:0}.md-prose{font-family:var(--serif);font-size:15px;line-height:1.65}.md-bubble{font-size:14px;line-height:1.5}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .75rem}.md-bubble p{margin:.25rem 0}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{font-family:var(--sans);color:var(--text);margin:1.1rem 0 .5rem;line-height:1.3}.md h1{font-size:1.25rem}.md h2{font-size:1.15rem}.md h3{font-size:1.05rem}.md h4,.md h5,.md h6{font-size:1rem}.md ul,.md ol{margin:0 0 .75rem;padding-left:1.4rem}.md li{margin:.15rem 0}.md blockquote{border-left:2px solid var(--border);color:var(--muted);margin:0 0 .75rem;padding:.1rem 0 .1rem .75rem}.md hr{border:0;border-top:1px solid var(--border);margin:1rem 0}.md img{max-width:100%}.md code{font-family:var(--mono);background:var(--code);border-radius:4px;padding:.1em .35em;font-size:.88em}.md-tbl{border:1px solid var(--border);font-family:var(--sans);border-radius:10px;margin:.35rem 0 .9rem;font-size:13px;overflow:hidden}.md-tbl-bar{border-bottom:1px solid var(--border);background:var(--surface);color:var(--faint);align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:12px;display:flex}.md-tbl-bar input{min-width:0;color:var(--text);font:12px var(--sans);background:0 0;border:none;outline:none;flex:1}.md-tbl-count{color:var(--faint);white-space:nowrap;margin-left:auto;font-size:12px}.md-tbl table{border-collapse:collapse;width:100%}.md-tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface);padding:7px 10px;font-weight:500}.md-tbl td{border-bottom:1px solid var(--border);color:var(--text);padding:7px 10px}.md-tbl tbody tr:last-child td{border-bottom:none}.md-code{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 55%, var(--bg));border-radius:10px;margin:.35rem 0 .9rem}.md-code-head{border-bottom:1px solid var(--border);font-family:var(--sans);color:var(--faint);justify-content:space-between;align-items:center;padding:.3rem .6rem;font-size:11px;display:flex}.md-code-lang{font-family:var(--mono)}.md-code-copy{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:1px 7px}.md-code-copy:hover,.md-code-copy:focus-visible{color:var(--text);background:var(--surface-2)}.md-code-copy[data-copied]{color:var(--ok)}.md-code pre{font:12.5px/1.55 var(--mono);color:var(--text);margin:0;padding:.6rem .75rem;overflow-x:auto}.md-code pre code{font:inherit;background:0 0;border-radius:0;padding:0}.entry-attachment{font-family:var(--mono);color:var(--muted);margin-left:.4rem;font-size:.75rem}.message-actions{opacity:0;align-items:center;gap:.15rem;min-height:24px;margin-top:2px;transition:opacity 80ms;display:flex}.message-actions[data-kind=user]{justify-content:flex-end}.turn:hover .message-actions,.turn:focus-within .message-actions{opacity:1}.message-action{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px 7px;font-size:12px}.message-action:hover,.message-action:focus-visible{color:var(--text);background:var(--surface-2)}.message-action[data-copied]{color:var(--ok)}.message-meta{color:var(--faint);font-family:var(--mono);white-space:nowrap;margin-left:auto;font-size:11px}.activity-line{flex-direction:column;align-items:flex-start;margin-top:.35rem;display:flex}.activity-toggle{color:var(--muted);font-family:var(--mono);cursor:pointer;background:0 0;border:none;align-items:center;gap:.45rem;padding:1px 0;font-size:11.5px;display:inline-flex}.activity-toggle:hover,.activity-toggle:focus-visible{color:var(--text)}.activity-failed{color:var(--danger)}.activity-body{border-left:2px solid var(--border);flex-direction:column;gap:.15rem;width:100%;margin-top:.25rem;padding-left:.85rem;display:flex}.activity-thinking{color:var(--faint);white-space:pre-wrap;margin:.1rem 0 .25rem;font-size:.82rem;font-style:italic}.activity-spinner,.tool-row-spinner{border:1.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;animation:.8s linear infinite activity-spin}@keyframes activity-spin{to{transform:rotate(360deg)}}.entry-system,.entry-unknown{color:var(--muted);font-size:.8rem}.turn-compaction{color:var(--faint);letter-spacing:.05em;align-items:center;gap:12px;font-size:11px;display:flex}.turn-compaction:before,.turn-compaction:after{content:"";border-top:1px solid var(--border);flex:1}.chat-working{color:var(--muted);align-items:center;gap:.3rem;padding:.4rem .2rem;font-size:.8rem;display:flex}.chat-working-dot{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite working-bounce}.chat-working-dot:nth-child(2){animation-delay:.15s}.chat-working-dot:nth-child(3){animation-delay:.3s}@keyframes working-bounce{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.chat-working-label{margin-left:.25rem}.chat-compaction-failure{color:var(--danger);margin:.25rem 0;font-size:.8rem}.tool-row{flex-direction:column;min-width:0;display:flex}.tool-row-head{align-items:center;gap:.4rem;min-width:0;display:flex}.tool-row-toggle{min-width:0;color:var(--muted);font-family:var(--mono);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:baseline;gap:.5rem;padding:1px 0;font-size:12px;display:flex}.tool-row-toggle:hover,.tool-row-toggle:focus-visible{color:var(--text)}.tool-row[data-error] .tool-row-toggle{color:var(--danger)}.tool-row-glyph{flex:none}.tool-row-glyph[data-glyph=ok]{color:var(--ok)}.tool-row-glyph[data-glyph=error]{color:var(--danger)}.tool-row-glyph[data-glyph=pending]{color:var(--faint)}.tool-row-name{flex:none}.tool-row-preview{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tool-row-actions{opacity:0;flex:none;gap:.15rem;transition:opacity 80ms;display:flex}.tool-row:hover .tool-row-actions,.tool-row:focus-within .tool-row-actions{opacity:1}.tool-row-detail{flex-direction:column;gap:.35rem;margin:.25rem 0 .35rem;display:flex}.tool-row-args,.tool-row-output{background:var(--code);font-family:var(--mono);white-space:pre;border-radius:6px;max-height:240px;margin:0;padding:.45rem .6rem;font-size:12px;overflow:auto}.tool-row-more{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px}.tool-row-more:hover,.tool-row-more:focus-visible{color:var(--text);text-underline-offset:3px;text-decoration:underline}.tool-row-diff{background:var(--code);font-family:var(--mono);white-space:pre;border-radius:6px;max-height:240px;margin:0;padding:.45rem .6rem;font-size:12px;overflow:auto}.tool-row-diff .diff-line-add{color:var(--ok)}.tool-row-diff .diff-line-del{color:var(--danger)}.tool-row-diff .diff-line-ctx{color:var(--muted)}.composer-slot{z-index:2;background:var(--bg);padding:.75rem 24px 1.1rem;position:absolute;bottom:0;left:0;right:0}.composer{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:.55rem;max-width:720px;margin:0 auto;padding:12px;display:flex}.composer-input{resize:none;width:100%;color:var(--text);font:inherit;background:0 0;border:none;min-height:1.6rem;max-height:40vh;padding:.35rem .25rem .45rem;transition:height .12s ease-out;overflow-y:auto}.composer-input:focus-visible{outline:1px solid var(--border);outline-offset:3px;border-radius:6px}.composer-toolbar{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.composer-toolbar-spacer{flex:1}.composer-pill{height:28px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:12.5px;display:inline-flex}.composer-pill:hover,.composer-pill[aria-expanded=true]{background:var(--surface-2);color:var(--text)}.composer-pill:disabled{opacity:.55;cursor:default}.composer-pill svg{width:15px;height:15px}.composer-pill-caret{color:var(--faint);font-size:10px}.composer-picker{display:inline-flex;position:relative}.composer-picker-menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:1px;min-width:210px;max-height:16rem;margin:0;padding:4px;list-style:none;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 10px 28px #00000059}.composer-picker-menu li{color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:baseline;gap:8px;padding:6px 10px;font-size:13px;display:flex}.composer-picker-menu li[data-highlighted]{background:var(--accent-bg)}.composer-picker-check{color:var(--accent);font-size:12px}.composer-picker-id{color:var(--muted);font-family:var(--mono);margin-left:auto;padding-left:12px;font-size:11.5px}.composer-ring{color:var(--faint);justify-content:center;align-items:center;gap:6px;margin-right:6px;font-size:11.5px;display:inline-flex}.composer-ring-track{fill:none;stroke:var(--border);stroke-width:3px}.composer-ring-fill{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.composer-send{background:var(--accent);width:30px;height:30px;color:var(--bg);cursor:pointer;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.composer-send svg{width:16px;height:16px}.composer-send.composer-send-disabled{background:var(--surface-2);color:var(--faint);cursor:default}.composer-queued{color:var(--warn);white-space:nowrap;font-size:12px}.composer-attach{padding:0 7px}.composer-attach[data-uploading]{opacity:.6;cursor:default}.composer-hint{text-align:center;max-width:720px;color:var(--faint);margin:6px auto 0;font-size:11px}.composer-attachments{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.composer-attachment{border:1px solid var(--border);color:var(--text);border-radius:6px;align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.78rem;display:flex}.composer-attachment-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem}.right-panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;flex:none;width:280px;min-height:0;display:flex}.right-panel-title{color:var(--faint);letter-spacing:.04em;margin:14px 10px 8px;font-size:11px;font-weight:500}.right-panel-body{flex-direction:column;flex:1;min-height:0;display:flex}.outline{flex-direction:column;flex:1;gap:1px;min-height:0;padding:0 .5rem .75rem;display:flex;overflow-y:auto}.outline-empty{color:var(--faint);margin:.25rem .75rem;font-size:12.5px}.outline-item{-webkit-line-clamp:2;text-align:left;color:var(--muted);font:12.5px/1.35 var(--sans);cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;border-radius:0 6px 6px 0;-webkit-box-orient:vertical;padding:6px 8px;display:-webkit-box;overflow:hidden}.outline-item:hover,.outline-item:focus-visible{background:var(--surface-2);color:var(--text)}.outline-item[aria-current=true]{color:var(--text);border-left-color:var(--accent)}.workspace-browser{flex-direction:column;height:100%;min-height:0;padding:.6rem .8rem;display:flex}.workspace-title{color:var(--faint);text-transform:uppercase;letter-spacing:.5px;align-items:center;margin:0 0 .6rem;font-size:12px;font-weight:600;display:flex}.workspace-close{color:var(--muted);cursor:pointer;text-transform:none;background:0 0;border:none;margin-left:auto;padding:0 .2rem;font-size:14px;display:none}.workspace-tree,.workspace-children{margin:0;padding:0;list-style:none}.workspace-tree{font-family:var(--mono);flex:1;min-height:0;font-size:12px;overflow:auto}.workspace-dir,.workspace-file{width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:5px;padding:.2rem .3rem;display:block}.workspace-file{color:var(--muted)}.workspace-dir:hover,.workspace-file:hover{background:var(--surface-2)}.workspace-file:hover{color:var(--text)}.workspace-file[data-selected]{background:var(--surface-2);color:var(--text)}.file-preview{border-top:1px solid var(--border);background:var(--surface-2);max-height:40%;padding:.6rem .8rem;overflow:auto}.file-preview-path{color:var(--muted);word-break:break-all;margin:0 0 .4rem;font-size:.75rem}.file-preview-content{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;margin:0;font-size:11px;overflow:auto}.file-preview-binary,.file-preview-loading,.workspace-empty,.workspace-loading{color:var(--faint);font-size:.8rem}.jobs-panel{flex-direction:column;height:100%;min-height:0;padding:.6rem .8rem;display:flex}.jobs-list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.job-row{border-bottom:1px solid var(--border);padding:.35rem 0}.job-summary{text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:5px;grid-template-columns:1fr;gap:1px;padding:2px 4px;display:grid}.job-summary:hover{background:var(--surface-2)}.job-name{color:var(--text);font-size:12.5px;font-weight:500}.job-schedule,.job-next,.job-last{color:var(--muted);font-size:11.5px;font-family:var(--mono)}.job-summary-side{justify-content:flex-end;align-items:center;gap:.4rem;padding:0 4px .25rem;display:flex}.job-conversation{color:var(--accent);font:11.5px var(--mono);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.job-runnow{border:1px solid var(--border);color:var(--text);font:11px var(--sans);cursor:pointer;background:0 0;border-radius:5px;padding:1px 8px}.job-runnow:hover{border-color:var(--accent);color:var(--accent)}.job-detail{padding:.3rem .4rem .5rem}.job-section-title{color:var(--faint);text-transform:uppercase;letter-spacing:.5px;margin:.4rem 0 .25rem;font-size:10.5px;font-weight:600}.job-run-row,.job-revision-meta{font:11px var(--mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:1px 0;display:flex}.job-run-version,.job-revision-version{color:var(--faint)}.job-run-manual{border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:10px}.job-run-outcome[data-outcome=failed],.job-run-error{color:var(--danger)}.job-run-outcome[data-outcome=succeeded]{color:var(--ok)}.job-run-error{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.job-revision-row{margin:.25rem 0}.job-revision-changedBy{color:var(--text)}.job-revision-row .interaction-diff{margin:.25rem 0}.job-empty{color:var(--faint);margin:.1rem 0;font-size:11.5px}.drawer-backdrop,.panel-backdrop{display:none}@media (width<=900px){.side-drawer{z-index:90;transition:transform .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 32px #00000059}.side-drawer[data-open]{transform:translate(0)}.chat-menu-toggle{display:grid}.right-panel{z-index:90;width:min(320px,85vw);position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #00000073}.workspace-close{display:block}.drawer-backdrop,.panel-backdrop{z-index:85;background:#00000059;display:block;position:fixed;inset:0}.chat-center{padding:20px 16px 8rem}.chat-header{padding:0 12px 0 16px}.composer-slot{padding:.5rem 16px .9rem}}.composer-notice{color:var(--muted);margin:.25rem 0;font-size:.8rem}.composer-command-menu{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;max-height:12rem;margin:0;padding:.25rem 0;font-size:.8rem;list-style:none;overflow:auto}.composer-command-menu li{cursor:pointer;align-items:baseline;gap:.5rem;padding:.3rem .6rem;display:flex}.composer-command-menu li[data-highlighted]{background:var(--accent-bg)}.composer-command-name{font-weight:600}.composer-command-args{color:var(--muted);font-family:var(--mono)}.composer-command-description{color:var(--muted)}.settings-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-start;padding-top:6vh;display:flex;position:fixed;inset:0}.settings-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.625rem;width:min(26rem,92vw);max-height:82vh;padding:.75rem .875rem;display:flex;overflow-y:auto;box-shadow:0 18px 48px #0006}.settings-head{align-items:center;gap:.5rem;display:flex}.settings-title{letter-spacing:.2px;font-weight:650}.settings-head .spacer{flex:1}.settings-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:13px}.settings-body{flex-direction:column;gap:.625rem;min-width:0;max-width:100%;display:flex}.settings-layout{gap:.75rem;min-width:0;display:flex}.settings-nav{flex-direction:column;flex:none;gap:.2rem;display:flex}.settings-nav-item{text-align:left;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:.3rem .6rem;font-size:13px}.settings-nav-item:hover{background:var(--surface-2)}.settings-nav-item[data-active]{background:var(--accent-bg);color:var(--text)}.settings-section{flex:1;min-width:0}.settings-field{border:none;flex-direction:column;gap:.25rem;margin:0;padding:0;display:flex}.settings-label{color:var(--muted);font-size:12px;font-family:var(--sans)}.settings-checkbox{flex-flow:wrap;align-items:center;gap:.4rem;font-size:13px}.settings-checkbox .settings-note{flex-basis:100%}.settings-tools{flex-flow:wrap;gap:.25rem .75rem;display:flex}.settings-tools .settings-note{flex-basis:100%;min-width:0}.settings-note{color:var(--faint);margin:0;font-size:11px}.settings-select-wrap{width:fit-content;max-width:100%;position:relative}.settings-select-wrap:after{content:"▾";color:var(--muted);pointer-events:none;font-size:11px;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.settings-field select{appearance:none;background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:6px;max-width:100%;padding:.35rem 1.7rem .35rem .6rem;font-size:13px}.settings-mode-row{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:3px;width:fit-content;padding:3px;display:flex}.settings-mode{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .85rem;font-size:13px}.settings-mode:hover{color:var(--text)}.settings-mode[aria-pressed=true]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.settings-palettes{flex-wrap:wrap;gap:8px;display:flex}.settings-palette{border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:5px;width:56px;height:34px;padding:0;display:flex}.settings-palette[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.settings-swatch-dot{border-radius:50%;flex:none;width:8px;height:8px}.settings-accents{flex-wrap:wrap;gap:10px;display:flex}.settings-accent{border:1px solid var(--border);cursor:pointer;border-radius:50%;width:20px;height:20px;padding:0}.settings-accent[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.settings-thinking{font-family:var(--mono);background:var(--bg);color:var(--text);border:1px solid var(--border);resize:vertical;box-sizing:border-box;border-radius:4px;width:100%;max-width:100%;padding:.4rem;font-size:12px}.settings-actions{align-items:center;gap:.625rem;display:flex}.settings-save{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:6px;padding:.3rem .9rem;font-weight:600}.settings-save:disabled{opacity:.5;cursor:default}.interaction-cards,.ambient-panels{max-height:40vh;overflow-y:auto}.interaction-cards{flex-direction:column;gap:.5rem;display:flex}.interaction-card{border:1px solid var(--warn);background:color-mix(in srgb, var(--warn) 8%, var(--surface));border-radius:8px;max-width:720px;padding:.7rem .9rem}.interaction-card-title{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.interaction-kind{font-family:var(--mono);color:var(--muted);background:color-mix(in srgb, var(--warn) 14%, transparent);border-radius:4px;padding:.1rem .45rem;font-size:11px}.interaction-expiry{color:var(--muted);font-size:.75rem}.interaction-text{white-space:pre-wrap;margin:.35rem 0}.interaction-diff{grid-template-columns:1fr 1fr;gap:.5rem;margin:.5rem 0;display:grid}.interaction-diff pre{background:var(--surface);font-family:var(--mono);border-radius:6px;max-height:16rem;margin:0;padding:.5rem;font-size:12px;overflow:auto}.interaction-diff-before{color:var(--danger)}.interaction-diff-after{color:var(--ok)}.interaction-options,.interaction-fields{flex-direction:column;gap:.4rem;margin:.5rem 0;display:flex}.interaction-option{border:1px solid var(--border);cursor:pointer;border-radius:6px;grid-template-columns:auto 1fr;align-items:baseline;gap:.4rem;padding:.4rem .6rem;display:grid}.interaction-option input{align-self:center}.interaction-option-label{font-weight:500}.interaction-option-danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.interaction-option-warn{border-color:color-mix(in srgb, var(--warn) 45%, var(--border))}.interaction-option-ok{border-color:color-mix(in srgb, var(--ok) 45%, var(--border))}.interaction-option-description{color:var(--muted);grid-column:2;font-size:.8rem}.interaction-field{flex-direction:column;gap:.25rem;display:flex}.interaction-field-label{color:var(--muted);font-size:.8rem}.interaction-field input{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;padding:.4rem .6rem}.interaction-submit{border:1px solid var(--border);background:var(--ok);color:var(--bg);cursor:pointer;border-radius:6px;align-self:flex-start;padding:.35rem .9rem;font-weight:600}.interaction-submit:disabled{opacity:.5;cursor:default}.interaction-details,.ambient-details{color:var(--muted);margin-top:.4rem;font-size:.75rem}.interaction-details pre,.ambient-details pre{background:var(--surface);border-radius:6px;max-height:12rem;margin:.3rem 0 0;padding:.5rem;overflow:auto}.ambient-panels{flex-direction:column;gap:.5rem;display:flex}.ambient-surface{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:720px;padding:.5rem .7rem}.ambient-surface-title{color:var(--faint);justify-content:space-between;margin-bottom:.3rem;font-size:.72rem;display:flex}.ambient-key{font-family:var(--mono)}.ambient-line{font-family:var(--mono);white-space:pre-wrap;flex-wrap:wrap;gap:.75rem;font-size:12px;display:flex}.ambient-segment-right{margin-left:auto}.ambient-rows{flex-direction:column;gap:.2rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.ambient-row{align-items:baseline;gap:.45rem;font-size:.85rem;display:flex}.ambient-row[data-status=running] .ambient-row-glyph{color:var(--warn)}.ambient-row[data-status=completed],.ambient-row[data-status=complete],.ambient-row[data-status=passed]{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent)}.ambient-row[data-status=failed],.ambient-row[data-status=blocked]{color:var(--danger)}.ambient-row-glyph{font-family:var(--mono);flex:none}.ambient-row-spinner{color:var(--muted);font-size:.78rem;font-style:italic}.ambient-row-detail{color:var(--muted);font-size:.8rem}.ambient-row-deps{color:var(--muted);font-family:var(--mono);font-size:.72rem}.ambient-metrics{color:var(--muted);font-family:var(--mono);margin-left:auto;font-size:.72rem}.ambient-quiet-summary{color:var(--faint);font-size:.75rem}.ambient-gauge{flex-direction:column;gap:.35rem;display:flex}.ambient-gauge-label{color:var(--muted);font-size:.8rem}.ambient-gauge-bar{background:color-mix(in srgb, var(--faint) 25%, transparent);border-radius:3px;height:6px;overflow:hidden}.ambient-gauge-fill{background:var(--ok);height:100%;transition:width .3s}.ambient-recent-output{background:color-mix(in srgb, var(--border) 40%, transparent);font-family:var(--mono);border-radius:6px;max-height:8rem;margin:0;padding:.4rem;font-size:11px;overflow:auto}.ambient-ledger{flex-direction:column;gap:.2rem;max-height:10rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex;overflow:auto}.ambient-ledger-entry{align-items:baseline;gap:.45rem;font-size:.8rem;display:flex}.ambient-ledger-kind{font-family:var(--mono);color:var(--muted);flex:none;font-size:.7rem}.ambient-ledger-detail{color:var(--muted);font-size:.75rem}.auth-screen{place-items:center;height:100%;padding:1rem;display:grid;overflow:auto}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.9rem;width:min(24rem,100%);padding:1.5rem 1.5rem 1.25rem;display:flex;box-shadow:0 12px 40px #00000040}.auth-card h1{font-size:1.15rem;font-family:var(--serif);margin:0}.auth-message{color:var(--muted);margin:0;font-size:.85rem}.auth-identity{font-family:var(--mono);color:var(--text);word-break:break-all;margin:0;font-size:.85rem}.auth-field{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.auth-field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem}.auth-field input:focus-visible{outline:1px solid var(--accent);border-color:var(--accent)}.auth-optional{color:var(--faint);font-size:.72rem}.auth-submit{font:inherit;color:var(--text);background:var(--accent-bg);border:1px solid var(--accent);cursor:pointer;border-radius:8px;padding:.5rem .9rem}.auth-submit:disabled{opacity:.6;cursor:default}.auth-error{color:var(--danger);word-break:break-word;margin:0;font-size:.8rem}.share-overlay{z-index:60;background:#00000073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.share-menu{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.8rem;width:min(22rem,100%);padding:1rem 1.25rem 1.1rem;display:flex;box-shadow:0 12px 40px #00000040}.share-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.share-head h2{font-size:1rem;font-family:var(--serif);margin:0}.share-close{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.share-close:hover{color:var(--text)}.share-scopes{flex-direction:column;gap:.4rem;display:flex}.share-scope{font:inherit;text-align:left;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:.1rem;padding:.45rem .65rem;display:flex}.share-scope[data-selected]{border-color:var(--accent);background:var(--accent-bg)}.share-scope-hint{color:var(--muted);font-size:.72rem}.share-level{gap:.4rem;display:flex}.share-level-btn{font:inherit;color:var(--muted);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex:1;padding:.35rem .5rem;font-size:.8rem}.share-level-btn[data-selected]{color:var(--text);border-color:var(--accent);background:var(--accent-bg)}.share-field{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.share-field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem}.share-warning{color:var(--warn);margin:0;font-size:.8rem}.settings-ext-list{gap:.75rem}.settings-ext{border:1px solid var(--border);border-radius:4px;margin:0;padding:.5rem .75rem .75rem}.settings-ext-name{padding:0 .35rem;font-weight:600}.settings-ext-meta{color:var(--muted);margin-left:.4rem;font-size:11px;font-weight:400}.settings-ext-settings{font-family:var(--mono);background:var(--bg);color:var(--text);border:1px solid var(--border);resize:vertical;box-sizing:border-box;border-radius:4px;width:100%;max-width:100%;padding:.4rem;font-size:12px}.settings-ext-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;display:flex}.settings-ext-key{font-family:var(--mono);font-size:12px}.settings-ext-source{color:var(--muted);font-size:11px}.settings-ext-row input{font-family:var(--mono);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;min-width:8rem;padding:.25rem .4rem;font-size:12px}.settings-provider-list{gap:.75rem}.settings-provider{border:1px solid var(--border);border-radius:4px;margin:0;padding:.5rem .75rem .75rem}.settings-provider-name{flex-wrap:wrap;align-items:center;gap:.4rem;padding:0 .35rem;font-weight:600;display:flex}.settings-provider-status{font-size:10px;font-weight:600;font-family:var(--mono);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.05rem .4rem}.settings-provider-status[data-status=ready]{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.settings-provider-status[data-status=degraded],.settings-provider-status[data-status=invalid]{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.settings-provider-meta{color:var(--muted);font-size:11px;font-weight:400}.settings-provider-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;display:flex}.settings-provider-row input{font-family:var(--mono);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:10rem;min-width:10rem;max-width:22rem;padding:.25rem .4rem;font-size:12px}.turn-timeline{flex-direction:column;gap:.5rem;display:flex}.turn-timeline>*+*{border-top:1px solid color-mix(in srgb, var(--border) 55%, transparent);padding-top:.5rem}.timeline-thinking{opacity:.75;white-space:pre-wrap;font-style:italic}.turn-assistant[data-live=true] .turn-timeline{border-left:2px solid color-mix(in srgb, var(--border) 80%, transparent);padding-left:.6rem}.settings-version{color:var(--text-dim,color-mix(in srgb, var(--text) 55%, transparent));-webkit-user-select:text;user-select:text;margin:.8rem 0 0;font-size:.82rem}
@@ -28,8 +28,8 @@
28
28
  if (accent) document.documentElement.dataset.accent = accent;
29
29
  } catch {}
30
30
  </script>
31
- <script type="module" crossorigin src="./assets/index-DkZgTngD.js"></script>
32
- <link rel="stylesheet" crossorigin href="./assets/index-2RfqJO57.css">
31
+ <script type="module" crossorigin src="./assets/index-B4-GYqEb.js"></script>
32
+ <link rel="stylesheet" crossorigin href="./assets/index-BiSMljer.css">
33
33
  </head>
34
34
  <body>
35
35
  <div id="root"></div>
@@ -1 +0,0 @@
1
- :root{--bg:#090d16;--surface:#0f1524;--surface-2:#161e31;--border:#1f2942;--text:#e2e8f3;--muted:#8e9ab2;--faint:#5d6984;--ok:#5fd4a8;--code:#ffffff0f;--accent:#d6a24a;--accent-bg:#d6a24a24;--warn:#d9a35a;--danger:#e0707a;--serif:Georgia, "Iowan Old Style", serif;--sans:Inter, -apple-system, "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-mode=light]{--warn:#8a6116;--danger:#b3363f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}a{color:var(--accent)}[data-mode=light] a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:14px/1.5 var(--sans);background:var(--bg);color:var(--text);overflow:hidden}#root{height:100%}.app-root{height:100%;display:flex;overflow:hidden}.app-boot,.app-refused{height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem;display:flex}.app-refused h1{color:var(--danger);margin:0;font-size:1.1rem}.app-refused p{max-width:70ch;font-family:var(--mono);word-break:break-all;font-size:.8rem}.side-drawer{background:var(--bg);flex:none;min-width:0;display:flex}.rail{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;flex:none;align-items:center;gap:4px;width:52px;padding:12px 0;display:flex}.rail-brand{width:30px;height:30px;color:var(--accent);border:1px solid var(--border);border-radius:8px;place-items:center;margin-bottom:14px;display:grid}.rail-brand svg{width:18px;height:18px}.rail-btn{width:36px;height:36px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:0;display:grid;position:relative}.rail-btn:hover,.rail-btn-active{color:var(--text);background:var(--surface-2)}.rail-btn-active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:9px;bottom:9px;left:-8px}.rail-btn svg{width:18px;height:18px}.rail-spacer{flex:1}.rail-health{background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 15%, transparent);border-radius:50%;flex:none;margin:8px 0 10px}.rail-health[data-health=degraded]{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb, var(--warn) 18%, transparent)}.rail-user{text-overflow:ellipsis;white-space:nowrap;max-width:44px;color:var(--muted);text-align:center;flex:none;margin:6px 0 2px;font-size:.68rem;overflow:hidden}.session-list{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;width:264px;min-height:0;padding:.4rem;display:flex}.session-search-row{gap:8px;margin:4px 2px 6px;display:flex}.session-search{border:1px solid var(--border);background:var(--bg);min-width:0;height:32px;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:0 10px;font-size:13px}.session-search::placeholder{color:var(--faint)}.session-search:focus-visible{border-color:var(--accent);outline:none}.session-new{border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.session-new:hover,.session-new:focus-visible{background:var(--surface-2)}.session-new svg{width:16px;height:16px}.session-list ul{flex:1;margin:.25rem 0 0;padding:0;list-style:none;overflow:auto}.session-group{letter-spacing:.04em;color:var(--faint);padding:10px 16px 4px;font-size:11px}.session-item{min-height:32px;color:var(--muted);border-radius:6px;align-items:center;gap:6px;margin:1px 8px;padding:0 6px 0 10px;display:flex;position:relative}.session-item:hover,.session-item:focus-within{background:var(--surface-2);color:var(--text)}.session-item-active{background:var(--accent-bg);color:var(--text)}.session-fork-mark{width:14px;color:var(--faint);text-align:right;flex:none;font-size:12px}.session-select{text-align:left;min-width:0;color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;flex:1;padding:6px 0;display:block}.session-name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.session-age{color:var(--faint);flex:none;font-size:11px}.session-row-actions{flex:none;display:flex;position:relative}.session-menu-toggle{width:22px;height:22px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:5px;place-items:center;padding:0;font-size:13px;line-height:1;display:grid}.session-menu-toggle svg{width:14px;height:14px}.session-menu-toggle{opacity:0;transition:opacity 80ms}.session-item:hover .session-menu-toggle,.session-item:focus-within .session-menu-toggle{opacity:1}.session-item:hover .session-age,.session-item:focus-within .session-age{opacity:0}.session-menu-toggle:hover,.session-menu-toggle:focus-visible{color:var(--text);background:var(--bg)}.session-menu{z-index:30;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex-direction:column;min-width:130px;padding:4px;display:flex;position:absolute;top:24px;right:0;box-shadow:0 8px 24px #0000004d}.session-menu button{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px}.session-menu button:hover,.session-menu button:focus-visible{background:var(--accent-bg)}.session-rename-input{border:1px solid var(--accent);background:var(--bg);min-width:0;color:var(--text);font:inherit;border-radius:6px;flex:1;padding:3px 6px;font-size:13px}.session-empty{color:var(--faint);text-align:center;padding:16px;font-size:13px}.session-archived-toggle{width:calc(100% - 16px);color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;margin:6px 8px 2px;padding:5px 10px;font-size:12px}.session-archived-toggle:hover,.session-archived-toggle:focus-visible{background:var(--surface-2);color:var(--muted)}.session-archived-toggle[aria-pressed=true]{color:var(--text)}.session-item-archived{opacity:.55}.side-error{color:var(--danger);margin:0;padding:6px 10px;font-size:12px}.main-column{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.main-body{flex:1;min-height:0;display:flex}.chat-header{border-bottom:1px solid var(--border);background:var(--bg);flex:none;align-items:center;gap:10px;min-width:0;height:48px;padding:0 16px 0 24px;display:flex}.chat-title{color:var(--text);cursor:text;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;min-width:0;padding:0;font-family:inherit;font-size:14px;font-weight:600;overflow:hidden}.chat-title-input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:6px;width:min(360px,60vw);min-width:0;max-width:100%;padding:2px 8px;font-size:14px;font-weight:600}.chat-header-spacer{flex:1;min-width:12px}.icon-btn{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn[aria-pressed=true]{color:var(--text);background:var(--surface-2)}.icon-btn svg{width:16px;height:16px}.chat-menu-slot{display:inline-flex;position:relative}.chat-menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:148px;padding:4px;display:flex;position:absolute;top:34px;right:0;box-shadow:0 10px 28px #00000059}.chat-menu button{color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px}.chat-menu button:hover{background:var(--surface-2)}.shell-error{color:var(--danger);border-bottom:1px solid var(--border);margin:0;padding:.35rem 24px;font-size:12.5px}.chat-menu-toggle{display:none}.chat-column{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.chat-center{flex:1;min-height:0;padding:28px 24px 8rem;overflow-y:auto}.chat-fade{z-index:1;pointer-events:none;background:linear-gradient(to bottom, transparent 0%, color-mix(in srgb, var(--bg) 85%, transparent) 45%, var(--bg) 70%);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);height:12rem;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 40%);mask-image:linear-gradient(#0000,#000 40%)}.chat-empty,.chat-loading{color:var(--faint);text-align:center}.turn-list{flex-direction:column;gap:1.1rem;width:100%;max-width:720px;margin:0 auto;display:flex}.turn{flex-direction:column;align-items:stretch;min-width:0;display:flex}.turn-user{align-items:flex-end}.turn-lineage{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px}.turn-lineage:hover,.turn-lineage:focus-visible{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.entry-user{flex-direction:column;align-items:flex-end;display:flex}.entry-user-message{background:var(--surface-2);border:1px solid var(--border);border-radius:14px 14px 4px;max-width:78%;padding:9px 14px}.entry-user-message p{margin:.25rem 0}.entry-expanded{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.entry-expanded-chip{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:.1rem .5rem;font-size:.75rem}.entry-expanded-chip:hover{color:var(--text)}.entry-expanded-text{border:1px dashed var(--border);max-width:78%;color:var(--muted);white-space:pre-wrap;word-break:break-word;border-radius:8px;padding:6px 10px;font-size:.8rem}.turn-prose{word-break:break-word;min-width:0}.md{min-width:0}.md-prose{font-family:var(--serif);font-size:15px;line-height:1.65}.md-bubble{font-size:14px;line-height:1.5}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .75rem}.md-bubble p{margin:.25rem 0}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{font-family:var(--sans);color:var(--text);margin:1.1rem 0 .5rem;line-height:1.3}.md h1{font-size:1.25rem}.md h2{font-size:1.15rem}.md h3{font-size:1.05rem}.md h4,.md h5,.md h6{font-size:1rem}.md ul,.md ol{margin:0 0 .75rem;padding-left:1.4rem}.md li{margin:.15rem 0}.md blockquote{border-left:2px solid var(--border);color:var(--muted);margin:0 0 .75rem;padding:.1rem 0 .1rem .75rem}.md hr{border:0;border-top:1px solid var(--border);margin:1rem 0}.md img{max-width:100%}.md code{font-family:var(--mono);background:var(--code);border-radius:4px;padding:.1em .35em;font-size:.88em}.md-tbl{border:1px solid var(--border);font-family:var(--sans);border-radius:10px;margin:.35rem 0 .9rem;font-size:13px;overflow:hidden}.md-tbl-bar{border-bottom:1px solid var(--border);background:var(--surface);color:var(--faint);align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:12px;display:flex}.md-tbl-bar input{min-width:0;color:var(--text);font:12px var(--sans);background:0 0;border:none;outline:none;flex:1}.md-tbl-count{color:var(--faint);white-space:nowrap;margin-left:auto;font-size:12px}.md-tbl table{border-collapse:collapse;width:100%}.md-tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface);padding:7px 10px;font-weight:500}.md-tbl td{border-bottom:1px solid var(--border);color:var(--text);padding:7px 10px}.md-tbl tbody tr:last-child td{border-bottom:none}.md-code{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 55%, var(--bg));border-radius:10px;margin:.35rem 0 .9rem}.md-code-head{border-bottom:1px solid var(--border);font-family:var(--sans);color:var(--faint);justify-content:space-between;align-items:center;padding:.3rem .6rem;font-size:11px;display:flex}.md-code-lang{font-family:var(--mono)}.md-code-copy{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:1px 7px}.md-code-copy:hover,.md-code-copy:focus-visible{color:var(--text);background:var(--surface-2)}.md-code-copy[data-copied]{color:var(--ok)}.md-code pre{font:12.5px/1.55 var(--mono);color:var(--text);margin:0;padding:.6rem .75rem;overflow-x:auto}.md-code pre code{font:inherit;background:0 0;border-radius:0;padding:0}.entry-attachment{font-family:var(--mono);color:var(--muted);margin-left:.4rem;font-size:.75rem}.message-actions{opacity:0;align-items:center;gap:.15rem;min-height:24px;margin-top:2px;transition:opacity 80ms;display:flex}.message-actions[data-kind=user]{justify-content:flex-end}.turn:hover .message-actions,.turn:focus-within .message-actions{opacity:1}.message-action{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px 7px;font-size:12px}.message-action:hover,.message-action:focus-visible{color:var(--text);background:var(--surface-2)}.message-action[data-copied]{color:var(--ok)}.message-meta{color:var(--faint);font-family:var(--mono);white-space:nowrap;margin-left:auto;font-size:11px}.activity-line{flex-direction:column;align-items:flex-start;margin-top:.35rem;display:flex}.activity-toggle{color:var(--muted);font-family:var(--mono);cursor:pointer;background:0 0;border:none;align-items:center;gap:.45rem;padding:1px 0;font-size:11.5px;display:inline-flex}.activity-toggle:hover,.activity-toggle:focus-visible{color:var(--text)}.activity-failed{color:var(--danger)}.activity-body{border-left:2px solid var(--border);flex-direction:column;gap:.15rem;width:100%;margin-top:.25rem;padding-left:.85rem;display:flex}.activity-thinking{color:var(--faint);white-space:pre-wrap;margin:.1rem 0 .25rem;font-size:.82rem;font-style:italic}.activity-spinner,.tool-row-spinner{border:1.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;animation:.8s linear infinite activity-spin}@keyframes activity-spin{to{transform:rotate(360deg)}}.entry-system,.entry-unknown{color:var(--muted);font-size:.8rem}.turn-compaction{color:var(--faint);letter-spacing:.05em;align-items:center;gap:12px;font-size:11px;display:flex}.turn-compaction:before,.turn-compaction:after{content:"";border-top:1px solid var(--border);flex:1}.chat-working{color:var(--muted);align-items:center;gap:.3rem;padding:.4rem .2rem;font-size:.8rem;display:flex}.chat-working-dot{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite working-bounce}.chat-working-dot:nth-child(2){animation-delay:.15s}.chat-working-dot:nth-child(3){animation-delay:.3s}@keyframes working-bounce{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.chat-working-label{margin-left:.25rem}.chat-compaction-failure{color:var(--danger);margin:.25rem 0;font-size:.8rem}.tool-row{flex-direction:column;min-width:0;display:flex}.tool-row-head{align-items:center;gap:.4rem;min-width:0;display:flex}.tool-row-toggle{min-width:0;color:var(--muted);font-family:var(--mono);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:baseline;gap:.5rem;padding:1px 0;font-size:12px;display:flex}.tool-row-toggle:hover,.tool-row-toggle:focus-visible{color:var(--text)}.tool-row[data-error] .tool-row-toggle{color:var(--danger)}.tool-row-glyph{flex:none}.tool-row-glyph[data-glyph=ok]{color:var(--ok)}.tool-row-glyph[data-glyph=error]{color:var(--danger)}.tool-row-glyph[data-glyph=pending]{color:var(--faint)}.tool-row-name{flex:none}.tool-row-preview{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tool-row-actions{opacity:0;flex:none;gap:.15rem;transition:opacity 80ms;display:flex}.tool-row:hover .tool-row-actions,.tool-row:focus-within .tool-row-actions{opacity:1}.tool-row-detail{flex-direction:column;gap:.35rem;margin:.25rem 0 .35rem;display:flex}.tool-row-args,.tool-row-output{background:var(--code);font-family:var(--mono);white-space:pre;border-radius:6px;max-height:240px;margin:0;padding:.45rem .6rem;font-size:12px;overflow:auto}.tool-row-more{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px}.tool-row-more:hover,.tool-row-more:focus-visible{color:var(--text);text-underline-offset:3px;text-decoration:underline}.tool-row-diff{background:var(--code);font-family:var(--mono);white-space:pre;border-radius:6px;max-height:240px;margin:0;padding:.45rem .6rem;font-size:12px;overflow:auto}.tool-row-diff .diff-line-add{color:var(--ok)}.tool-row-diff .diff-line-del{color:var(--danger)}.tool-row-diff .diff-line-ctx{color:var(--muted)}.composer-slot{z-index:2;background:var(--bg);padding:.75rem 24px 1.1rem;position:absolute;bottom:0;left:0;right:0}.composer{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:.55rem;max-width:720px;margin:0 auto;padding:12px;display:flex}.composer-input{resize:none;width:100%;color:var(--text);font:inherit;background:0 0;border:none;min-height:1.6rem;max-height:40vh;padding:.35rem .25rem .45rem;transition:height .12s ease-out;overflow-y:auto}.composer-input:focus-visible{outline:1px solid var(--border);outline-offset:3px;border-radius:6px}.composer-toolbar{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.composer-toolbar-spacer{flex:1}.composer-pill{height:28px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:12.5px;display:inline-flex}.composer-pill:hover,.composer-pill[aria-expanded=true]{background:var(--surface-2);color:var(--text)}.composer-pill:disabled{opacity:.55;cursor:default}.composer-pill svg{width:15px;height:15px}.composer-pill-caret{color:var(--faint);font-size:10px}.composer-picker{display:inline-flex;position:relative}.composer-picker-menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:1px;min-width:210px;max-height:16rem;margin:0;padding:4px;list-style:none;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 10px 28px #00000059}.composer-picker-menu li{color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:baseline;gap:8px;padding:6px 10px;font-size:13px;display:flex}.composer-picker-menu li[data-highlighted]{background:var(--accent-bg)}.composer-picker-check{color:var(--accent);font-size:12px}.composer-picker-id{color:var(--muted);font-family:var(--mono);margin-left:auto;padding-left:12px;font-size:11.5px}.composer-ring{color:var(--faint);justify-content:center;align-items:center;gap:6px;margin-right:6px;font-size:11.5px;display:inline-flex}.composer-ring-track{fill:none;stroke:var(--border);stroke-width:3px}.composer-ring-fill{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.composer-send{background:var(--accent);width:30px;height:30px;color:var(--bg);cursor:pointer;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.composer-send svg{width:16px;height:16px}.composer-send.composer-send-disabled{background:var(--surface-2);color:var(--faint);cursor:default}.composer-queued{color:var(--warn);white-space:nowrap;font-size:12px}.composer-attach{padding:0 7px}.composer-attach[data-uploading]{opacity:.6;cursor:default}.composer-hint{text-align:center;max-width:720px;color:var(--faint);margin:6px auto 0;font-size:11px}.composer-attachments{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.composer-attachment{border:1px solid var(--border);color:var(--text);border-radius:6px;align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.78rem;display:flex}.composer-attachment-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem}.right-panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;flex:none;width:280px;min-height:0;display:flex}.right-panel-title{color:var(--faint);letter-spacing:.04em;margin:14px 10px 8px;font-size:11px;font-weight:500}.right-panel-body{flex-direction:column;flex:1;min-height:0;display:flex}.outline{flex-direction:column;flex:1;gap:1px;min-height:0;padding:0 .5rem .75rem;display:flex;overflow-y:auto}.outline-empty{color:var(--faint);margin:.25rem .75rem;font-size:12.5px}.outline-item{-webkit-line-clamp:2;text-align:left;color:var(--muted);font:12.5px/1.35 var(--sans);cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;border-radius:0 6px 6px 0;-webkit-box-orient:vertical;padding:6px 8px;display:-webkit-box;overflow:hidden}.outline-item:hover,.outline-item:focus-visible{background:var(--surface-2);color:var(--text)}.outline-item[aria-current=true]{color:var(--text);border-left-color:var(--accent)}.workspace-browser{flex-direction:column;height:100%;min-height:0;padding:.6rem .8rem;display:flex}.workspace-title{color:var(--faint);text-transform:uppercase;letter-spacing:.5px;align-items:center;margin:0 0 .6rem;font-size:12px;font-weight:600;display:flex}.workspace-close{color:var(--muted);cursor:pointer;text-transform:none;background:0 0;border:none;margin-left:auto;padding:0 .2rem;font-size:14px;display:none}.workspace-tree,.workspace-children{margin:0;padding:0;list-style:none}.workspace-tree{font-family:var(--mono);flex:1;min-height:0;font-size:12px;overflow:auto}.workspace-dir,.workspace-file{width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:5px;padding:.2rem .3rem;display:block}.workspace-file{color:var(--muted)}.workspace-dir:hover,.workspace-file:hover{background:var(--surface-2)}.workspace-file:hover{color:var(--text)}.workspace-file[data-selected]{background:var(--surface-2);color:var(--text)}.file-preview{border-top:1px solid var(--border);background:var(--surface-2);max-height:40%;padding:.6rem .8rem;overflow:auto}.file-preview-path{color:var(--muted);word-break:break-all;margin:0 0 .4rem;font-size:.75rem}.file-preview-content{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;margin:0;font-size:11px;overflow:auto}.file-preview-binary,.file-preview-loading,.workspace-empty,.workspace-loading{color:var(--faint);font-size:.8rem}.jobs-panel{flex-direction:column;height:100%;min-height:0;padding:.6rem .8rem;display:flex}.jobs-list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.job-row{border-bottom:1px solid var(--border);padding:.35rem 0}.job-summary{text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:5px;grid-template-columns:1fr;gap:1px;padding:2px 4px;display:grid}.job-summary:hover{background:var(--surface-2)}.job-name{color:var(--text);font-size:12.5px;font-weight:500}.job-schedule,.job-next,.job-last{color:var(--muted);font-size:11.5px;font-family:var(--mono)}.job-summary-side{justify-content:flex-end;align-items:center;gap:.4rem;padding:0 4px .25rem;display:flex}.job-conversation{color:var(--accent);font:11.5px var(--mono);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.job-runnow{border:1px solid var(--border);color:var(--text);font:11px var(--sans);cursor:pointer;background:0 0;border-radius:5px;padding:1px 8px}.job-runnow:hover{border-color:var(--accent);color:var(--accent)}.job-detail{padding:.3rem .4rem .5rem}.job-section-title{color:var(--faint);text-transform:uppercase;letter-spacing:.5px;margin:.4rem 0 .25rem;font-size:10.5px;font-weight:600}.job-run-row,.job-revision-meta{font:11px var(--mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:1px 0;display:flex}.job-run-version,.job-revision-version{color:var(--faint)}.job-run-manual{border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:10px}.job-run-outcome[data-outcome=failed],.job-run-error{color:var(--danger)}.job-run-outcome[data-outcome=succeeded]{color:var(--ok)}.job-run-error{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.job-revision-row{margin:.25rem 0}.job-revision-changedBy{color:var(--text)}.job-revision-row .interaction-diff{margin:.25rem 0}.job-empty{color:var(--faint);margin:.1rem 0;font-size:11.5px}.drawer-backdrop,.panel-backdrop{display:none}@media (width<=900px){.side-drawer{z-index:90;transition:transform .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 32px #00000059}.side-drawer[data-open]{transform:translate(0)}.chat-menu-toggle{display:grid}.right-panel{z-index:90;width:min(320px,85vw);position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #00000073}.workspace-close{display:block}.drawer-backdrop,.panel-backdrop{z-index:85;background:#00000059;display:block;position:fixed;inset:0}.chat-center{padding:20px 16px 8rem}.chat-header{padding:0 12px 0 16px}.composer-slot{padding:.5rem 16px .9rem}}.composer-notice{color:var(--muted);margin:.25rem 0;font-size:.8rem}.composer-command-menu{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;max-height:12rem;margin:0;padding:.25rem 0;font-size:.8rem;list-style:none;overflow:auto}.composer-command-menu li{cursor:pointer;align-items:baseline;gap:.5rem;padding:.3rem .6rem;display:flex}.composer-command-menu li[data-highlighted]{background:var(--accent-bg)}.composer-command-name{font-weight:600}.composer-command-args{color:var(--muted);font-family:var(--mono)}.composer-command-description{color:var(--muted)}.settings-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-start;padding-top:6vh;display:flex;position:fixed;inset:0}.settings-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.625rem;width:min(26rem,92vw);max-height:82vh;padding:.75rem .875rem;display:flex;overflow-y:auto;box-shadow:0 18px 48px #0006}.settings-head{align-items:center;gap:.5rem;display:flex}.settings-title{letter-spacing:.2px;font-weight:650}.settings-head .spacer{flex:1}.settings-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:13px}.settings-body{flex-direction:column;gap:.625rem;min-width:0;max-width:100%;display:flex}.settings-layout{gap:.75rem;min-width:0;display:flex}.settings-nav{flex-direction:column;flex:none;gap:.2rem;display:flex}.settings-nav-item{text-align:left;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:.3rem .6rem;font-size:13px}.settings-nav-item:hover{background:var(--surface-2)}.settings-nav-item[data-active]{background:var(--accent-bg);color:var(--text)}.settings-section{flex:1;min-width:0}.settings-field{border:none;flex-direction:column;gap:.25rem;margin:0;padding:0;display:flex}.settings-label{color:var(--muted);font-size:12px;font-family:var(--sans)}.settings-checkbox{flex-flow:wrap;align-items:center;gap:.4rem;font-size:13px}.settings-checkbox .settings-note{flex-basis:100%}.settings-tools{flex-flow:wrap;gap:.25rem .75rem;display:flex}.settings-tools .settings-note{flex-basis:100%;min-width:0}.settings-note{color:var(--faint);margin:0;font-size:11px}.settings-select-wrap{width:fit-content;max-width:100%;position:relative}.settings-select-wrap:after{content:"▾";color:var(--muted);pointer-events:none;font-size:11px;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.settings-field select{appearance:none;background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:6px;max-width:100%;padding:.35rem 1.7rem .35rem .6rem;font-size:13px}.settings-mode-row{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:3px;width:fit-content;padding:3px;display:flex}.settings-mode{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .85rem;font-size:13px}.settings-mode:hover{color:var(--text)}.settings-mode[aria-pressed=true]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.settings-palettes{flex-wrap:wrap;gap:8px;display:flex}.settings-palette{border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:5px;width:56px;height:34px;padding:0;display:flex}.settings-palette[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.settings-swatch-dot{border-radius:50%;flex:none;width:8px;height:8px}.settings-accents{flex-wrap:wrap;gap:10px;display:flex}.settings-accent{border:1px solid var(--border);cursor:pointer;border-radius:50%;width:20px;height:20px;padding:0}.settings-accent[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.settings-thinking{font-family:var(--mono);background:var(--bg);color:var(--text);border:1px solid var(--border);resize:vertical;box-sizing:border-box;border-radius:4px;width:100%;max-width:100%;padding:.4rem;font-size:12px}.settings-actions{align-items:center;gap:.625rem;display:flex}.settings-save{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:6px;padding:.3rem .9rem;font-weight:600}.settings-save:disabled{opacity:.5;cursor:default}.interaction-cards,.ambient-panels{max-height:40vh;overflow-y:auto}.interaction-cards{flex-direction:column;gap:.5rem;display:flex}.interaction-card{border:1px solid var(--warn);background:color-mix(in srgb, var(--warn) 8%, var(--surface));border-radius:8px;max-width:720px;padding:.7rem .9rem}.interaction-card-title{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.interaction-kind{font-family:var(--mono);color:var(--muted);background:color-mix(in srgb, var(--warn) 14%, transparent);border-radius:4px;padding:.1rem .45rem;font-size:11px}.interaction-expiry{color:var(--muted);font-size:.75rem}.interaction-text{white-space:pre-wrap;margin:.35rem 0}.interaction-diff{grid-template-columns:1fr 1fr;gap:.5rem;margin:.5rem 0;display:grid}.interaction-diff pre{background:var(--surface);font-family:var(--mono);border-radius:6px;max-height:16rem;margin:0;padding:.5rem;font-size:12px;overflow:auto}.interaction-diff-before{color:var(--danger)}.interaction-diff-after{color:var(--ok)}.interaction-options,.interaction-fields{flex-direction:column;gap:.4rem;margin:.5rem 0;display:flex}.interaction-option{border:1px solid var(--border);cursor:pointer;border-radius:6px;grid-template-columns:auto 1fr;align-items:baseline;gap:.4rem;padding:.4rem .6rem;display:grid}.interaction-option input{align-self:center}.interaction-option-label{font-weight:500}.interaction-option-danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.interaction-option-warn{border-color:color-mix(in srgb, var(--warn) 45%, var(--border))}.interaction-option-ok{border-color:color-mix(in srgb, var(--ok) 45%, var(--border))}.interaction-option-description{color:var(--muted);grid-column:2;font-size:.8rem}.interaction-field{flex-direction:column;gap:.25rem;display:flex}.interaction-field-label{color:var(--muted);font-size:.8rem}.interaction-field input{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;padding:.4rem .6rem}.interaction-submit{border:1px solid var(--border);background:var(--ok);color:var(--bg);cursor:pointer;border-radius:6px;align-self:flex-start;padding:.35rem .9rem;font-weight:600}.interaction-submit:disabled{opacity:.5;cursor:default}.interaction-details,.ambient-details{color:var(--muted);margin-top:.4rem;font-size:.75rem}.interaction-details pre,.ambient-details pre{background:var(--surface);border-radius:6px;max-height:12rem;margin:.3rem 0 0;padding:.5rem;overflow:auto}.ambient-panels{flex-direction:column;gap:.5rem;display:flex}.ambient-surface{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:720px;padding:.5rem .7rem}.ambient-surface-title{color:var(--faint);justify-content:space-between;margin-bottom:.3rem;font-size:.72rem;display:flex}.ambient-key{font-family:var(--mono)}.ambient-line{font-family:var(--mono);white-space:pre-wrap;flex-wrap:wrap;gap:.75rem;font-size:12px;display:flex}.ambient-segment-right{margin-left:auto}.ambient-rows{flex-direction:column;gap:.2rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.ambient-row{align-items:baseline;gap:.45rem;font-size:.85rem;display:flex}.ambient-row[data-status=running] .ambient-row-glyph{color:var(--warn)}.ambient-row[data-status=completed],.ambient-row[data-status=complete],.ambient-row[data-status=passed]{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent)}.ambient-row[data-status=failed],.ambient-row[data-status=blocked]{color:var(--danger)}.ambient-row-glyph{font-family:var(--mono);flex:none}.ambient-row-spinner{color:var(--muted);font-size:.78rem;font-style:italic}.ambient-row-detail{color:var(--muted);font-size:.8rem}.ambient-row-deps{color:var(--muted);font-family:var(--mono);font-size:.72rem}.ambient-metrics{color:var(--muted);font-family:var(--mono);margin-left:auto;font-size:.72rem}.ambient-quiet-summary{color:var(--faint);font-size:.75rem}.ambient-gauge{flex-direction:column;gap:.35rem;display:flex}.ambient-gauge-label{color:var(--muted);font-size:.8rem}.ambient-gauge-bar{background:color-mix(in srgb, var(--faint) 25%, transparent);border-radius:3px;height:6px;overflow:hidden}.ambient-gauge-fill{background:var(--ok);height:100%;transition:width .3s}.ambient-recent-output{background:color-mix(in srgb, var(--border) 40%, transparent);font-family:var(--mono);border-radius:6px;max-height:8rem;margin:0;padding:.4rem;font-size:11px;overflow:auto}.ambient-ledger{flex-direction:column;gap:.2rem;max-height:10rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex;overflow:auto}.ambient-ledger-entry{align-items:baseline;gap:.45rem;font-size:.8rem;display:flex}.ambient-ledger-kind{font-family:var(--mono);color:var(--muted);flex:none;font-size:.7rem}.ambient-ledger-detail{color:var(--muted);font-size:.75rem}.auth-screen{place-items:center;height:100%;padding:1rem;display:grid;overflow:auto}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.9rem;width:min(24rem,100%);padding:1.5rem 1.5rem 1.25rem;display:flex;box-shadow:0 12px 40px #00000040}.auth-card h1{font-size:1.15rem;font-family:var(--serif);margin:0}.auth-message{color:var(--muted);margin:0;font-size:.85rem}.auth-identity{font-family:var(--mono);color:var(--text);word-break:break-all;margin:0;font-size:.85rem}.auth-field{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.auth-field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem}.auth-field input:focus-visible{outline:1px solid var(--accent);border-color:var(--accent)}.auth-optional{color:var(--faint);font-size:.72rem}.auth-submit{font:inherit;color:var(--text);background:var(--accent-bg);border:1px solid var(--accent);cursor:pointer;border-radius:8px;padding:.5rem .9rem}.auth-submit:disabled{opacity:.6;cursor:default}.auth-error{color:var(--danger);word-break:break-word;margin:0;font-size:.8rem}.share-overlay{z-index:60;background:#00000073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.share-menu{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.8rem;width:min(22rem,100%);padding:1rem 1.25rem 1.1rem;display:flex;box-shadow:0 12px 40px #00000040}.share-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.share-head h2{font-size:1rem;font-family:var(--serif);margin:0}.share-close{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.share-close:hover{color:var(--text)}.share-scopes{flex-direction:column;gap:.4rem;display:flex}.share-scope{font:inherit;text-align:left;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:.1rem;padding:.45rem .65rem;display:flex}.share-scope[data-selected]{border-color:var(--accent);background:var(--accent-bg)}.share-scope-hint{color:var(--muted);font-size:.72rem}.share-level{gap:.4rem;display:flex}.share-level-btn{font:inherit;color:var(--muted);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex:1;padding:.35rem .5rem;font-size:.8rem}.share-level-btn[data-selected]{color:var(--text);border-color:var(--accent);background:var(--accent-bg)}.share-field{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.share-field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem}.share-warning{color:var(--warn);margin:0;font-size:.8rem}.settings-ext-list{gap:.75rem}.settings-ext{border:1px solid var(--border);border-radius:4px;margin:0;padding:.5rem .75rem .75rem}.settings-ext-name{padding:0 .35rem;font-weight:600}.settings-ext-meta{color:var(--muted);margin-left:.4rem;font-size:11px;font-weight:400}.settings-ext-settings{font-family:var(--mono);background:var(--bg);color:var(--text);border:1px solid var(--border);resize:vertical;box-sizing:border-box;border-radius:4px;width:100%;max-width:100%;padding:.4rem;font-size:12px}.settings-ext-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;display:flex}.settings-ext-key{font-family:var(--mono);font-size:12px}.settings-ext-source{color:var(--muted);font-size:11px}.settings-ext-row input{font-family:var(--mono);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;min-width:8rem;padding:.25rem .4rem;font-size:12px}.settings-provider-list{gap:.75rem}.settings-provider{border:1px solid var(--border);border-radius:4px;margin:0;padding:.5rem .75rem .75rem}.settings-provider-name{flex-wrap:wrap;align-items:center;gap:.4rem;padding:0 .35rem;font-weight:600;display:flex}.settings-provider-status{font-size:10px;font-weight:600;font-family:var(--mono);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.05rem .4rem}.settings-provider-status[data-status=ready]{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.settings-provider-status[data-status=degraded],.settings-provider-status[data-status=invalid]{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.settings-provider-meta{color:var(--muted);font-size:11px;font-weight:400}.settings-provider-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;display:flex}.settings-provider-row input{font-family:var(--mono);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:10rem;min-width:10rem;max-width:22rem;padding:.25rem .4rem;font-size:12px}.turn-timeline{flex-direction:column;gap:.5rem;display:flex}.turn-timeline>*+*{border-top:1px solid color-mix(in srgb, var(--border) 55%, transparent);padding-top:.5rem}.timeline-thinking{opacity:.75;white-space:pre-wrap;font-style:italic}.live-thinking{max-height:40vh;transition:max-height .24s ease-in,opacity .24s ease-in;overflow:hidden}.live-thinking:not(:empty){border-left:2px solid color-mix(in srgb, var(--border) 80%, transparent);margin-bottom:.4rem;padding-left:.6rem}