@venturewild/workspace 0.1.14 → 0.2.0

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 (37) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +112 -112
  3. package/package.json +83 -76
  4. package/server/bin/wild-workspace.mjs +825 -763
  5. package/server/src/agent.mjs +453 -386
  6. package/server/src/bazaar/core.mjs +579 -0
  7. package/server/src/bazaar/index.mjs +75 -0
  8. package/server/src/bazaar/mcp-server.mjs +328 -0
  9. package/server/src/bazaar/mock-tickup.mjs +97 -0
  10. package/server/src/bazaar/preview-server.mjs +95 -0
  11. package/server/src/bazaar/seed-recipes/customer-feedback-form/know-how.md +23 -0
  12. package/server/src/bazaar/seed-recipes/customer-feedback-form/recipe.json +24 -0
  13. package/server/src/bazaar/seed-recipes/landing-page-launch/know-how.md +29 -0
  14. package/server/src/bazaar/seed-recipes/landing-page-launch/recipe.json +25 -0
  15. package/server/src/bazaar/seed-recipes/personal-portfolio/know-how.md +21 -0
  16. package/server/src/bazaar/seed-recipes/personal-portfolio/recipe.json +24 -0
  17. package/server/src/bazaar/seed-recipes/receipt-sorter/know-how.md +31 -0
  18. package/server/src/bazaar/seed-recipes/receipt-sorter/recipe.json +25 -0
  19. package/server/src/bazaar/seed-recipes/tickup-hr-matching/know-how.md +79 -0
  20. package/server/src/bazaar/seed-recipes/tickup-hr-matching/recipe.json +32 -0
  21. package/server/src/canvas/core.mjs +324 -0
  22. package/server/src/canvas/index.mjs +42 -0
  23. package/server/src/canvas/mcp-server.mjs +253 -0
  24. package/server/src/config.mjs +365 -365
  25. package/server/src/daemon-supervisor.mjs +216 -216
  26. package/server/src/inbox.mjs +86 -86
  27. package/server/src/index.mjs +1948 -1721
  28. package/server/src/logpaths.mjs +98 -98
  29. package/server/src/service.mjs +419 -419
  30. package/server/src/share.mjs +182 -148
  31. package/server/src/sync.mjs +248 -248
  32. package/server/src/turn-mcp.mjs +46 -0
  33. package/web/dist/assets/index-DVWgeTl_.js +91 -0
  34. package/web/dist/assets/index-Dl0VT5e6.css +1 -0
  35. package/web/dist/index.html +2 -2
  36. package/web/dist/assets/index-Bj-mdLGj.css +0 -1
  37. package/web/dist/assets/index-Dc6jo84c.js +0 -89
