:root{--bg: #0f1115;--surface: #1a1d24;--surface2: #242832;--text: #e7e9ee;--muted: #9aa0ac;--accent: #2e9e5b;--user-bubble: #005c4b;--error: #e5534b;--border: #2a2e38;--addressed-tint: #4b8bf5;color-scheme:dark light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{height:100%;display:flex;flex-direction:column}.topbar{padding:12px 20px;border-bottom:1px solid var(--border);flex:none;display:flex;align-items:center;justify-content:space-between}.topbar h1{margin:0;font-size:17px;font-weight:600}.topbar h1.home{cursor:pointer}.topbar h1.home:hover{color:var(--accent)}.pair-toggle{background:var(--surface2);color:var(--text);border:1px solid var(--border);width:30px;height:30px;border-radius:8px;font-size:18px;line-height:1;cursor:pointer}.pair-toggle:hover{background:var(--surface)}.pair-panel{flex:none;border-bottom:1px solid var(--border);background:var(--surface);padding:8px 8px 4px}.pair-list{display:flex;flex-direction:column;gap:4px;padding:4px 6px 8px}.pair-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;background:var(--surface2);border-radius:8px;font-size:14px}.pair-item .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pair-item .remove{flex:none;background:none;border:none;color:var(--error);cursor:pointer;font-size:13px;padding:2px 4px}.content{flex:1;padding:24px 20px}.pair-empty{max-width:560px}.muted{color:var(--muted)}.error{color:var(--error);margin:8px 20px}code{background:var(--surface2);padding:1px 5px;border-radius:4px;font-size:.9em}.split{flex:1;display:flex;min-height:0}.sidebar{width:260px;flex:none;border-right:1px solid var(--border);overflow-y:auto;background:var(--surface)}.sidebar-search{padding:8px 10px;border-bottom:1px solid var(--border);flex:none}.ideas-list .sidebar-search{position:sticky;top:0;background:var(--surface);z-index:1}.sidebar-search input{width:100%;padding:7px 12px;border-radius:18px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:14px;outline:none}.sidebar-search input:focus{border-color:var(--accent)}.row{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;color:var(--text);cursor:pointer;text-align:left;font-size:15px;border-bottom:1px solid var(--border)}.row:hover,.row.active{background:var(--surface2)}.row-main{flex:1;min-width:0}.row-top{display:flex;align-items:baseline;gap:8px}.row-top .label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-time{flex:none;font-size:11px;color:var(--muted)}.row-preview{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.row .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex:none;opacity:.5}.dot.on{background:var(--accent);opacity:1}.dot.idle{background:#e0a200;opacity:1}.dot.awaiting{background:#4c6ef5;opacity:1}.dot.away{background:#7a8595;opacity:1}.agent-task-input{width:100%;box-sizing:border-box;margin:8px 0;font:inherit;resize:vertical}.dot.asleep{background:transparent;box-shadow:inset 0 0 0 1.5px var(--accent);opacity:1}.dot.stalled{background:var(--error);opacity:1}.row-preview.activity{font-style:italic;color:var(--accent)}.row.child{padding-left:34px}.row.child .dot{transform:scale(.8)}.row-branch{flex:none;font-size:11px;color:var(--muted);background:var(--surface2);border-radius:4px;padding:1px 5px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-fold{display:block;width:100%;padding:8px 16px 8px 34px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--muted);font-size:13px;text-align:left;cursor:pointer}.session-fold:hover{background:var(--surface2);color:var(--text)}.md table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%;margin:8px 0;font-size:13px}.md th,.md td{border:1px solid rgba(127,127,127,.25);padding:5px 10px;white-space:nowrap}.md th{font-weight:600;background:#7f7f7f14}.chat{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.todos-rail{width:300px;flex:none;border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;overflow:hidden}.rail-head{padding:14px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:14px;flex:none}.rail-body{flex:1;overflow-y:auto}.spec-rail{width:380px}.spec-md{padding:14px 16px;font-size:13px;line-height:1.55}.todos-pane{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.todos-pane .rail-head,.narrow-only{display:none}@media(max-width:1000px){.todos-rail{display:none}.tab.narrow-only{display:inline-block}.chat-tabs.narrow-only{display:flex}}@media(min-width:1001px){.split.ideas-detail .chat{flex:none;width:440px;min-width:360px}.split.ideas-detail .spec-rail{flex:1;width:auto}}.dashboard{flex:1;overflow-y:auto;display:flex;flex-direction:column}.dashboard-head{padding:16px 20px;font-size:14px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);flex:none}.dashboard-grid{padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.dash-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;cursor:pointer;color:var(--text);display:flex;flex-direction:column;gap:8px}.dash-card:hover{border-color:var(--accent)}.dash-card.child{border-left:3px solid var(--muted);padding-left:12px}.dash-fold{justify-content:center;color:var(--muted);font-size:13px;border-style:dashed}.dash-card-head{display:flex;align-items:center;gap:8px}.dash-card-name{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.dash-card-time{font-size:11px;color:var(--muted);flex:none}.dash-card-preview{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-progress{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden}.dash-progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.dash-todo-line{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:6px}.load-older{text-align:center;color:var(--muted);font-size:12px;padding:4px 0 8px;opacity:.7}.bubble{max-width:68%;padding:8px 12px;border-radius:12px;font-size:15px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--user-bubble)}.bubble.agent{align-self:flex-start;background:var(--surface2)}.bubble.agent.addressed{background:color-mix(in srgb,var(--addressed-tint) 16%,var(--surface2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--addressed-tint) 45%,transparent)}.bubble-text{white-space:pre-wrap;word-break:break-word}.bubble-text.md{white-space:normal}.bubble-text.md>:first-child{margin-top:0}.bubble-text.md>:last-child{margin-bottom:0}.bubble-text.md p{margin:0 0 6px}.bubble-text.md a{color:inherit;text-decoration:underline}.bubble-text.md code{background:#00000040;padding:1px 5px;border-radius:4px;font-size:.9em}.bubble-text.md pre{background:#0000004d;padding:8px 10px;border-radius:6px;overflow-x:auto;margin:6px 0}.bubble-text.md pre code{background:none;padding:0}.code-block{position:relative}.md .code-block pre{padding-top:28px}.code-block .code-lang{position:absolute;top:9px;left:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1;color:var(--muted)}.code-block .code-copy{position:absolute;top:5px;right:10px;font:inherit;font-size:11px;line-height:1;padding:4px 7px;border-radius:5px;cursor:pointer;color:var(--muted);background:var(--surface);border:1px solid var(--border);opacity:0;transition:opacity .12s ease}.code-block:hover .code-copy,.code-block .code-copy:focus-visible{opacity:1}@media(hover:none){.code-block .code-copy{opacity:.7}}.bubble-text.md pre code{display:inline-block;min-width:100%}.bubble-text.md pre .hljs-addition,.bubble-text.md pre .hljs-deletion{display:inline-block;min-width:100%;margin:0 -10px;padding:0 10px}.bubble-text.md ul,.bubble-text.md ol{margin:4px 0;padding-left:20px}.bubble-text.md li{margin:2px 0}.bubble-text.md h1,.bubble-text.md h2,.bubble-text.md h3{font-size:1.05em;font-weight:600;margin:6px 0 4px}.bubble-text.md blockquote{border-left:3px solid rgba(128,128,128,.4);margin:6px 0;padding-left:10px;opacity:.85}.bubble-text.md img{max-width:100%;border-radius:6px}.bubble-text.md table{border-collapse:collapse;margin:6px 0}.bubble-text.md th,.bubble-text.md td{border:1px solid var(--border);padding:3px 8px}.meta{display:block;text-align:right;font-size:10.5px;opacity:.6;margin-top:3px;line-height:1;white-space:nowrap}.bubble.user .meta{opacity:.8}.date-sep{display:flex;justify-content:center;margin:14px 0 4px}.date-sep span{background:var(--surface2);color:var(--muted);font-size:12px;padding:3px 12px;border-radius:10px}.chat-head{display:flex;align-items:center;gap:10px;padding:11px 18px;border-bottom:1px solid var(--border);flex:none}.chat-head-name{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-head-branch{flex:none;font-size:12px;max-width:40%}.chat-head-status{font-size:12px;color:var(--muted)}.chat-head-status.activity{font-style:italic;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.chat-head-status.stalled{color:var(--error)}.chat-head-action{margin-left:auto;flex:none;background:none;border:1px solid var(--border);color:var(--muted);font-size:12px;padding:4px 10px;border-radius:8px;cursor:pointer}.chat-head-action:hover{background:var(--surface2);color:var(--text)}.sched{position:relative;margin-left:auto;flex:none;display:flex}.sched .chat-head-action{margin-left:0}.sched-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:min(420px,90vw);max-height:60vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px;box-shadow:0 6px 24px #0000004d}.sched-title{font-size:12px;color:var(--muted);padding:2px 4px 6px}.sched-asof{margin-left:6px;color:var(--error)}.sched-pop.stale .sched-job{opacity:.5}.sched-job{padding:6px 4px;border-top:1px solid var(--border)}.sched-when{display:flex;align-items:center;gap:8px;font-size:13px}.sched-next{color:var(--muted);font-size:12px}.sched-del{margin-left:auto;background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px}.sched-del:hover{color:var(--error)}.sched-prompt{font-size:12px;color:var(--text);white-space:pre-wrap;margin-top:3px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.sched-expiry{font-size:11px;color:var(--muted);margin-top:2px}.doc-rev-picker{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:12px;padding:3px 6px;max-width:45%}.doc-rev-stale{font-size:12px;color:var(--muted);white-space:nowrap}.doc-comments{padding:12px 16px;display:flex;flex-direction:column;gap:10px}.doc-comment{background:var(--surface2);border-radius:10px;padding:10px 12px}.doc-comment.resolved{opacity:.55}.doc-comment-quote{border-left:3px solid rgba(255,200,60,.8);padding-left:8px;color:var(--muted);font-size:12px;font-style:italic;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.doc-comment-text{margin-top:4px;font-size:14px;line-height:1.5;white-space:pre-wrap}.doc-comment-text.md{white-space:normal}.doc-comment-text.md>:first-child{margin-top:0}.doc-comment-text.md>:last-child{margin-bottom:0}.doc-comment-meta{margin-top:4px;font-size:11px;color:var(--muted)}.doc-comment-draft{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.doc-comment-draft textarea,.doc-thread-card textarea{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px;resize:vertical;outline:none}.doc-comment-actions{display:flex;gap:8px;justify-content:flex-end}.doc-comment-actions button,.doc-review-bar button{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:5px 12px;font-size:13px;cursor:pointer}.doc-comment-actions button.primary,.doc-review-bar button.primary{background:var(--accent);color:#fff;border-color:transparent}.doc-comment-actions button:disabled,.doc-review-bar button:disabled{opacity:.5;cursor:default}.doc-review-bar{display:flex;align-items:center;gap:8px;padding:10px 20px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}.doc-review-bar .primary{margin-left:auto}.doc-comments button.doc-comment{text-align:left;border:none;color:inherit;font:inherit;cursor:pointer}.doc-comment.pending{outline:1px dashed var(--accent)}.doc-reader-body mark.hl{background:#ffc83c47;color:inherit;border-radius:2px;cursor:pointer}.doc-reader-body mark.hl-resolved{background:transparent;border-bottom:1px dotted var(--muted)}.doc-reader-body mark.hl-pending{background:#5aa0ff38;outline:1px dashed var(--accent)}.doc-reader-body mark.hl-active{background:#ffc83c99}.doc-reader-body mark.hl-pending.hl-active{background:#5aa0ff73}.doc-thread-card{cursor:pointer;border:1px solid transparent;transition:box-shadow .15s,border-color .15s}.doc-thread-card:hover{border-color:var(--border)}.doc-thread-card.active{cursor:default;opacity:1;background:var(--bg);border-color:var(--border);box-shadow:0 2px 10px #0000002e}.doc-thread-card .doc-comment-quote{margin-bottom:4px}.doc-thread-card textarea{margin-top:8px;width:100%;box-sizing:border-box}.doc-thread-card .doc-comment-actions{margin-top:6px}.doc-thread-msg{padding-top:8px}.doc-thread-msg+.doc-thread-msg{margin-top:8px;border-top:1px solid var(--border)}.doc-thread-author{font-size:13px;font-weight:600}.doc-thread-author .doc-comment-meta{font-weight:400}.doc-thread-msg.agent .doc-thread-author{color:var(--accent)}.doc-thread-msg.pending{outline:none;opacity:.8}.doc-reply-hint{margin-top:10px;border:1px solid var(--border);border-radius:16px;padding:4px 12px;color:var(--muted);font-size:13px}.doc-thread-msg .doc-comment-text{margin-top:2px}button.link{background:none;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer}.rev-diff-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted);margin-bottom:10px}.rev-diff-head button,.rev-diff-fold{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:4px 10px;font-size:12px;cursor:pointer}.rev-diff-fold{display:block;width:100%;margin:6px 0;color:var(--muted);border-style:dashed}.rev-diff-change{margin:6px 0;display:flex;flex-direction:column;gap:2px}.rev-diff-line{border-radius:4px;padding:2px 8px}.rev-diff-line>:first-child{margin-top:0}.rev-diff-line>:last-child{margin-bottom:0}.rev-diff-line.add{background:#3cc86e29;border-left:3px solid rgb(60,200,110)}.rev-diff-line.del{background:#f050501f;border-left:3px solid rgb(240,80,80);text-decoration:line-through;opacity:.75}.rev-diff-line.edit{background:var(--surface2);border-left:3px solid var(--accent);white-space:pre-wrap}.rev-diff-line ins{background:#3cc86e4d;text-decoration:none}.rev-diff-line del{background:#f0505040}.composer{display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid var(--border)}.composer textarea{flex:1;padding:10px 12px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:15px;outline:none;font-family:inherit;line-height:1.4;resize:none;overflow-y:hidden}.composer textarea:focus{border-color:var(--accent)}.composer button{padding:10px 18px;border-radius:20px;border:none;background:var(--accent);color:#fff;font-size:15px;cursor:pointer}.composer button:hover{filter:brightness(1.1)}.composer .attach{background:none;color:var(--muted);font-size:20px;padding:0 4px}.composer{position:relative}.mention-list{position:absolute;left:12px;bottom:calc(100% - 4px);min-width:220px;max-width:360px;max-height:260px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--surface2);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #00000059;z-index:5}.mention-list li{padding:6px 10px;border-radius:6px;cursor:pointer;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-list li.active,.mention-list li:hover{background:var(--accent);color:#fff}.msg-img{max-width:260px;max-height:320px;border-radius:8px;display:block}.gallery{display:grid;gap:3px;max-width:320px;margin-bottom:2px}.gallery.n1{grid-template-columns:1fr}.gallery.n2,.gallery.n3,.gallery.n4{grid-template-columns:1fr 1fr}.gallery-img{width:100%;height:128px;object-fit:cover;border-radius:6px;display:block}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#000000d9;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:24px}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.doc-card{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-top:4px;color:var(--text);font:inherit}.doc-card:hover{border-color:var(--accent)}.doc-icon{font-size:22px;line-height:1}.doc-meta{display:flex;flex-direction:column;min-width:0}.doc-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-sub{font-size:12px;color:var(--muted)}.file-card{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-top:4px;color:var(--text);font:inherit;text-decoration:none}.file-card:hover{border-color:var(--accent)}.file-block{display:flex;flex-direction:column;min-width:0}.file-block .md{margin-top:6px}.file-block .md pre{margin:0}.file-icon{font-size:20px;line-height:1}.file-meta{display:flex;flex-direction:column;min-width:0}.file-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-sub{font-size:12px;color:var(--muted)}.doc-reader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.doc-reader{background:var(--bg);border:1px solid var(--border);border-radius:12px;width:min(820px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.doc-reader:has(.doc-reader-main.with-side){width:min(1240px,100%);height:90vh}.doc-reader-main{display:flex;flex-direction:column;min-height:0;flex:1}.doc-reader-main>.doc-reader-body{flex:1;min-height:0}.doc-side{border-top:1px solid var(--border);background:var(--surface);overflow-y:auto;max-height:50%;flex-shrink:0}@media(min-width:1000px){.doc-reader-main.with-side{flex-direction:row}.doc-reader-main.with-side .doc-side{border-top:none;border-left:1px solid var(--border);width:400px;max-height:none}}.doc-reader-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.doc-reader-title{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-reader-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;padding:4px 8px}.doc-reader-close:hover{color:var(--text)}.doc-reader-body{overflow-y:auto;padding:16px 20px}.doc-reader-status{color:var(--muted)}.receipt{display:inline-block;margin-left:8px;font-size:11px;line-height:1;opacity:.6;vertical-align:baseline}.receipt.read,.receipt.ack{opacity:1;color:#6fc3ff}.card{margin-top:8px;border-top:1px solid rgba(128,128,128,.25);padding-top:8px}.card-options,.quick-replies{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.card-btn,.chip{border:1px solid var(--accent);background:none;color:var(--accent);border-radius:16px;padding:5px 14px;font-size:13px;cursor:pointer}.card-btn:hover,.chip:hover{background:var(--accent);color:#fff}.card-resolved{margin-top:8px;font-size:12px;color:var(--muted)}.card-resolved.cleared{font-style:italic}.card-resolved.ran{color:#2f9e44;font-weight:600}.card-resolved.failed{color:var(--error);font-weight:600}.card-dismiss{border:1px dashed var(--muted);background:none;color:var(--muted);border-radius:16px;padding:5px 12px;font-size:13px;cursor:pointer;margin-left:auto}.card-dismiss:hover{border-style:solid;color:var(--text)}.quote{border-left:3px solid rgba(128,128,128,.5);padding:2px 8px;margin-bottom:6px;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;opacity:.85}.bubble .msg-img+div{margin-top:6px}.call-line{font-size:12px;color:var(--muted);margin-bottom:4px;letter-spacing:.01em}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:.85}}.skeleton-list{padding:6px 0}.skeleton-row{height:18px;margin:13px 16px;border-radius:6px;background:var(--surface2);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-chat{flex:1;display:flex;flex-direction:column;gap:10px;padding:16px 18px}.skeleton-bubble{height:38px;border-radius:12px;background:var(--surface2);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-bubble.user{align-self:flex-end;width:42%}.skeleton-bubble.agent{align-self:flex-start;width:54%}.linkish{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:50;display:flex;align-items:center;justify-content:center}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;width:320px;max-width:90vw;text-align:center}.modal h2{margin:0 0 16px;font-size:18px}.modal .qr,.modal .qr-ph{width:260px;height:260px;max-width:100%;border-radius:8px}.modal .qr{background:#fff;padding:8px}.modal .qr-ph{background:var(--surface2)}.modal p{margin:14px 0;font-size:14px;line-height:1.4}.modal button{padding:8px 18px;border-radius:8px;border:none;background:var(--accent);color:#fff;cursor:pointer}.palette{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:520px;max-width:92vw;align-self:flex-start;margin-top:12vh;overflow:hidden}.palette input{width:100%;padding:14px 16px;border:none;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);font-size:16px;outline:none}.palette-list{max-height:52vh;overflow-y:auto}.palette-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;background:none;border:none;color:var(--text);cursor:pointer;text-align:left;font-size:15px}.palette-item:hover{background:var(--surface2)}.palette-type{flex:none;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);width:54px}.palette-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-empty{padding:16px;color:var(--muted)}.modal.img-preview{width:400px;max-width:92vw;text-align:left}.modal.img-preview img{width:100%;max-height:52vh;object-fit:contain;border-radius:8px;background:var(--bg)}.img-preview .preview-grid{display:grid;gap:4px}.img-preview .preview-grid.multi{grid-template-columns:1fr 1fr}.img-preview .preview-grid.multi img{max-height:26vh;object-fit:cover}.modal.img-preview input{width:100%;margin-top:12px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:15px;outline:none}.modal.img-preview input:focus{border-color:var(--accent)}.img-preview-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:14px}.img-preview-actions .linkish{color:var(--muted)}.todos{flex:1;overflow-y:auto;padding:8px 0}.todo{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:15px;line-height:1.4}.todo .check{flex:none;width:18px;text-align:center;color:var(--muted)}.todo.in_progress .check{color:#d89b2e}.todo.completed .check{color:var(--accent)}.todo.completed .todo-text{color:var(--muted);text-decoration:line-through;opacity:.7}.todo-text{word-break:break-word}.agents{padding:4px 0 12px}.agents-head{padding:14px 16px 6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.wf-card{margin:4px 12px;padding:10px 12px;border-radius:10px;background:var(--surface2);display:flex;flex-direction:column;gap:7px;font-size:13px}.wf-top{display:flex;align-items:baseline;gap:8px;background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.wf-title{font-weight:600;font-size:14px}.wf-name{font-family:ui-monospace,monospace;font-size:11px;color:var(--muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-status{font-size:12px;color:var(--muted);margin-left:auto}.wf-phases{display:flex;gap:4px}.wf-phase{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.wf-bar{height:4px;border-radius:2px;background:var(--border)}.wf-phase.done .wf-bar{background:var(--accent)}.wf-phase.running .wf-bar{background:#d89b2e}.wf-phase.failed .wf-bar{background:#c0392b}.wf-phase-name{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-phase.running .wf-phase-name{color:inherit;font-weight:600}.wf-working{display:flex;align-items:center;gap:6px;min-width:0}.wf-agent{font-weight:500}.wf-doing{font-style:italic;color:#b07a17;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.wf-last,.wf-result,.wf-stats,.wf-step-phase{font-size:12px;color:var(--muted)}.wf-summary{font-size:12px}.wf-detail{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:8px}.wf-step{display:flex;flex-direction:column;gap:2px}.sub-row{padding:8px 16px;border-bottom:1px solid var(--border);font-size:13px;display:flex;flex-direction:column;gap:2px}.dot.working{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d89b2e;margin-right:6px;flex:none}.dot.idle-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted);margin-right:6px}.sys-line span{font-size:11px}.peer-line{align-self:stretch;margin:4px 6px;font-size:12px;color:var(--muted)}.peer-line.out{text-align:right}.peer-head{display:inline-flex;align-items:baseline;gap:4px}.peer-toggle,.peer-name{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.peer-toggle:hover{color:var(--text)}.peer-caret{font-size:10px}button.peer-name{color:var(--accent);font-weight:600}button.peer-name:hover{text-decoration:underline}.md a.mention{font-weight:600;text-decoration:none}.md a.mention:hover{text-decoration:underline}.bubble.user .md a.mention{color:inherit}span.peer-name{font-weight:600}.peer-head .time{margin-left:6px;font-size:11px}.peer-body>:first-child{margin-top:0}.peer-body>:last-child{margin-bottom:0}.peer-body{margin-top:4px;padding:8px 12px;border-left:2px solid var(--border);background:var(--surface2);border-radius:6px;color:var(--text);text-align:left;font-size:13px}.live-status{position:relative;align-self:stretch;margin:6px 6px 2px;padding-left:14px;color:var(--muted);overflow:hidden}.live-status:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:live-pulse 1.8s ease-in-out infinite}.live-update{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;animation:live-in .3s ease-out}@keyframes live-pulse{50%{opacity:.3}}@keyframes live-in{0%{transform:translateY(100%);opacity:0}to{transform:none;opacity:1}}.chat-tabs{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border);flex:none}.tab{padding:6px 14px;border-radius:16px;border:none;background:none;color:var(--muted);font-size:14px;cursor:pointer}.tab.active{background:var(--surface2);color:var(--text)}.ideas-list{flex:1;overflow-y:auto}.ideas-split{flex:1;display:flex;min-height:0}.ideas-split .ideas-list{width:340px;flex:none;border-right:1px solid var(--border)}.idea-detail{flex:1;display:flex;flex-direction:column;min-width:0}.idea-row.active{background:var(--surface2)}.kanban-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.kanban{flex:1;display:flex;gap:12px;padding:14px;overflow-x:auto;min-height:0}.kanban-col{flex:1;min-width:220px;display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:10px}.kanban-col-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border)}.kanban-col.drag-over{border-color:var(--accent);background:var(--surface2)}.kanban-count{background:var(--surface2);border-radius:10px;padding:1px 8px;font-size:11px}.kanban-card{cursor:grab}.kanban-card:active{cursor:grabbing}.kanban-cards{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.kanban-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer}.kanban-card:hover{border-color:var(--accent)}.kanban-card-title{font-size:14px;font-weight:500;margin-bottom:4px}.kanban-card-desc{font-size:12px;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media(max-width:720px){.ideas-split .ideas-list{width:100%;border-right:none}.ideas-split .idea-detail{display:none}}.idea-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:14px 16px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;font-size:15px}.idea-row:hover{background:var(--surface2)}.idea-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.status{flex:none;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:10px;background:var(--surface2);color:var(--muted)}.status.ready{color:var(--accent)}.status.in_progress{color:#d89b2e}.status.done{color:var(--muted);opacity:.6}.status-select{flex:none;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:10px;background:var(--surface2);color:var(--muted);border:1px solid var(--border);cursor:pointer}.status-select.ready{color:var(--accent)}.status-select.in_progress{color:#d89b2e}.status-select.done{opacity:.65}.idea-head{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);flex:none}.idea-head .idea-title{flex:1}.back{background:none;border:none;color:var(--accent);cursor:pointer;font-size:14px;padding:0}.spec{white-space:pre-wrap;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px;font-size:13px;line-height:1.5;color:var(--muted);max-height:40vh;overflow-y:auto}@media(prefers-color-scheme:light){:root{--bg: #ffffff;--surface: #f3f4f6;--surface2: #e6e8ec;--text: #14161a;--muted: #5a616c;--border: #e0e2e7;--user-bubble: #d9fdd3}.bubble.user{color:#14161a}.bubble-text.md pre{background:#0d1117;color:#e6edf3}.bubble-text.md code{background:#00000014}.bubble-text.md pre code{color:inherit}}.crash{max-width:460px;margin:12vh auto;padding:24px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:12px}.crash h2{margin:0 0 8px}.crash-detail{text-align:left;white-space:pre-wrap;word-break:break-word;margin:14px 0;padding:10px 12px;background:var(--surface2);border-radius:8px;color:var(--error);font-size:13px;max-height:220px;overflow:auto}.crash button{padding:8px 18px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.new-msgs-hint{position:absolute;left:50%;transform:translate(-50%);bottom:88px;z-index:5;border:none;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;background:var(--accent, #3b5bdb);color:#fff;box-shadow:0 2px 8px #00000040}.table-scroll{position:relative}.table-scroll:before,.table-scroll:after{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .15s;font-size:20px;line-height:1;padding:2px 3px;border-radius:4px;color:var(--fg, #222);background:#7f7f7f38}.table-scroll:before{content:"9";left:1px}.table-scroll:after{content:"A";right:1px}.table-scroll.can-left:before{opacity:.85}.table-scroll.can-right:after{opacity:.85}.unread-sep{display:flex;align-items:center;gap:10px;margin:16px 0 6px}.unread-sep:before,.unread-sep:after{content:"";flex:1;height:1px;background:var(--accent, #3b5bdb);opacity:.45}.unread-sep span{color:var(--accent, #3b5bdb);font-size:12px;font-weight:600}.unread-badge{min-width:18px;padding:1px 6px;border-radius:9px;background:var(--accent, #3b5bdb);color:#fff;font-size:11px;font-weight:600;text-align:center}.sidebar-groups{border-bottom:1px solid var(--border);padding:6px 0 4px}.sidebar-groups-head{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.new-group-btn{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:6px;width:22px;height:22px;line-height:1;font-size:15px;cursor:pointer;padding:0}.new-group-btn:hover{background:var(--surface);border-color:var(--accent)}.group-row .group-icon{font-size:18px;width:18px;text-align:center;flex:none}.group-head .group-title-wrap{display:flex;flex-direction:column;gap:3px;overflow:hidden}.group-title-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-participants{display:flex;flex-wrap:wrap;gap:4px}.participant-chip{font-size:11px;padding:1px 7px;border-radius:10px;background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.participant-chip.human{border-color:var(--accent);color:var(--accent)}.group-sender{font-size:11px;color:var(--muted);margin:6px 0 -2px 2px;font-weight:500}.group-readby{font-size:10px;color:var(--muted);text-align:right;margin:-2px 2px 4px 0}.group-close-btn{flex:none;margin-left:auto;font-size:12px;padding:4px 12px;border-radius:8px;background:var(--surface2);color:var(--muted);border:1px solid var(--border);cursor:pointer}.group-close-btn:hover{color:#e5534b;border-color:#e5534b}.group-title-input{width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:14px;outline:none;margin:4px 0 10px}.group-title-input:focus{border-color:var(--accent)}.group-picker{max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.group-picker-head{padding:6px 12px;font-size:11px;text-transform:uppercase;color:var(--muted);background:var(--surface2)}.group-picker-row{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border)}.group-picker-row:last-child{border-bottom:none}.group-picker-row:hover{background:var(--surface2)}.group-picker-row.locked{opacity:.4;cursor:not-allowed}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px;align-items:center}.session-groups-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.session-groups-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.session-group-chip{font-size:12px;padding:3px 10px;border-radius:12px;background:var(--surface2);color:var(--text);border:1px solid var(--border);cursor:pointer}.session-group-chip:hover{border-color:var(--accent)}