@@ -0,0 +1 @@
1
+ .ob-root{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(1200px 600px at 12% -10%,var(--canvas-1),transparent 60%),radial-gradient(1000px 700px at 100% 0%,var(--canvas-2),transparent 55%),linear-gradient(160deg,var(--canvas-3),var(--bg) 70%);display:flex;align-items:center;justify-content:center;z-index:1000;overflow-y:auto;padding:32px 16px}.ob-stage{width:100%;max-width:560px;display:flex;flex-direction:column;gap:24px}.ob-brand{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--text);opacity:.85;display:flex;align-items:center;gap:6px}.ob-brand .ob-brand-mark{color:var(--accent-hot);font-size:15px}.ob-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:32px}.ob-step-dots{display:flex;gap:8px}.ob-dot{width:8px;height:8px;border-radius:999px;background:var(--border);transition:background .2s,transform .2s}.ob-dot.active{background:var(--accent);transform:scale(1.4)}.ob-dot.done{background:var(--accent);opacity:.55}.ob-back{background:transparent;border:none;color:var(--text-muted);font-size:13px;padding:4px 8px}.ob-back:hover{color:var(--text)}.ob-step{display:flex;flex-direction:column;gap:24px;animation:ob-rise .32s ease-out both}@keyframes ob-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ob-bubble{padding:16px 18px;border-radius:16px;border:1px solid var(--border);background:var(--bg-elev);max-width:90%;align-self:flex-start}.ob-bubble-agent{border-top-left-radius:4px}.ob-bubble-user{align-self:flex-end;background:var(--bg-elev-2);border-top-right-radius:4px}.ob-bubble-text{margin:0 0 6px;font-size:17px;line-height:1.4}.ob-bubble-text:last-child{margin-bottom:0}.ob-bubble-subtle{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5}.ob-bubble code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;padding:1px 6px;background:var(--bg-elev-2);border-radius:4px}.ob-bubble-streaming{border-color:var(--accent)}.ob-caret{display:inline-block;margin-left:2px;color:var(--accent);animation:ob-blink .9s steps(2,end) infinite;font-weight:600}.ob-bubble-error{color:var(--error)}@keyframes ob-blink{to{visibility:hidden}}.ob-reveal{animation:ob-rise .28s ease-out both}.ob-card{display:flex;flex-direction:column;gap:8px}.ob-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:12px}.ob-input{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:16px;outline:none;transition:border-color .16s}.ob-input:focus{border-color:var(--accent)}.ob-tone-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ob-tone{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;text-align:left;transition:border-color .16s,background .16s}.ob-tone:hover{background:var(--bg-elev-2)}.ob-tone.selected{border-color:var(--accent);background:var(--bg-elev-2)}.ob-tone-label{font-size:14px;font-weight:500}.ob-tone-sample{font-size:12px;color:var(--text-muted);font-style:italic}.ob-color-row{display:flex;gap:10px;flex-wrap:wrap}.ob-color-swatch{width:32px;height:32px;padding:0;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .16s}.ob-color-swatch:hover{transform:scale(1.1)}.ob-color-swatch.selected{border-color:var(--text);transform:scale(1.15)}.ob-error{background:#f871711f;border:1px solid rgba(248,113,113,.4);color:var(--error);padding:8px 12px;border-radius:8px;font-size:13px}.ob-login-cmd{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:14px;color:var(--text);overflow-x:auto;white-space:nowrap}.ob-login-cmd code{color:var(--accent)}.ob-login-link{display:inline-block;background:var(--accent);color:#0b0b0c;text-decoration:none;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600}.ob-login-link:hover{filter:brightness(1.08)}.ob-consent-note{margin:28px auto 0;max-width:520px;text-align:center;font-size:12px;line-height:1.5;color:var(--text-muted);opacity:.8}.ob-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.ob-next{padding:10px 18px;font-size:14px;border-radius:10px}.ob-skip{padding:10px 14px;font-size:13px;color:var(--text-muted);background:transparent;border:1px solid transparent}.ob-skip:hover{color:var(--text);border-color:var(--border)}.ob-dropzone{border:2px dashed var(--border);border-radius:16px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:border-color .2s,background .2s;background:var(--bg-elev)}.ob-dropzone:hover{border-color:var(--accent)}.ob-dropzone.over{border-color:var(--accent);background:var(--bg-elev-2)}.ob-dropzone.peeking{cursor:wait}.ob-drop-icon{font-size:40px}.ob-drop-title{font-size:16px;font-weight:500}.ob-drop-sub{font-size:13px;color:var(--text-muted)}.ob-drop-hint{margin-top:8px;font-size:12px;color:var(--accent);text-align:center}.ob-tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ob-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;text-align:left;transition:border-color .16s,background .16s}.ob-tile:hover{background:var(--bg-elev-2)}.ob-tile.selected{border-color:var(--accent);background:var(--bg-elev-2)}.ob-tile-label{font-size:14px;font-weight:500}.ob-tile-note{font-size:12px;color:var(--text-muted)}.ob-tile-check{position:absolute;top:10px;right:12px;color:var(--accent);font-size:14px}.ob-soon{font-size:12px;color:var(--text-muted);font-style:italic;padding:8px 4px}.ob-qr-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px}.ob-qr-box{width:200px;height:200px;border:2px dashed var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;text-align:center;background:var(--bg-elev)}.ob-qr-soon{line-height:1.5}.ob-jobs{display:flex;flex-direction:column;gap:8px}.ob-job{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;text-align:left;transition:border-color .16s,transform .16s}.ob-job:hover{border-color:var(--accent);transform:translate(2px)}.ob-job-title{font-size:15px;font-weight:500}.ob-job-sub{font-size:13px;color:var(--text-muted)}.ob-job-remix{margin-bottom:4px;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 12%,var(--bg-elev)),var(--bg-elev) 70%)}.ob-job-remix .ob-job-title{color:var(--accent)}.ob-job-remix:disabled{opacity:.7;cursor:default;transform:none}.ob-remix{display:flex;flex-direction:column;gap:8px}.ob-remix-card{display:flex;align-items:center;gap:14px;padding:14px 18px;text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;transition:border-color .16s,transform .16s,background .16s}.ob-remix-card:hover{border-color:var(--accent);transform:translate(2px);background:var(--bg-elev-2)}.ob-remix-main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.ob-remix-title{font-size:15px;font-weight:600}.ob-remix-by{font-size:12px;color:var(--text-muted)}.ob-remix-pitch{font-size:12.5px;color:var(--text-muted);line-height:1.45;margin-top:2px}.ob-remix-stat{display:flex;flex-direction:column;align-items:center;flex:none;line-height:1}.ob-remix-pct{font-size:19px;font-weight:700;color:var(--positive, #34d399);font-variant-numeric:tabular-nums}.ob-remix-pct-sub{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:3px}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{--canvas-1: #e8f7f0;--canvas-2: #e7f0fb;--canvas-3: #fef8ee;--bg: #ffffff;--bg-elev: #ffffff;--bg-elev-2: #eef1f6;--surface: #ffffff;--surface-2: #fbfcfe;--surface-tint: #ffffff;--border: #e2e6ee;--text: #1d2430;--text-muted: #687083;--accent: #0891b2;--accent-hot: #0e7490;--accent-ink: #ffffff;--positive: #0f9d58;--warn: #c2790b;--error: #dc2626;--chat-user: #eef2ff;--chat-agent: #ffffff;--shadow: 0 1px 2px rgba(16,24,40,.05), 0 10px 28px -14px rgba(16,24,40,.22)}:root[data-theme=dark]{--canvas-1: #0b1620;--canvas-2: #0c1320;--canvas-3: #0a0f14;--bg: #0a0c10;--bg-elev: #11141a;--bg-elev-2: #161b22;--surface: #11141a;--surface-2: #0d1117;--surface-tint: #11141a;--border: #1f242d;--text: #e8eaed;--text-muted: #8b95a3;--positive: #34d399;--warn: #fbbf24;--error: #f87171;--chat-user: #161b22;--chat-agent: #0d1117;--shadow: 0 1px 2px rgba(0,0,0,.45), 0 10px 28px -14px rgba(0,0,0,.75)}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:rgba(20,30,50,.22) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#141e3233;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#141e3257}*::-webkit-scrollbar-track{background:transparent}html,body,#root{height:100%;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}button,input,textarea,select{font-family:inherit;color:inherit}button{cursor:pointer;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);padding:6px 12px;border-radius:6px;font-size:13px;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--bg);border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.primary:hover:not(:disabled){background:var(--accent-hot)}button:disabled{opacity:.45;cursor:not-allowed}.app{display:grid;grid-template-rows:48px 1fr 32px;height:100%;background:var(--bg)}.topbar{display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.topbar .brand{font-weight:600;font-size:14px;letter-spacing:.02em}.topbar .badge{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.topbar .badge.partner{color:var(--positive);border-color:#34d3994d}.topbar .badge.viewer{color:var(--accent-hot);border-color:#818cf866}.topbar .badge.client{color:var(--warn);border-color:#fbbf2466}.topbar .spacer{flex:1}.bottombar{display:flex;align-items:center;gap:16px;padding:0 16px;border-top:1px solid var(--border);background:var(--bg-elev);font-size:12px;color:var(--text-muted)}.bottombar .pill{padding:2px 8px;border-radius:999px;background:var(--bg-elev-2);border:1px solid var(--border)}.bottombar .pill.live:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--positive);margin-right:6px;animation:pulse 1.6s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.workspace{display:grid;grid-template-columns:240px 1fr 1fr;gap:0;overflow:hidden}.workspace.collapsed-tree{grid-template-columns:36px 1fr 1fr}.workspace.no-preview{grid-template-columns:240px 1fr}.workspace.no-preview.collapsed-tree{grid-template-columns:36px 1fr}.workspace.no-tree{grid-template-columns:1fr 1fr}.workspace.no-tree.no-preview{grid-template-columns:1fr}.tree-pane,.chat-pane,.preview-pane{border-right:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;min-width:0}.preview-pane{border-right:none}.chat-pane{background:var(--bg)}.chat-header{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-elev);font-size:13px}.chat-mode-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;font-size:12px}.chat-mode-toggle button{border:none;border-radius:0;padding:4px 10px;background:transparent;color:var(--text-muted)}.chat-mode-toggle button.active{background:var(--accent);color:var(--accent-ink)}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-msg{font-size:14px;line-height:1.6;word-wrap:break-word}.chat-msg.user{align-self:flex-end;max-width:85%;padding:9px 13px;border-radius:13px 13px 3px;background:var(--chat-user);border:1px solid rgba(99,102,241,.28)}.chat-msg.user .msg-plain{white-space:pre-wrap}.chat-msg.agent{align-self:stretch;max-width:100%;display:flex;flex-direction:column;gap:10px}.chat-msg.error{align-self:stretch;padding:10px 14px;border-radius:10px;background:#f8717117;border:1px solid rgba(248,113,113,.4);color:var(--error);font-size:13px}.chat-msg.system{align-self:center;max-width:90%;text-align:center;font-size:12px;color:var(--text-muted);padding:5px 14px;border:1px dashed var(--border);border-radius:999px}.chat-toolbar{display:flex;justify-content:flex-end;padding:6px 16px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.chat-newbtn{font-size:12px;padding:3px 10px;background:transparent;border:1px solid var(--border);color:var(--text-muted)}.chat-newbtn:hover:not(:disabled){color:var(--accent-hot);border-color:var(--accent)}.chat-input{border-top:1px solid var(--border);padding:12px;background:var(--bg-elev);display:flex;gap:8px}.chat-input textarea{flex:1;resize:none;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px;min-height:44px;max-height:200px}.chat-input textarea:focus{outline:none;border-color:var(--accent)}.chat-input .send-btn{align-self:flex-end}.tree-pane{background:var(--bg-elev)}.tree-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.tree-list{flex:1;overflow:auto;padding:8px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tree-node{padding:2px 4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:4px;color:var(--text)}.tree-node:hover{background:var(--bg-elev-2)}.tree-node.dir{color:var(--accent-hot)}.tree-node .indent{display:inline-block;width:12px}.tree-collapsed-rail{width:36px;background:var(--bg-elev);display:flex;align-items:center;justify-content:center;padding-top:12px}.preview-pane{background:#050507}.preview-tabs{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--bg-elev);font-size:12px}.preview-tabs button{border:1px solid transparent;background:transparent;border-radius:6px;padding:4px 10px;color:var(--text-muted)}.preview-tabs button.active{background:var(--bg-elev-2);color:var(--text);border-color:var(--border)}.preview-body{flex:1;overflow:hidden;position:relative;background:#0c0c10}.preview-iframe{width:100%;height:100%;border:0;background:#fff}.preview-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);font-size:13px;text-align:center;padding:20px}.preview-port-input{display:flex;gap:6px;align-items:center}.preview-port-input input{width:80px;background:var(--bg);color:var(--text);border:1px solid var(--border);padding:4px 8px;border-radius:6px}.preview-code-view{width:100%;height:100%;overflow:auto;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text)}.preview-code-view pre{margin:0;white-space:pre}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:24px;width:min(520px,90%);box-shadow:0 20px 60px #00000073}.modal h2{margin:0 0 4px;font-size:16px}.modal .muted{color:var(--text-muted);font-size:12px;margin-bottom:18px}.modal label{font-size:12px;color:var(--text-muted);margin-bottom:6px;display:block}.modal .row{display:flex;gap:8px;align-items:center;margin-bottom:12px}.modal .url-output{background:var(--bg);border:1px solid var(--border);padding:10px 12px;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all;margin-bottom:12px}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.inbox-card{margin:0 16px 16px;padding:12px 14px;border:1px dashed rgba(129,140,248,.45);border-radius:10px;background:#818cf812;font-size:13px;color:var(--text)}.inbox-card strong{color:var(--accent-hot)}.inbox-card .muted{color:var(--text-muted);font-size:12px;margin-top:6px;display:block}.terminal-overlay{position:fixed;bottom:32px;left:0;right:0;height:280px;background:#04040a;border-top:1px solid var(--border);padding:12px;z-index:30;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-muted)}.terminal-overlay header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.terminal-overlay header strong{color:var(--text)}.spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.agent-text{font-size:14px;line-height:1.62}.agent-error{padding:8px 12px;border-radius:8px;background:#f8717117;border:1px solid rgba(248,113,113,.35);color:var(--error);font-size:13px}.stream-cursor{display:inline-block;width:7px;height:1.05em;margin-left:1px;background:var(--accent-hot);border-radius:1px;vertical-align:text-bottom;animation:blink 1.05s steps(2,start) infinite}@keyframes blink{50%{opacity:0}}.agent-working{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.agent-working .dots{display:inline-flex;gap:3px}.agent-working .dots i{width:5px;height:5px;border-radius:50%;background:var(--accent-hot);display:inline-block;animation:dotpulse 1.2s ease-in-out infinite}.agent-working .dots i:nth-child(2){animation-delay:.18s}.agent-working .dots i:nth-child(3){animation-delay:.36s}@keyframes dotpulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.usage-footer{display:flex;gap:12px;font-size:11px;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.stderr-block{font-size:12px}.stderr-block summary{color:var(--warn);cursor:pointer}.stderr-block pre{white-space:pre-wrap;margin:6px 0 0;color:var(--text-muted);font-size:11px}.chat-empty{margin:auto;text-align:center;max-width:380px;padding:32px 16px;color:var(--text-muted)}.chat-empty-mark{font-size:28px;color:var(--accent-hot);margin-bottom:8px}.chat-empty-title{font-size:16px;color:var(--text);font-weight:600;margin:0 0 6px}.chat-empty-sub{font-size:13px;margin:0 0 16px;line-height:1.5}.chat-empty-hints{display:flex;flex-direction:column;gap:6px}.chat-empty-hints span{font-size:12px;padding:6px 10px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px}.chat-empty-starters{display:flex;flex-direction:column;gap:8px}.chat-empty-starter{font-size:13px;font-weight:550;padding:10px 14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;text-align:center;transition:border-color .14s,background .14s,transform .14s,box-shadow .14s}.chat-empty-starter:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface));transform:translateY(-1px)}.chat-empty-starter.primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent)}.chat-empty-starter.primary:hover:not(:disabled){background:var(--accent-hot);border-color:var(--accent-hot)}.chat-empty-starter:disabled{opacity:.5;cursor:default}.chat-empty-warn{font-size:12px;color:var(--warn);margin-top:14px}.chat-readonly-banner{padding:10px 16px;border-top:1px solid var(--border);color:var(--text-muted);font-size:12px}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:8px 0}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:16px 0 8px;line-height:1.3;font-weight:600}.markdown h1{font-size:19px}.markdown h2{font-size:17px}.markdown h3{font-size:15px}.markdown h4{font-size:14px;color:var(--text-muted)}.markdown ul,.markdown ol{margin:8px 0;padding-left:22px}.markdown li{margin:3px 0}.markdown li::marker{color:var(--text-muted)}.markdown a{color:var(--accent-hot);text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown strong{color:var(--text);font-weight:650}.markdown blockquote{margin:8px 0;padding:2px 12px;border-left:3px solid var(--border);color:var(--text-muted)}.markdown hr{border:none;border-top:1px solid var(--border);margin:14px 0}.md-code-inline{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--accent-hot)}.md-table-wrap{overflow-x:auto;margin:10px 0}.markdown table{border-collapse:collapse;font-size:13px;width:100%}.markdown th,.markdown td{border:1px solid var(--border);padding:5px 10px;text-align:left}.markdown th{background:var(--bg-elev)}.code-block{margin:10px 0;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--bg-elev-2)}.code-block-head{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;background:var(--bg-elev);border-bottom:1px solid var(--border)}.code-lang{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.code-copy{font-size:11px;padding:2px 8px;background:transparent}.code-block-body{margin:0;padding:11px 13px;overflow-x:auto;max-height:440px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.55;background:transparent}.tool-card{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:8px;background:var(--bg-elev);font-size:13px;overflow:hidden}.tool-card.running{border-left-color:var(--accent)}.tool-card.done{border-left-color:var(--positive)}.tool-card.error{border-left-color:var(--error)}.tool-head{display:flex;align-items:center;gap:7px;padding:7px 11px}.tool-icon{font-size:13px}.tool-verb{font-weight:600;color:var(--text);white-space:nowrap}.tool-target{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--accent-hot);background:var(--bg-elev-2);padding:1px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.tool-tag{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--warn);border:1px solid rgba(251,191,36,.4);border-radius:4px;padding:0 5px}.tool-status{margin-left:auto;font-size:12px}.tool-card.done .tool-status{color:var(--positive)}.tool-card.error .tool-status{color:var(--error)}.tool-spinner{width:11px;height:11px;display:inline-block;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.tool-desc{padding:0 11px 8px;color:var(--text-muted);font-size:12px}.tool-raw{margin:0 11px 9px;padding:8px;font-size:11px;background:var(--bg);border-radius:6px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-muted)}.tool-result{border-top:1px solid var(--border);font-size:12px}.tool-result summary{padding:6px 11px;cursor:pointer;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tool-result.err summary{color:var(--error)}.tool-result pre{margin:0;padding:8px 11px 11px;white-space:pre-wrap;word-break:break-word;font-size:11.5px;color:var(--text-muted);max-height:280px;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.diff-view{margin:0 11px 10px;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--bg)}.diff-stat{display:flex;gap:10px;padding:4px 10px;background:var(--bg-elev);border-bottom:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.diff-stat-add{color:var(--positive)}.diff-stat-del{color:var(--error)}.diff-body{margin:0;padding:5px 0;overflow-x:auto;max-height:360px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5}.diff-line{display:flex;padding:0 4px}.diff-line.add{background:#34d3991c}.diff-line.del{background:#f871711c}.diff-gutter{width:16px;flex:none;text-align:center;color:var(--text-muted);-webkit-user-select:none;user-select:none}.diff-line.add .diff-gutter{color:var(--positive)}.diff-line.del .diff-gutter{color:var(--error)}.diff-line.add .diff-text{color:#b9f4dc}.diff-line.del .diff-text{color:#f8c4c4}.diff-line.ctx .diff-text{color:var(--text-muted)}.diff-text{white-space:pre-wrap;word-break:break-word}.diff-more{padding:4px 10px;font-size:11px;color:var(--text-muted);background:var(--bg-elev);border-top:1px solid var(--border)}.thinking-block{border:1px dashed var(--border);border-radius:7px;background:#818cf80a;font-size:12px}.thinking-block summary{padding:6px 11px;cursor:pointer;color:var(--text-muted)}.thinking-body{padding:0 11px 9px;color:var(--text-muted);white-space:pre-wrap;line-height:1.5;font-size:12px}.sync-state{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elev-2);font-size:13px;margin-bottom:14px;display:flex;flex-direction:column;gap:4px}.sync-state.ok{border-color:#34d39966;background:#34d39912}.sync-state.warn{border-color:#fbbf2466;background:#fbbf2412}.sync-state .muted{margin:0;font-size:12px}.sync-input{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:6px 10px;border-radius:6px;font-size:13px}.sync-input:focus{outline:none;border-color:var(--accent)}.conflict-banner{position:fixed;top:48px;left:0;right:0;z-index:40;display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fbbf2421;border-bottom:1px solid rgba(251,191,36,.5);color:var(--text);font-size:13px}.conflict-banner .ico{font-size:14px}.conflict-banner code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--warn)}.conflict-banner .spacer{flex:1}.conflict-banner button{font-size:11px;padding:3px 9px}.bottombar .pill.synced{color:var(--positive);border-color:#34d39959}.bottombar .pill.sync-off{color:var(--text-muted)}.bottombar .pill.conflict-badge{background:#f871711f;border-color:#f8717173;color:var(--error, #ef4444);cursor:pointer;font-weight:600}.bottombar .pill.conflict-badge:hover{background:#f8717138}.conflict-panel{position:fixed;right:16px;bottom:56px;width:min(720px,92vw);max-height:70vh;z-index:60;display:flex;flex-direction:column;background:var(--surface, #1f2937);color:var(--text);border:1px solid var(--border, rgba(255,255,255,.1));border-radius:8px;box-shadow:0 14px 40px #0006;overflow:hidden}.conflict-panel-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8717114;border-bottom:1px solid var(--border, rgba(255,255,255,.1));font-size:13px}.conflict-panel-header .spacer{flex:1}.conflict-panel-header button{font-size:11px;padding:3px 9px}.conflict-panel-error{padding:8px 14px;font-size:12px;color:var(--error, #ef4444)}.conflict-list{list-style:none;margin:0;padding:0;overflow:auto}.conflict-row{border-bottom:1px solid var(--border, rgba(255,255,255,.06))}.conflict-row-head{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:13px}.conflict-row-head:hover{background:#ffffff0a}.conflict-row-head code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.conflict-row-head .spacer{flex:1}.conflict-row-head .muted{color:var(--text-muted);font-size:12px}.conflict-row-body{padding:8px 14px 14px}.conflict-meta{display:flex;gap:14px;font-size:11px;color:var(--text-muted);margin-bottom:8px}.conflict-meta code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.conflict-actions{margin-top:10px;display:flex;gap:8px}.conflict-actions button{font-size:12px;padding:6px 12px}.bazaar-card{margin:10px 0;border-radius:12px;font-size:13.5px;line-height:1.55;animation:bz-in .32s cubic-bezier(.2,.8,.2,1)}@keyframes bz-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.bz-call{display:flex;align-items:center;gap:8px;padding:9px 13px;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted)}.bz-call-label{color:var(--text);font-weight:500}.bz-call-need{color:var(--text-muted);font-style:italic}.bz-icon{font-size:15px}.bz-dots{display:inline-flex;gap:3px;margin-left:2px}.bz-dots i{width:4px;height:4px;border-radius:50%;background:var(--accent-hot);opacity:.5;animation:bz-blink 1s infinite}.bz-dots i:nth-child(2){animation-delay:.2s}.bz-dots i:nth-child(3){animation-delay:.4s}@keyframes bz-blink{0%,to{opacity:.25}50%{opacity:1}}.bz-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.bz-head-title{font-weight:600;font-size:13px;letter-spacing:.01em}.bz-search,.bz-recipe,.bz-preview,.bz-publish,.bz-empty{padding:13px 15px;background:var(--bg-elev);border:1px solid var(--border)}.bz-search{border-left:3px solid var(--accent)}.bz-empty{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.bz-hit{display:flex;align-items:center;justify-content:space-between;gap:12px}.bz-hit-main{display:flex;flex-direction:column}.bz-hit-title{font-weight:600;color:var(--text)}.bz-hit-by{font-size:12px;color:var(--text-muted)}.bz-outcome{flex:none;text-align:right;font-size:12px;color:var(--text-muted)}.bz-outcome strong{color:var(--positive);font-size:15px;display:block}.bz-hit-pitch{margin:8px 0 0;color:var(--text-muted);font-size:12.5px}.bz-others{margin-top:8px;font-size:11.5px;color:var(--text-muted)}.bz-recipe,.bz-preview{display:flex;align-items:center;gap:9px;border-left:3px solid var(--accent-hot)}.bz-recipe-text strong{color:var(--text)}.bz-badge{margin-left:8px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:999px;vertical-align:middle;background:#34d39924;color:var(--positive)}.bz-badge-new{background:#818cf829;color:var(--accent-hot)}.bz-threeway{padding:16px;background:linear-gradient(180deg,#6366f11a,#6366f105),var(--bg-elev);border:1px solid rgba(129,140,248,.35);box-shadow:0 6px 24px -12px #6366f180}.bz-tw-head{font-weight:700;font-size:13px;letter-spacing:.02em;margin-bottom:12px;color:var(--text);display:flex;align-items:center;gap:7px}.bz-tw-spark{color:var(--accent-hot)}.bz-tw-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media (max-width: 720px){.bz-tw-cols{grid-template-columns:1fr}}.bz-tw-col{background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:11px;display:flex;flex-direction:column;gap:5px}.bz-tw-producer{border-color:#818cf866}.bz-tw-who{font-size:12px;font-weight:600;color:var(--text)}.bz-tw-what{font-size:12px;color:var(--text-muted);line-height:1.5}.bz-tw-meter{margin-top:auto;padding-top:6px;display:flex;align-items:baseline;gap:7px}.bz-meter-amount{font-size:18px;font-weight:700;color:var(--positive);transition:color .3s}.bz-meter-sub{font-size:11px;color:var(--text-muted)}.bz-represented{display:inline-block;font-size:10px;color:var(--text-muted);opacity:.85;font-style:italic}.bz-publish{border-left:3px solid var(--positive)}.bz-publish-text{margin:0 0 8px}.bz-draft{padding:13px 15px;background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--warn)}.bz-draft-source{font-size:11.5px;color:var(--text-muted);margin:6px 0 2px}.bz-draft-knowhow{margin:8px 0}.bz-draft-knowhow summary{cursor:pointer;font-size:12px;color:var(--accent-hot)}.bz-draft-knowhow pre{margin:8px 0 0;max-height:220px;overflow:auto;font-size:11.5px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px;white-space:pre-wrap;word-break:break-word;line-height:1.5}.bz-draft-hint{font-size:11.5px;color:var(--text-muted);margin-top:6px;font-style:italic}.bz-draft-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.bz-draft-actions .bz-draft-hint{margin:0}.bz-draft-skip{padding:6px 12px;border-radius:8px;font-size:12px;background:transparent;border:1px solid var(--border);color:var(--text-muted)}.bz-draft-skip:hover:not(:disabled){color:var(--text);border-color:#3a3a48;background:var(--bg-elev-2)}.bazaar-modal{max-width:880px;width:94vw}.bz-store-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.bz-store-headings h2{margin:0 0 4px}.bz-store-sub{margin:0;font-size:12.5px;line-height:1.55;max-width:58ch}.bz-store-stats{display:flex;gap:8px;flex:none}.bz-stat{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 13px;border-radius:10px;background:var(--bg-elev);border:1px solid var(--border);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.bz-stat strong{font-size:17px;color:var(--text);font-variant-numeric:tabular-nums}.bz-err{color:var(--error);font-size:12px;margin-bottom:10px}.bz-you-banner{display:flex;align-items:center;gap:9px;margin:0 0 14px;padding:9px 13px;border-radius:10px;font-size:12.5px;color:var(--text);background:linear-gradient(90deg,#6366f129,#6366f108);border:1px solid rgba(129,140,248,.32)}.bz-you-banner strong{color:var(--accent-hot)}.bz-you-spark{color:var(--accent-hot);font-size:15px;flex:none}.bz-shelf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:58vh;overflow:auto;padding:2px 4px 2px 2px}@media (max-width: 640px){.bz-shelf-grid{grid-template-columns:1fr}}.bz-theme-section{margin:6px 0 14px}.bz-theme-section-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.bz-theme-section-head .gallery-section{margin:0}.bz-theme-section-sub{font-size:11.5px}.bz-theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width: 720px){.bz-theme-grid{grid-template-columns:repeat(2,1fr)}}.bz-theme-card-wrap{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column}.bz-theme-card-wrap.mine{border-color:var(--accent)}.bz-theme-swatch{position:relative;height:64px;width:100%;border-bottom:1px solid var(--border)}.bz-theme-card{position:absolute;left:10px;top:12px;width:56%;height:38px;border-radius:7px;border:1px solid;box-shadow:0 2px 6px #0000001f;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 8px}.bz-theme-line{height:4px;width:80%;border-radius:2px;opacity:.9}.bz-theme-line.short{width:50%;opacity:.6}.bz-theme-dot{position:absolute;right:12px;bottom:12px;width:18px;height:18px;border-radius:999px;box-shadow:0 0 0 3px #fff9,0 2px 6px #0003}.bz-theme-meta{display:flex;flex-direction:column;gap:2px;padding:9px 11px 4px}.bz-theme-title{font-size:13px;font-weight:650;color:var(--text)}.bz-theme-by{font-size:11px;color:var(--text-muted)}.bz-theme-pitch{font-size:11.5px;color:var(--text-muted);line-height:1.4;margin-top:2px}.bz-theme-foot{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.bz-theme-rating{font-size:11px;color:var(--warn);letter-spacing:1px}.bz-theme-apply{margin:8px 11px 11px;padding:7px 0;border-radius:8px;background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);font-size:12.5px;font-weight:600}.bz-theme-apply:hover:not(:disabled){background:var(--accent-hot);border-color:var(--accent-hot)}.bz-card{border:1px solid var(--border);border-radius:12px;padding:13px 14px;background:var(--bg-elev);display:flex;flex-direction:column;gap:9px;cursor:pointer;transition:border-color .14s,transform .14s,box-shadow .14s,background .14s}.bz-card:hover{border-color:#3a3a48;transform:translateY(-1px);box-shadow:0 6px 20px -10px #000000b3}.bz-card.mine{border-color:#818cf88c;background:linear-gradient(180deg,rgba(99,102,241,.08),var(--bg-elev) 60%)}.bz-card.open{background:var(--bg-elev-2)}.bz-card-head{display:flex;align-items:flex-start;gap:11px}.bz-card-glyph{font-size:20px;line-height:1;flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--bg-elev-2);border:1px solid var(--border)}.bz-card.mine .bz-card-glyph{border-color:#818cf866}.bz-card-titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.bz-card-title{font-weight:650;font-size:13.5px;line-height:1.3}.bz-card-by{font-size:11.5px;color:var(--text-muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bz-kind{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;padding:1px 6px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.bz-kind-vendor{color:var(--accent-hot);border-color:#818cf866;background:#818cf814}.bz-kind-you{color:var(--accent-ink);border-color:var(--accent);background:var(--accent)}.bz-kind-tool{color:var(--warn);border-color:#fbbf2466;background:#fbbf2412}.bz-card-score{flex:none;display:flex;flex-direction:column;align-items:flex-end;line-height:1}.bz-score-pct{color:var(--positive);font-weight:750;font-size:16px;font-variant-numeric:tabular-nums}.bz-score-label{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:2px}.bz-new{font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--accent-hot);border:1px solid rgba(129,140,248,.5);border-radius:999px;padding:2px 7px;background:#818cf814}.bz-score-bar{height:4px;border-radius:999px;background:var(--bg-elev-2);overflow:hidden}.bz-score-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--positive),#6ee7b7)}.bz-card-pitch{margin:0;font-size:12px;color:var(--text);opacity:.82;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bz-card.open .bz-card-pitch{-webkit-line-clamp:unset}.bz-card-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;margin-top:auto}.bz-card-rating{color:var(--warn);font-size:12px;letter-spacing:.5px}.bz-reward-pill{font-size:10px;padding:2px 8px;border-radius:999px;color:var(--text-muted);border:1px solid var(--border);background:var(--bg-elev-2)}.bz-badge-verified{background:#34d39924;color:var(--positive);border:1px solid rgba(52,211,153,.35)}.bz-badge-tested{background:#818cf81f;color:var(--accent-hot);border:1px solid rgba(129,140,248,.3)}.bz-card-expand{margin-left:auto;color:var(--text-muted);font-size:11px}.bz-card-detail{border-top:1px solid var(--border);margin-top:2px;padding-top:9px;display:flex;flex-direction:column;gap:6px}.bz-detail-summary{margin:0;font-size:12px;line-height:1.55;color:var(--text);opacity:.9}.bz-detail-stat{margin:0;font-size:11px}.bz-detail-hint{margin:0;font-size:11.5px;color:var(--accent-hot);opacity:.9}.bz-build-btn{align-self:flex-start;margin-top:2px;padding:6px 13px;border-radius:8px;background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);font-size:12px;font-weight:600}.bz-build-btn:hover:not(:disabled){background:var(--accent-hot);border-color:var(--accent-hot)}.ask-card{border:1px solid rgba(129,140,248,.35);border-radius:12px;padding:12px 13px;margin:8px 0;background:linear-gradient(180deg,rgba(99,102,241,.07),var(--bg-elev) 70%);display:flex;flex-direction:column;gap:10px}.ask-head{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--accent-hot)}.ask-icon{font-size:14px}.ask-q{display:flex;flex-direction:column;gap:8px}.ask-q-header{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.ask-q-text{margin:0;font-size:13px;line-height:1.45;color:var(--text)}.ask-options{display:flex;flex-direction:column;gap:6px}.ask-opt{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:9px 11px;border-radius:9px;border:1px solid var(--border);background:var(--bg-elev-2);transition:border-color .12s,background .12s,transform .12s}.ask-opt:hover:not(:disabled){border-color:var(--accent);background:#20202c;transform:translate(2px)}.ask-opt:disabled{opacity:.5;cursor:default}.ask-opt.sel{border-color:var(--accent);background:#6366f11f}.ask-opt-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ask-opt-label{font-size:12.5px;font-weight:600;color:var(--text)}.ask-opt-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.ask-opt-go{color:var(--accent-hot);font-size:14px;flex:none}.ask-opt-check{font-size:14px;color:var(--accent-hot);flex:none}.ask-send{align-self:flex-start}.ask-foot{font-size:11px;color:var(--text-muted);font-style:italic}button:hover:not(:disabled){background:#e6eaf2}.markdown strong{color:var(--text)}.ask-opt:hover:not(:disabled){background:#eef1fb}.diff-line.add .diff-text{color:#15803d}.diff-line.del .diff-text{color:#b91c1c}.usage-footer{display:none}.canvas-wrap{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:radial-gradient(1200px 600px at 12% -10%,var(--canvas-1),transparent 60%),radial-gradient(1000px 700px at 100% 0%,var(--canvas-2),transparent 55%),linear-gradient(160deg,var(--canvas-3),var(--bg) 70%)}.block-canvas{flex:1;min-height:0;overflow:auto}.block-canvas .rgl{min-height:100%}.arrange-bar{display:flex;align-items:center;gap:12px;padding:8px 18px;background:#ffffffb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}.arrange-hint{font-size:12.5px;color:var(--text-muted)}.arrange-bar .spacer{flex:1}.block{display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .16s,transform .16s;animation:block-enter .28s cubic-bezier(.22,1,.36,1) both}@keyframes block-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.block{animation:none}}.block.is-arranging{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent),var(--shadow);animation:block-enter .28s cubic-bezier(.22,1,.36,1) both,block-jiggle .4s ease-in-out}@keyframes block-jiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-.4deg)}75%{transform:rotate(.4deg)}}.block-header{display:flex;align-items:center;gap:8px;padding:9px 13px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface-2));font-size:13px;flex:none}.block-header.block-handle{cursor:grab}.block-header.block-handle:active{cursor:grabbing}.block-icon{font-size:14px}.block-title{font-weight:650;color:var(--text);letter-spacing:.01em}.block-header .spacer{flex:1}.block-actions{display:inline-flex;gap:4px}.block-actions button{padding:2px 7px;font-size:12px;border-radius:7px;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted)}.block-actions button:hover:not(:disabled){color:var(--text)}.block-pin{font-size:12px;opacity:.55}.block-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.chat-block-bar{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid var(--border);flex:none}.liveview-frame{width:100%;height:100%;border:0;background:#fff;flex:1}.liveview-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:24px;color:var(--text-muted)}.liveview-empty-mark{font-size:30px;opacity:.7}.liveview-empty-title{font-size:14px;font-weight:600;color:var(--text);margin:0}.liveview-empty-sub{font-size:12.5px;margin:0;max-width:240px;line-height:1.5}.notes-block{flex:1;width:100%;border:0;resize:none;outline:none;padding:14px 16px;font-size:14px;line-height:1.6;color:var(--text);background:var(--surface);font-family:inherit}.earn-block{flex:1;min-height:0;display:flex;flex-direction:column;gap:5px;padding:16px 18px;overflow:hidden}.earn-who{display:flex;flex-direction:column;gap:1px}.earn-name{font-size:14px;font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:6px}.earn-you-tag{font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:1px 6px}.earn-sub{font-size:11.5px;color:var(--text-muted)}.earn-amount{font-size:30px;font-weight:800;letter-spacing:-.01em;margin-top:2px;color:color-mix(in srgb,var(--accent) 80%,#134e4a);font-variant-numeric:tabular-nums}.earn-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-muted)}.earn-meta strong{color:var(--text)}.earn-rep,.an-foot{font-size:10.5px;color:var(--text-muted);opacity:.85}.earn-spark{margin-top:auto;position:relative;height:50px;padding-top:6px;display:flex;align-items:flex-end}.earn-bars{flex:1;display:flex;align-items:flex-end;gap:3px;height:100%}.earn-bar{flex:1 1 0;min-width:3px;max-width:14px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 38%,var(--surface-tint)));transition:height .32s cubic-bezier(.2,.8,.2,1)}.earn-spark.is-baseline .earn-bar{background:color-mix(in srgb,var(--accent) 22%,var(--bg-elev-2))}.earn-spark-live{position:absolute;top:0;right:0;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:4px}.earn-spark-live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);animation:earn-pulse 1.6s ease-in-out infinite}@keyframes earn-pulse{0%,to{opacity:.3}50%{opacity:1}}.earn-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:22px;color:var(--text-muted)}.earn-empty-mark{font-size:28px;opacity:.75}.earn-empty-title{font-size:14px;font-weight:650;color:var(--text);margin:0}.earn-empty-sub{font-size:12px;margin:0;max-width:230px;line-height:1.5}.analytics-block{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:14px 16px;overflow:auto}.an-stats{display:flex;gap:9px}.an-stat{flex:1;min-width:0;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:11px;padding:9px 10px;display:flex;flex-direction:column;gap:1px}.an-stat-num{font-size:16px;font-weight:750;color:var(--text);font-variant-numeric:tabular-nums}.an-stat-lbl{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.an-board{display:flex;flex-direction:column;gap:7px}.an-row{display:grid;grid-template-columns:1fr 1.3fr auto;align-items:center;gap:8px;font-size:12px}.an-row-name{font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.an-row-bar{height:8px;background:var(--bg-elev-2);border-radius:999px;overflow:hidden}.an-row-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 52%,var(--surface-tint)),var(--accent));transition:width .36s cubic-bezier(.2,.8,.2,1)}.an-row-val{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:11.5px}.an-foot{text-align:right}.files-block{flex:1;min-height:0;overflow:auto;padding:6px 4px;font-size:12.5px}.fnode{display:flex;align-items:center;gap:5px;padding:3px 6px;border-radius:7px;cursor:pointer;white-space:nowrap;color:var(--text)}.fnode:hover{background:var(--bg-elev-2)}.fnode.sel{background:color-mix(in srgb,var(--accent) 16%,var(--surface-tint))}.fnode-tw{width:12px;flex:none;color:var(--text-muted);font-size:10px}.fnode-ic{flex:none;font-size:12px}.fnode-nm{overflow:hidden;text-overflow:ellipsis}.files-msg{padding:10px;color:var(--text-muted);font-size:12px}.files-msg.err{color:var(--error)}.codeblock{flex:1;min-height:0;display:flex;flex-direction:column}.codeblock-bar{flex:none;display:flex;gap:8px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface-2)}.codeblock-path{flex:1;min-width:0;border:1px solid var(--border);border-radius:7px;padding:4px 8px;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text);background:var(--surface)}.codeblock-path:focus{outline:none;border-color:var(--accent)}.codeblock-trunc{flex:none;font-size:10px;color:var(--text-muted)}.codeblock-body{flex:1;min-height:0;overflow:auto}.codeblock-msg{padding:16px;color:var(--text-muted);font-size:12.5px;line-height:1.5}.codeblock-msg.err{color:var(--error)}.codeblock-pre{margin:0;padding:10px 0;min-height:100%;box-sizing:border-box;background:#1e1e1e;color:#d4d4d4;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.codeblock-line{display:flex;padding:0 12px}.codeblock-ln{width:34px;flex:none;text-align:right;padding-right:14px;color:#5a5a5a;-webkit-user-select:none;user-select:none}.codeblock-lc{white-space:pre}.todo-block{flex:1;min-height:0;display:flex;flex-direction:column}.todo-add{flex:none;display:flex;gap:6px;padding:10px;border-bottom:1px solid var(--border)}.todo-add input{flex:1;min-width:0;border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:13px;color:var(--text);background:var(--surface);font-family:inherit}.todo-add input:focus{outline:none;border-color:var(--accent)}.todo-list{flex:1;min-height:0;overflow:auto;padding:6px}.todo-msg{padding:10px;color:var(--text-muted);font-size:12.5px}.todo-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:8px;font-size:13px}.todo-item:hover{background:var(--bg-elev-2)}.todo-item label{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer;min-width:0}.todo-item input[type=checkbox]{accent-color:var(--accent);flex:none}.todo-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-item.done .todo-text{text-decoration:line-through;color:var(--text-muted)}.todo-del{flex:none;opacity:0;padding:1px 6px;font-size:11px;border-radius:6px;color:var(--text-muted);background:var(--bg-elev-2);border:1px solid var(--border)}.todo-item:hover .todo-del{opacity:1}.todo-del:hover{color:var(--error);border-color:var(--error)}.todo-foot{flex:none;padding:7px 12px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border)}.react-grid-item.react-grid-placeholder{background:color-mix(in srgb,var(--accent) 22%,var(--surface-tint));border:2px dashed color-mix(in srgb,var(--accent) 55%,var(--surface-tint));border-radius:16px;opacity:.7}.react-grid-item>.react-resizable-handle{display:none}.block-canvas.arranging .react-grid-item>.react-resizable-handle{display:block;z-index:3}.block-canvas.arranging{background-image:radial-gradient(circle,color-mix(in srgb,var(--accent) 32%,transparent) 1.3px,transparent 1.6px);background-size:var(--row-pitch, 46px) var(--row-pitch, 46px);background-position:20px 20px}.add-gallery{max-width:560px;width:92vw}.gallery-section{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:16px 0 8px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media (max-width: 520px){.gallery-grid{grid-template-columns:1fr 1fr}}.gallery-item{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:13px;border-radius:13px;border:1px solid var(--border);background:var(--surface);text-align:left;transition:border-color .13s,transform .13s,box-shadow .13s}.gallery-item:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}.gallery-item:disabled{opacity:.6;cursor:not-allowed}.gallery-glyph{font-size:22px}.gallery-name{font-size:13px;font-weight:650;color:var(--text)}.gallery-desc{font-size:11.5px;color:var(--text-muted);line-height:1.4}.gallery-soon{position:absolute;top:9px;right:9px;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;padding:1px 6px}.template-gallery{max-width:600px;width:94vw}.template-card{gap:6px}.tpl-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.tpl-chip{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;color:var(--text-muted);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;padding:1px 7px}.tpl-chip-icon{font-size:10px}.template-card.saved{padding:0;position:relative;overflow:hidden}.template-card.saved:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}.tpl-apply{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;padding:13px;background:transparent;border:0;text-align:left}.tpl-del{position:absolute;top:8px;right:8px;width:22px;height:22px;padding:0;border-radius:7px;font-size:12px;line-height:1;color:var(--text-muted);background:var(--bg-elev-2);border:1px solid var(--border)}.tpl-del:hover{color:var(--error);border-color:var(--error)}.tpl-save-row{display:flex;gap:8px;margin-top:16px}.tpl-save-input{flex:1;padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-family:inherit}.tpl-save-input:focus{outline:none;border-color:var(--accent)}.mobile-canvas{flex:1;min-height:0;display:flex;flex-direction:column}.mobile-tabs{display:flex;gap:6px;padding:8px 10px;flex:none;overflow-x:auto;border-bottom:1px solid var(--border);background:#fff9;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-tabs::-webkit-scrollbar{display:none}.mtab{display:inline-flex;align-items:center;gap:6px;flex:none;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:12.5px;font-weight:600}.mtab.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.mtab-label{white-space:nowrap}.mtab-x{margin-left:2px;opacity:.85;font-size:11px}.mobile-block{flex:1;min-height:0;padding:12px;display:flex}.mobile-block .block{width:100%;height:100%;border-radius:14px}@media (max-width: 640px){.app{overflow-x:hidden;max-width:100vw}.topbar{gap:8px;padding:0 10px}.topbar .brand{font-size:13px}.topbar [data-testid=role-badge],.topbar [data-testid=workspace-name],.topbar [data-testid=collaborate-btn],.topbar [data-testid=share-btn],.topbar [data-testid=terminal-toggle]{display:none}.topbar button{padding:5px 9px;font-size:12px}.arrange-bar{padding:8px 12px}.arrange-hint{display:none}}.cb-block{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;padding:14px 16px;overflow:auto}.cb-note{font-size:11.5px;color:var(--text-muted);margin:0}.cb-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12.5px;text-align:center;padding:16px}.cb-metric{flex:1;min-height:0;display:flex;flex-direction:column;gap:3px}.cb-metric-value{font-size:34px;font-weight:800;letter-spacing:-.01em;color:color-mix(in srgb,var(--accent) 80%,#134e4a);font-variant-numeric:tabular-nums;line-height:1.05}.cb-metric-label{font-size:12.5px;color:var(--text-muted)}.cb-metric-delta{font-size:12px;font-weight:600;color:var(--text-muted)}.cb-metric-delta.is-up{color:#15803d}.cb-metric-delta.is-down{color:var(--error, #dc2626)}.cb-spark{margin-top:auto;padding-top:8px;height:46px;display:flex;align-items:flex-end;gap:3px}.cb-spark-bar{flex:1 1 0;min-width:3px;max-width:16px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 38%,var(--surface-tint)))}.cb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cb-list-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.cb-list-row:last-child{border-bottom:none}.cb-list-label{color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-list-value{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.cb-table-wrap{overflow:auto;flex:1;min-height:0}.cb-table{border-collapse:collapse;width:100%;font-size:12.5px}.cb-table th,.cb-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.cb-table th{color:var(--text-muted);font-weight:700;background:var(--bg-elev);position:sticky;top:0}.cb-table td{color:var(--text)}.cb-markdown{font-size:13px}.canvas-card{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin:4px 0;border-radius:10px;background:color-mix(in srgb,var(--accent) 7%,var(--bg-elev));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));font-size:13px;color:var(--text)}.canvas-card.is-pending{color:var(--text-muted)}.canvas-card.is-error{border-color:color-mix(in srgb,var(--error, #dc2626) 40%,var(--border))}.canvas-card-icon{font-size:16px}.gallery-agent-hint{margin-top:14px;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,var(--bg-elev));border:1px dashed color-mix(in srgb,var(--accent) 30%,var(--border));font-size:12.5px;color:var(--text-muted);line-height:1.5}.gallery-agent-hint em{color:var(--text);font-style:italic}.theme-picker{width:min(440px,92%)}.theme-section{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:16px 0 8px}.theme-modes{display:flex;gap:10px}.theme-mode{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);text-align:left}.theme-mode.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.theme-mode-glyph{font-size:18px}.theme-mode-name{font-size:13px;font-weight:600;color:var(--text)}.theme-mode-desc{font-size:11.5px;color:var(--text-muted)}.theme-swatches{display:flex;flex-wrap:wrap;gap:10px}.theme-swatch{width:34px;height:34px;border-radius:999px;border:2px solid transparent;padding:0;font-size:14px;font-weight:700;line-height:1;box-shadow:0 1px 3px #0000002e;transition:transform .1s}.theme-swatch:hover:not(:disabled){transform:scale(1.08)}.theme-swatch.active{border-color:var(--text)}.theme-custom{display:flex;align-items:center;gap:10px;margin-top:14px}.theme-custom label{margin:0}.theme-custom input[type=color]{width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.theme-hex-input{width:96px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-family:ui-monospace,Menlo,monospace;font-size:12.5px}
@@ -6,8 +6,8 @@
6
6
  <meta name="theme-color" content="#0a0a0c" />
7
7
  <title>wild-workspace</title>
8
8
  <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='14' fill='%230061FE'/%3E%3Ctext x='32' y='42' font-family='ui-sans-serif,system-ui' font-size='30' font-weight='700' text-anchor='middle' fill='%23fff'%3Ew%3C/text%3E%3C/svg%3E" />
9
- <script type="module" crossorigin src="/assets/index-Dc6jo84c.js"></script>
10
- <link rel="stylesheet" crossorigin href="/assets/index-Bj-mdLGj.css">
9
+ <script type="module" crossorigin src="/assets/index-DVWgeTl_.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/assets/index-Dl0VT5e6.css">
11
11
  </head>
12
12
  <body>
13
13
  <div id="root"></div>
@@ -1 +0,0 @@
1
- .ob-root{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.04),var(--bg) 60%);display:flex;align-items:center;justify-content:center;z-index:1000;overflow-y:auto;padding:32px 16px}.ob-stage{width:100%;max-width:560px;display:flex;flex-direction:column;gap:24px}.ob-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:32px}.ob-step-dots{display:flex;gap:8px}.ob-dot{width:8px;height:8px;border-radius:999px;background:var(--border);transition:background .2s,transform .2s}.ob-dot.active{background:var(--accent);transform:scale(1.4)}.ob-dot.done{background:var(--accent);opacity:.55}.ob-back{background:transparent;border:none;color:var(--text-muted);font-size:13px;padding:4px 8px}.ob-back:hover{color:var(--text)}.ob-step{display:flex;flex-direction:column;gap:24px;animation:ob-rise .32s ease-out both}@keyframes ob-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ob-bubble{padding:16px 18px;border-radius:16px;border:1px solid var(--border);background:var(--bg-elev);max-width:90%;align-self:flex-start}.ob-bubble-agent{border-top-left-radius:4px}.ob-bubble-user{align-self:flex-end;background:var(--bg-elev-2);border-top-right-radius:4px}.ob-bubble-text{margin:0 0 6px;font-size:17px;line-height:1.4}.ob-bubble-text:last-child{margin-bottom:0}.ob-bubble-subtle{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5}.ob-bubble code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;padding:1px 6px;background:var(--bg-elev-2);border-radius:4px}.ob-bubble-streaming{border-color:var(--accent)}.ob-caret{display:inline-block;margin-left:2px;color:var(--accent);animation:ob-blink .9s steps(2,end) infinite;font-weight:600}.ob-bubble-error{color:var(--error)}@keyframes ob-blink{to{visibility:hidden}}.ob-reveal{animation:ob-rise .28s ease-out both}.ob-card{display:flex;flex-direction:column;gap:8px}.ob-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:12px}.ob-input{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:16px;outline:none;transition:border-color .16s}.ob-input:focus{border-color:var(--accent)}.ob-tone-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ob-tone{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;text-align:left;transition:border-color .16s,background .16s}.ob-tone:hover{background:var(--bg-elev-2)}.ob-tone.selected{border-color:var(--accent);background:var(--bg-elev-2)}.ob-tone-label{font-size:14px;font-weight:500}.ob-tone-sample{font-size:12px;color:var(--text-muted);font-style:italic}.ob-color-row{display:flex;gap:10px;flex-wrap:wrap}.ob-color-swatch{width:32px;height:32px;padding:0;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .16s}.ob-color-swatch:hover{transform:scale(1.1)}.ob-color-swatch.selected{border-color:var(--text);transform:scale(1.15)}.ob-error{background:#f871711f;border:1px solid rgba(248,113,113,.4);color:var(--error);padding:8px 12px;border-radius:8px;font-size:13px}.ob-login-cmd{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:14px;color:var(--text);overflow-x:auto;white-space:nowrap}.ob-login-cmd code{color:var(--accent)}.ob-login-link{display:inline-block;background:var(--accent);color:#0b0b0c;text-decoration:none;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600}.ob-login-link:hover{filter:brightness(1.08)}.ob-consent-note{margin:28px auto 0;max-width:520px;text-align:center;font-size:12px;line-height:1.5;color:var(--text-muted);opacity:.8}.ob-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.ob-next{padding:10px 18px;font-size:14px;border-radius:10px}.ob-skip{padding:10px 14px;font-size:13px;color:var(--text-muted);background:transparent;border:1px solid transparent}.ob-skip:hover{color:var(--text);border-color:var(--border)}.ob-dropzone{border:2px dashed var(--border);border-radius:16px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:border-color .2s,background .2s;background:var(--bg-elev)}.ob-dropzone:hover{border-color:var(--accent)}.ob-dropzone.over{border-color:var(--accent);background:var(--bg-elev-2)}.ob-dropzone.peeking{cursor:wait}.ob-drop-icon{font-size:40px}.ob-drop-title{font-size:16px;font-weight:500}.ob-drop-sub{font-size:13px;color:var(--text-muted)}.ob-drop-hint{margin-top:8px;font-size:12px;color:var(--accent);text-align:center}.ob-tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ob-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;text-align:left;transition:border-color .16s,background .16s}.ob-tile:hover{background:var(--bg-elev-2)}.ob-tile.selected{border-color:var(--accent);background:var(--bg-elev-2)}.ob-tile-label{font-size:14px;font-weight:500}.ob-tile-note{font-size:12px;color:var(--text-muted)}.ob-tile-check{position:absolute;top:10px;right:12px;color:var(--accent);font-size:14px}.ob-soon{font-size:12px;color:var(--text-muted);font-style:italic;padding:8px 4px}.ob-qr-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px}.ob-qr-box{width:200px;height:200px;border:2px dashed var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;text-align:center;background:var(--bg-elev)}.ob-qr-soon{line-height:1.5}.ob-jobs{display:flex;flex-direction:column;gap:8px}.ob-job{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;text-align:left;transition:border-color .16s,transform .16s}.ob-job:hover{border-color:var(--accent);transform:translate(2px)}.ob-job-title{font-size:15px;font-weight:500}.ob-job-sub{font-size:13px;color:var(--text-muted)}:root{--bg: #0a0a0c;--bg-elev: #14141a;--bg-elev-2: #1d1d26;--border: #2a2a36;--text: #f4f4f8;--text-muted: #8a8a99;--accent: #6366f1;--accent-hot: #818cf8;--positive: #34d399;--warn: #fbbf24;--error: #f87171;--chat-user: #1e293b;--chat-agent: #161623}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}button,input,textarea,select{font-family:inherit;color:inherit}button{cursor:pointer;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);padding:6px 12px;border-radius:6px;font-size:13px;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:#262635}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hot)}button:disabled{opacity:.45;cursor:not-allowed}.app{display:grid;grid-template-rows:48px 1fr 32px;height:100%;background:var(--bg)}.topbar{display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.topbar .brand{font-weight:600;font-size:14px;letter-spacing:.02em}.topbar .badge{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.topbar .badge.partner{color:var(--positive);border-color:#34d3994d}.topbar .badge.viewer{color:var(--accent-hot);border-color:#818cf866}.topbar .badge.client{color:var(--warn);border-color:#fbbf2466}.topbar .spacer{flex:1}.bottombar{display:flex;align-items:center;gap:16px;padding:0 16px;border-top:1px solid var(--border);background:var(--bg-elev);font-size:12px;color:var(--text-muted)}.bottombar .pill{padding:2px 8px;border-radius:999px;background:var(--bg-elev-2);border:1px solid var(--border)}.bottombar .pill.live:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--positive);margin-right:6px;animation:pulse 1.6s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.workspace{display:grid;grid-template-columns:240px 1fr 1fr;gap:0;overflow:hidden}.workspace.collapsed-tree{grid-template-columns:36px 1fr 1fr}.workspace.no-preview{grid-template-columns:240px 1fr}.workspace.no-preview.collapsed-tree{grid-template-columns:36px 1fr}.workspace.no-tree{grid-template-columns:1fr 1fr}.workspace.no-tree.no-preview{grid-template-columns:1fr}.tree-pane,.chat-pane,.preview-pane{border-right:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;min-width:0}.preview-pane{border-right:none}.chat-pane{background:var(--bg)}.chat-header{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-elev);font-size:13px}.chat-mode-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;font-size:12px}.chat-mode-toggle button{border:none;border-radius:0;padding:4px 10px;background:transparent;color:var(--text-muted)}.chat-mode-toggle button.active{background:var(--accent);color:#fff}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-msg{font-size:14px;line-height:1.6;word-wrap:break-word}.chat-msg.user{align-self:flex-end;max-width:85%;padding:9px 13px;border-radius:13px 13px 3px;background:var(--chat-user);border:1px solid rgba(99,102,241,.28)}.chat-msg.user .msg-plain{white-space:pre-wrap}.chat-msg.agent{align-self:stretch;max-width:100%;display:flex;flex-direction:column;gap:10px}.chat-msg.error{align-self:stretch;padding:10px 14px;border-radius:10px;background:#f8717117;border:1px solid rgba(248,113,113,.4);color:var(--error);font-size:13px}.chat-msg.system{align-self:center;max-width:90%;text-align:center;font-size:12px;color:var(--text-muted);padding:5px 14px;border:1px dashed var(--border);border-radius:999px}.chat-toolbar{display:flex;justify-content:flex-end;padding:6px 16px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.chat-newbtn{font-size:12px;padding:3px 10px;background:transparent;border:1px solid var(--border);color:var(--text-muted)}.chat-newbtn:hover:not(:disabled){color:var(--accent-hot);border-color:var(--accent)}.chat-input{border-top:1px solid var(--border);padding:12px;background:var(--bg-elev);display:flex;gap:8px}.chat-input textarea{flex:1;resize:none;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px;min-height:44px;max-height:200px}.chat-input textarea:focus{outline:none;border-color:var(--accent)}.chat-input .send-btn{align-self:flex-end}.tree-pane{background:var(--bg-elev)}.tree-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.tree-list{flex:1;overflow:auto;padding:8px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tree-node{padding:2px 4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:4px;color:var(--text)}.tree-node:hover{background:var(--bg-elev-2)}.tree-node.dir{color:var(--accent-hot)}.tree-node .indent{display:inline-block;width:12px}.tree-collapsed-rail{width:36px;background:var(--bg-elev);display:flex;align-items:center;justify-content:center;padding-top:12px}.preview-pane{background:#050507}.preview-tabs{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--bg-elev);font-size:12px}.preview-tabs button{border:1px solid transparent;background:transparent;border-radius:6px;padding:4px 10px;color:var(--text-muted)}.preview-tabs button.active{background:var(--bg-elev-2);color:var(--text);border-color:var(--border)}.preview-body{flex:1;overflow:hidden;position:relative;background:#0c0c10}.preview-iframe{width:100%;height:100%;border:0;background:#fff}.preview-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);font-size:13px;text-align:center;padding:20px}.preview-port-input{display:flex;gap:6px;align-items:center}.preview-port-input input{width:80px;background:var(--bg);color:var(--text);border:1px solid var(--border);padding:4px 8px;border-radius:6px}.preview-code-view{width:100%;height:100%;overflow:auto;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text)}.preview-code-view pre{margin:0;white-space:pre}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:24px;width:min(520px,90%);box-shadow:0 20px 60px #00000073}.modal h2{margin:0 0 4px;font-size:16px}.modal .muted{color:var(--text-muted);font-size:12px;margin-bottom:18px}.modal label{font-size:12px;color:var(--text-muted);margin-bottom:6px;display:block}.modal .row{display:flex;gap:8px;align-items:center;margin-bottom:12px}.modal .url-output{background:var(--bg);border:1px solid var(--border);padding:10px 12px;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all;margin-bottom:12px}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.inbox-card{margin:0 16px 16px;padding:12px 14px;border:1px dashed rgba(129,140,248,.45);border-radius:10px;background:#818cf812;font-size:13px;color:var(--text)}.inbox-card strong{color:var(--accent-hot)}.inbox-card .muted{color:var(--text-muted);font-size:12px;margin-top:6px;display:block}.terminal-overlay{position:fixed;bottom:32px;left:0;right:0;height:280px;background:#04040a;border-top:1px solid var(--border);padding:12px;z-index:30;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-muted)}.terminal-overlay header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.terminal-overlay header strong{color:var(--text)}.spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.agent-text{font-size:14px;line-height:1.62}.agent-error{padding:8px 12px;border-radius:8px;background:#f8717117;border:1px solid rgba(248,113,113,.35);color:var(--error);font-size:13px}.stream-cursor{display:inline-block;width:7px;height:1.05em;margin-left:1px;background:var(--accent-hot);border-radius:1px;vertical-align:text-bottom;animation:blink 1.05s steps(2,start) infinite}@keyframes blink{50%{opacity:0}}.agent-working{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.agent-working .dots{display:inline-flex;gap:3px}.agent-working .dots i{width:5px;height:5px;border-radius:50%;background:var(--accent-hot);display:inline-block;animation:dotpulse 1.2s ease-in-out infinite}.agent-working .dots i:nth-child(2){animation-delay:.18s}.agent-working .dots i:nth-child(3){animation-delay:.36s}@keyframes dotpulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.usage-footer{display:flex;gap:12px;font-size:11px;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.stderr-block{font-size:12px}.stderr-block summary{color:var(--warn);cursor:pointer}.stderr-block pre{white-space:pre-wrap;margin:6px 0 0;color:var(--text-muted);font-size:11px}.chat-empty{margin:auto;text-align:center;max-width:380px;padding:32px 16px;color:var(--text-muted)}.chat-empty-mark{font-size:28px;color:var(--accent-hot);margin-bottom:8px}.chat-empty-title{font-size:16px;color:var(--text);font-weight:600;margin:0 0 6px}.chat-empty-sub{font-size:13px;margin:0 0 16px;line-height:1.5}.chat-empty-hints{display:flex;flex-direction:column;gap:6px}.chat-empty-hints span{font-size:12px;padding:6px 10px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px}.chat-empty-warn{font-size:12px;color:var(--warn);margin-top:14px}.chat-readonly-banner{padding:10px 16px;border-top:1px solid var(--border);color:var(--text-muted);font-size:12px}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:8px 0}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:16px 0 8px;line-height:1.3;font-weight:600}.markdown h1{font-size:19px}.markdown h2{font-size:17px}.markdown h3{font-size:15px}.markdown h4{font-size:14px;color:var(--text-muted)}.markdown ul,.markdown ol{margin:8px 0;padding-left:22px}.markdown li{margin:3px 0}.markdown li::marker{color:var(--text-muted)}.markdown a{color:var(--accent-hot);text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown strong{color:#fff;font-weight:650}.markdown blockquote{margin:8px 0;padding:2px 12px;border-left:3px solid var(--border);color:var(--text-muted)}.markdown hr{border:none;border-top:1px solid var(--border);margin:14px 0}.md-code-inline{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--accent-hot)}.md-table-wrap{overflow-x:auto;margin:10px 0}.markdown table{border-collapse:collapse;font-size:13px;width:100%}.markdown th,.markdown td{border:1px solid var(--border);padding:5px 10px;text-align:left}.markdown th{background:var(--bg-elev)}.code-block{margin:10px 0;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--bg-elev-2)}.code-block-head{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;background:var(--bg-elev);border-bottom:1px solid var(--border)}.code-lang{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.code-copy{font-size:11px;padding:2px 8px;background:transparent}.code-block-body{margin:0;padding:11px 13px;overflow-x:auto;max-height:440px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.55;background:transparent}.tool-card{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:8px;background:var(--bg-elev);font-size:13px;overflow:hidden}.tool-card.running{border-left-color:var(--accent)}.tool-card.done{border-left-color:var(--positive)}.tool-card.error{border-left-color:var(--error)}.tool-head{display:flex;align-items:center;gap:7px;padding:7px 11px}.tool-icon{font-size:13px}.tool-verb{font-weight:600;color:var(--text);white-space:nowrap}.tool-target{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--accent-hot);background:var(--bg-elev-2);padding:1px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.tool-tag{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--warn);border:1px solid rgba(251,191,36,.4);border-radius:4px;padding:0 5px}.tool-status{margin-left:auto;font-size:12px}.tool-card.done .tool-status{color:var(--positive)}.tool-card.error .tool-status{color:var(--error)}.tool-spinner{width:11px;height:11px;display:inline-block;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.tool-desc{padding:0 11px 8px;color:var(--text-muted);font-size:12px}.tool-raw{margin:0 11px 9px;padding:8px;font-size:11px;background:var(--bg);border-radius:6px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-muted)}.tool-result{border-top:1px solid var(--border);font-size:12px}.tool-result summary{padding:6px 11px;cursor:pointer;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tool-result.err summary{color:var(--error)}.tool-result pre{margin:0;padding:8px 11px 11px;white-space:pre-wrap;word-break:break-word;font-size:11.5px;color:var(--text-muted);max-height:280px;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.diff-view{margin:0 11px 10px;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--bg)}.diff-stat{display:flex;gap:10px;padding:4px 10px;background:var(--bg-elev);border-bottom:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.diff-stat-add{color:var(--positive)}.diff-stat-del{color:var(--error)}.diff-body{margin:0;padding:5px 0;overflow-x:auto;max-height:360px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5}.diff-line{display:flex;padding:0 4px}.diff-line.add{background:#34d3991c}.diff-line.del{background:#f871711c}.diff-gutter{width:16px;flex:none;text-align:center;color:var(--text-muted);-webkit-user-select:none;user-select:none}.diff-line.add .diff-gutter{color:var(--positive)}.diff-line.del .diff-gutter{color:var(--error)}.diff-line.add .diff-text{color:#b9f4dc}.diff-line.del .diff-text{color:#f8c4c4}.diff-line.ctx .diff-text{color:var(--text-muted)}.diff-text{white-space:pre-wrap;word-break:break-word}.diff-more{padding:4px 10px;font-size:11px;color:var(--text-muted);background:var(--bg-elev);border-top:1px solid var(--border)}.thinking-block{border:1px dashed var(--border);border-radius:7px;background:#818cf80a;font-size:12px}.thinking-block summary{padding:6px 11px;cursor:pointer;color:var(--text-muted)}.thinking-body{padding:0 11px 9px;color:var(--text-muted);white-space:pre-wrap;line-height:1.5;font-size:12px}.sync-state{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elev-2);font-size:13px;margin-bottom:14px;display:flex;flex-direction:column;gap:4px}.sync-state.ok{border-color:#34d39966;background:#34d39912}.sync-state.warn{border-color:#fbbf2466;background:#fbbf2412}.sync-state .muted{margin:0;font-size:12px}.sync-input{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:6px 10px;border-radius:6px;font-size:13px}.sync-input:focus{outline:none;border-color:var(--accent)}.conflict-banner{position:fixed;top:48px;left:0;right:0;z-index:40;display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fbbf2421;border-bottom:1px solid rgba(251,191,36,.5);color:var(--text);font-size:13px}.conflict-banner .ico{font-size:14px}.conflict-banner code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--warn)}.conflict-banner .spacer{flex:1}.conflict-banner button{font-size:11px;padding:3px 9px}.bottombar .pill.synced{color:var(--positive);border-color:#34d39959}.bottombar .pill.sync-off{color:var(--text-muted)}.bottombar .pill.conflict-badge{background:#f871711f;border-color:#f8717173;color:var(--error, #ef4444);cursor:pointer;font-weight:600}.bottombar .pill.conflict-badge:hover{background:#f8717138}.conflict-panel{position:fixed;right:16px;bottom:56px;width:min(720px,92vw);max-height:70vh;z-index:60;display:flex;flex-direction:column;background:var(--surface, #1f2937);color:var(--text);border:1px solid var(--border, rgba(255,255,255,.1));border-radius:8px;box-shadow:0 14px 40px #0006;overflow:hidden}.conflict-panel-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8717114;border-bottom:1px solid var(--border, rgba(255,255,255,.1));font-size:13px}.conflict-panel-header .spacer{flex:1}.conflict-panel-header button{font-size:11px;padding:3px 9px}.conflict-panel-error{padding:8px 14px;font-size:12px;color:var(--error, #ef4444)}.conflict-list{list-style:none;margin:0;padding:0;overflow:auto}.conflict-row{border-bottom:1px solid var(--border, rgba(255,255,255,.06))}.conflict-row-head{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:13px}.conflict-row-head:hover{background:#ffffff0a}.conflict-row-head code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.conflict-row-head .spacer{flex:1}.conflict-row-head .muted{color:var(--text-muted);font-size:12px}.conflict-row-body{padding:8px 14px 14px}.conflict-meta{display:flex;gap:14px;font-size:11px;color:var(--text-muted);margin-bottom:8px}.conflict-meta code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.conflict-actions{margin-top:10px;display:flex;gap:8px}.conflict-actions button{font-size:12px;padding:6px 12px}