@huynle/hub 0.10.0 → 0.10.1
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.
- package/CHANGELOG.md +24 -0
- package/README.md +3 -1
- package/package.json +1 -1
- package/packages/claude-code/package.json +1 -1
- package/packages/cli/dist/hub-cli.js +9 -7
- package/packages/cli/package.json +1 -1
- package/packages/codex/package.json +1 -1
- package/packages/node/package.json +1 -1
- package/packages/preset/package.json +1 -1
- package/packages/protocol/package.json +1 -1
- package/packages/protocol/src/index.ts +13 -1
- package/packages/runtime-openshell/package.json +1 -1
- package/packages/runtime-sdk/package.json +1 -1
- package/packages/sdk/package.json +1 -1
- package/packages/spoke-sdk/package.json +1 -1
- package/src/central/http.ts +33 -4
- package/src/spoke/spoke.ts +19 -0
- package/web/dist/assets/{ArtifactPage-Bz992ZX6.js → ArtifactPage-CsPjam8D.js} +1 -1
- package/web/dist/assets/{ArtifactPane-BJZNixJC.js → ArtifactPane-B9weO8L6.js} +1 -1
- package/web/dist/assets/{ArtifactWorkbench-Dti3VP07.js → ArtifactWorkbench-DzKhMs3l.js} +1 -1
- package/web/dist/assets/{Diagram-B4HdUxw0.js → Diagram-CuRIffka.js} +1 -1
- package/web/dist/assets/{Library-CpzD2HDW.js → Library-rv5DGtrm.js} +2 -2
- package/web/dist/assets/{ProfilesDestination-DlQeogea.js → ProfilesDestination-DUuQ9jmd.js} +1 -1
- package/web/dist/assets/{TeamsPage-4xdWCaI-.js → TeamsPage-D_17MkvN.js} +1 -1
- package/web/dist/assets/{Watchtower-CpQdIRns.js → Watchtower-DlrNOJ7X.js} +2 -2
- package/web/dist/assets/{index-BS6lA6fN.js → index-bX8B6NLo.js} +6 -6
- package/web/dist/assets/{index-BC0O1gfR.css → index-rW6LKQj1.css} +1 -1
- package/web/dist/assets/{live-CVUFIdUX.js → live-BGLA-peO.js} +1 -1
- package/web/dist/assets/{renderer2d-IaJiloPi.js → renderer2d-DyANQ1WS.js} +1 -1
- package/web/dist/assets/{renderer3d-ZiD1uKGW.js → renderer3d-vYYKFAJq.js} +1 -1
- package/web/dist/assets/{safe-area-C7IAlkgY.js → safe-area-B2Bk__FK.js} +1 -1
- package/web/dist/index.html +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
.awb{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.av-page{height:100%}.awb.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.awb.resizing iframe{pointer-events:none}.awb-side{border-left:1px solid var(--line);background:var(--bg);flex-direction:column;flex:none;min-height:0;display:flex;position:relative}.awb-side[hidden]{display:none}.awb-side>.aai{flex:1}.awb-resize{z-index:2;cursor:col-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.awb-resize:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:3px}.awb-resize:hover:after,.awb-resize:focus-visible:after,.awb.resizing .awb-resize:after{background:var(--accent)}.awb-resize:focus-visible{outline:none}.awb-side.sheet{z-index:25;border:1px solid var(--line-2);height:min(78%,680px);box-shadow:0 -12px 40px var(--shadow);border-bottom:0;border-radius:16px 16px 0 0;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.awb-grab{background:var(--line-2);border-radius:2px;flex:none;width:36px;height:4px;margin:6px auto 0}.awb-scrim{z-index:24;background:color-mix(in srgb, var(--bg) 45%, transparent);position:absolute;inset:0}.awb-ai-toggle{border:1px solid var(--line-2);background:var(--raise);height:30px;color:var(--text);font:600 .75rem/1 var(--sans);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:5px;margin-left:4px;padding:0 10px 0 8px;display:inline-flex}.awb-ai-toggle .icon{color:var(--accent)}.awb-ai-toggle:hover{background:var(--raise-2)}.awb-ai-toggle[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 14%, var(--raise));border-color:color-mix(in srgb, var(--accent) 45%, var(--line-2))}.awb-ai-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.awb-badge{background:var(--accent);min-width:16px;height:16px;color:var(--accent-ink);border-radius:999px;place-items:center;padding:0 4px;font-size:.625rem;display:inline-grid}.awb.narrow .awb-ai-toggle{height:34px}.cmp-interactive{flex-direction:column;display:flex}.cmp-interactive .artifact-host{gap:0}.cmp-interactive .artifact-host-note{display:none}.cmp-interactive .artifact-host-status{padding:12px 16px}.cmp-interactive .artifact-host-frame{border:0;border-radius:0;min-height:360px}.cmp-disclose{border-top:1px solid var(--line);background:var(--side);color:var(--faint);align-items:flex-start;gap:8px;margin:0;padding:8px 14px;font-size:.75rem;display:flex}.cmp-disclose .icon{flex:none;width:14px;height:14px;margin-top:2px}.cmp-disclose strong{color:var(--muted);font-weight:600}.awb-keep-err{color:var(--err);font-size:.75rem}.cmp-consent{flex-direction:column;gap:10px;display:flex}.cmp-card{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--line));background:var(--raise);box-shadow:0 2px 8px var(--shadow);border-radius:14px;flex-direction:column;gap:8px;padding:10px 12px 12px;font-size:.8125rem;display:flex}.cmp-card-head{align-items:center;gap:8px;margin:0;display:flex}.cmp-card-icon{background:color-mix(in srgb, var(--accent) 12%, transparent);width:24px;height:24px;color:var(--accent);border-radius:6px;flex:none;place-items:center;display:inline-grid}.cmp-instruction{border-left:3px solid var(--accent);background:var(--side);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0 8px 8px 0;max-height:12em;margin:0;padding:6px 10px;font-family:inherit;font-size:.875rem;overflow:auto}.cmp-note{color:var(--muted);margin:0;font-size:.75rem}.cmp-note.err{color:var(--err)}.cmp-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cmp-card .aai-picker{flex:none}.cmp-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.cmp-done{color:var(--muted);align-items:flex-start;gap:6px;margin:0;font-size:.75rem;display:flex}.cmp-done .icon{width:14px;height:14px;color:var(--faint);flex:none;margin-top:2px}.cmp-quote{overflow-wrap:anywhere;font-style:italic}.cmp-page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cmp-start{flex-direction:column;gap:10px;display:flex}.cmp-start label{flex-direction:column;gap:2px;display:flex}.cmp-empty{flex-direction:column;gap:8px;padding:24px;display:flex}@media (max-width:640px){.cmp-actions .btn{min-height:40px}}.awb.pane .pane-tools{border-left:1px solid var(--line);align-items:center;margin-left:2px;padding-left:4px;display:inline-flex}.cmp-disclose.cmp-preview-skipped{display:block}.cmp-preview-skipped summary{cursor:pointer;color:var(--muted)}.cmp-preview-skipped ul{overflow-wrap:anywhere;margin:4px 0 0;padding-left:18px}.md .remote-image{max-width:100%;margin:6px 0;display:block}.remote-card{border:1px dashed var(--line-2);background:var(--raise-2);max-width:min(100%,460px);color:var(--text);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:inline-flex}.remote-card-head{flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.remote-card-head .icon{width:16px;height:16px;color:var(--muted);flex:none;align-self:center}.remote-card-domain{overflow-wrap:anywhere;font-size:1.15rem;font-weight:600}.remote-card-unicode{color:var(--muted);overflow-wrap:anywhere;font-size:.9rem}.remote-card-url{max-width:100%;color:var(--muted);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;display:block;overflow:hidden}.remote-card-url[aria-expanded=true]{white-space:normal;overflow-wrap:anywhere}.remote-card-alt{color:var(--faint);font-size:.8rem}.remote-card-alt:before{content:"🖼 "}.remote-card-actions{flex-wrap:wrap;gap:6px;display:flex}.remote-card-session{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.78rem;text-decoration:underline}.remote-card-off{color:var(--muted);font-size:.82rem}.media-allowlist{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.media-allowlist li{align-items:center;gap:8px;display:flex}.media-allowlist li .grow{overflow-wrap:anywhere}.media-allowlist-add{flex-wrap:wrap;gap:6px;display:flex}.media-allowlist-add input{flex:1;min-width:200px}.media-allowlist-error{color:var(--err)}.media-warning{color:var(--warn,var(--muted))}.md .md-artifact{width:-moz-fit-content;width:fit-content;max-width:100%;margin:6px 0;display:block}.md .md-artifact .md-media{margin:0}.md .md-artifact-link{color:var(--muted);margin-top:2px;font-size:.75rem;display:inline-block}.md .md-artifact-link:before{content:"↗ "}.md .link-cards{flex-direction:column;gap:8px;margin:4px 0 10px;display:flex}.link-card{border:1px solid var(--line-2);background:var(--raise-2);max-width:min(100%,520px);color:var(--text);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.md a.link-card-link,.link-card-link{min-width:0;color:inherit;flex-direction:column;gap:3px;text-decoration:none;display:flex}.md a.link-card-link:hover .link-card-title,.md a.link-card-link:focus-visible .link-card-title{text-decoration:underline}.link-card-site{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem}.link-card-title{color:var(--accent);overflow-wrap:anywhere;font-weight:600}.link-card-desc{color:var(--muted);overflow-wrap:anywhere;font-size:.86rem}.link-card .link-card-image{max-width:100%}.link-card .link-card-image img{border-radius:6px;max-height:220px}.link-card-loading,.link-card-note{color:var(--muted);font-size:.82rem}.link-card-failed{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.link-preview-btn{border:1px solid var(--line-2);width:20px;height:20px;color:var(--muted);vertical-align:middle;cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;margin-left:3px;padding:0;display:inline-flex}.link-preview-btn:hover,.link-preview-btn:focus-visible{color:var(--accent);border-color:var(--accent)}.link-preview-btn .icon{width:12px;height:12px}.ws-section .link-btn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.ws-list{margin:0;padding:0;list-style:none}.ws-item{margin:2px 0 6px}.ws-head{width:100%;min-height:30px;color:var(--text);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 8px;display:flex}.ws-head:hover{background:var(--raise-2)}.ws-head .icon{width:14px;height:14px;color:var(--muted);flex:none}.ws-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ws-goal{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 8px 2px 28px;font-size:.75rem;display:-webkit-box;overflow:hidden}.ws-panel{padding:2px 0 2px 8px}.ws-notice{min-height:0;color:var(--muted);margin:0 8px;font-size:.7188rem}.ws-notice:empty{display:none}.ws-tree{margin:0;padding:0;list-style:none}.ws-node{--ws-depth:0;padding-left:calc(var(--ws-depth) * 14px);border-radius:6px;outline:none;position:relative}.ws-node:focus-visible>.ws-row{box-shadow:0 0 0 2px var(--accent) inset}.ws-node.away .ws-member{color:var(--muted)}.ws-node.dragged{opacity:.5}.ws-node.drop-inside>.ws-row{background:var(--raise-2);box-shadow:0 0 0 1px var(--accent) inset}.ws-node.drop-before>.ws-row{box-shadow:0 -2px 0 var(--accent)}.ws-node.drop-after>.ws-row{box-shadow:0 2px 0 var(--accent)}.ws-node[draggable=true]>.ws-row{cursor:grab}.ws-row{border-radius:6px;align-items:center;gap:6px;min-height:28px;padding:0 2px 0 8px;display:flex}.ws-row:hover{background:var(--raise-2)}.ws-member{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:auto;font-size:.8125rem;text-decoration:none;overflow:hidden}.ws-meta{color:var(--faint);flex-wrap:wrap;align-items:center;gap:3px 4px;margin:0 8px 2px 30px;font-size:.6875rem;display:flex}.ws-badge{border:1px solid var(--line-2);color:var(--muted);white-space:nowrap;border-radius:6px;padding:2px 4px;font-size:.625rem;line-height:1}.ws-badge.master{color:var(--accent);border-color:var(--accent)}.ws-badge.offline{color:var(--err);border-color:var(--err)}.ws-keys{color:var(--faint);margin:0 8px 2px 30px;font-size:.6875rem}.ws-rel a{color:inherit}.ws-assignments{color:var(--muted);margin:0 8px 2px 30px;padding:0;font-size:.7188rem;list-style:none}.ws-assignment-status{color:var(--faint)}.ws-assignment.blocked .ws-assignment-status{color:var(--warn)}.ws-controls{color:var(--muted);margin:0 8px 4px 30px;font-size:.6875rem}.ws-controls summary{cursor:pointer;color:var(--faint)}.ws-controls p,.ws-controls ul{margin:4px 0}.ws-controls ul{padding-left:14px}.ws-root-drop{border:1px dashed var(--line-2);text-align:center;color:var(--muted);border-radius:6px;margin:4px 8px;padding:6px;font-size:.7188rem}.ws-root-drop.over{border-color:var(--accent);color:var(--accent)}.ws-keys{margin-left:8px}.feature-nav ul,.nav-rail-links ul{margin:0;padding:0;list-style:none}.nav-link .icon{flex:none}.nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-link.active{color:var(--text)}.nav-link.disabled{opacity:.5;cursor:default}.nav-link.disabled:hover{background:0 0}.side-sessions{flex-direction:column;flex:1;min-height:0;display:flex}.nav-rail{background:var(--side);border-right:1px solid var(--line);flex-direction:column;flex:none;align-items:center;gap:6px;width:48px;padding:9px 0;display:flex}.nav-rail-links ul{flex-direction:column;gap:2px;display:flex}.nav-rail .nav-link{justify-content:center;width:32px;height:32px;margin:0;padding:0}.feature-page{flex-direction:column;flex:1;min-height:0;display:flex}.feature-scroll{flex:1;min-height:0;overflow:auto}.feature-body{max-width:980px;margin:0 auto;padding:16px 20px 40px}.feature-note{color:var(--muted)}@media (max-width:760px){.feature-body{padding:12px 14px 40px}}.side-top-actions{align-items:center;gap:2px;display:flex}.concierge-btn{position:relative}.concierge-btn.on{background:var(--raise-2);color:var(--accent)}.concierge-btn.ind-off{color:var(--muted)}.concierge-btn.ind-running{color:var(--accent)}.concierge-ind{border:1px solid var(--side);pointer-events:none;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.concierge-ind.ind-off{background:var(--muted);opacity:.7}.concierge-ind.ind-busy{background:var(--warn)}.concierge-ind.ind-attention{background:var(--err);color:#fff;place-items:center;width:14px;height:14px;font-size:10px;font-weight:700;line-height:1;display:grid;top:1px;right:1px}.side-top{container:side-top/inline-size}.concierge-btn.labelled{align-items:center;gap:4px;width:auto;min-width:30px;padding-inline:6px;display:inline-flex}.concierge-btn-text{font-size:.8125rem;font-weight:500;display:none}@container side-top (width>=200px){.concierge-btn-text{display:inline}.concierge-btn.labelled .concierge-ind{left:16px;right:auto}.concierge-btn.labelled .concierge-ind.ind-attention{top:-1px;left:12px}}.concierge-panel{background:var(--bg);outline:none;flex-direction:column;min-height:0;display:flex}.concierge-panel.side{height:100%;width:var(--concierge-w,min(440px, 40vw));border-left:1px solid var(--line);min-width:0;box-shadow:-12px 0 32px var(--shadow);flex:none;position:relative}.concierge-panel.page{flex:1;width:100%}.concierge-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;min-height:max(48px,2.4rem);padding:8px 10px 8px 14px;display:flex}.concierge-head .title{margin:0;font-size:.9375rem;font-weight:600}.concierge-title{min-width:0}.concierge-status{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.concierge-mark{color:var(--accent);flex:none}.concierge-notice{border-radius:var(--r);border:1px solid color-mix(in srgb, var(--warn) 40%, var(--line));color:var(--warn);background:color-mix(in srgb, var(--warn) 8%, var(--bg));margin:8px 12px 0;padding:8px 10px;font-size:.8125rem}.concierge-notice.err{border-color:color-mix(in srgb, var(--err) 40%, var(--line));color:var(--err);background:color-mix(in srgb, var(--err) 7%, var(--bg))}.concierge-asked{flex-direction:column;gap:8px;margin-top:8px;padding:0 12px;display:flex}.concierge-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:8px 12px;overflow-y:auto}.concierge-scroll .transcript{max-width:none}.concierge-idle{flex-direction:column;flex:1;justify-content:flex-end;display:flex}.concierge-dock{border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));flex-direction:column;flex:none;gap:6px;display:flex}.concierge-idle .concierge-composer{margin:8px 12px calc(8px + env(safe-area-inset-bottom))}.concierge-composer{align-items:flex-end;gap:6px;display:flex}.concierge-composer textarea{resize:none;min-height:36px;max-height:200px;font:inherit;flex:1;line-height:1.4}.concierge-composer textarea:disabled{opacity:.6}.concierge-composer .btn.primary:disabled{background:var(--raise-2);color:var(--faint);border-color:var(--line);opacity:1;cursor:not-allowed}.concierge-voice.on{background:var(--accent);color:var(--accent-ink);border-radius:var(--r)}.armed-decision{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent);margin:8px 12px 0}.armed-question{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font-size:.9375rem}.armed-options{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.armed-options .btn{min-height:40px;padding:0 18px}.armed-hint{margin:4px 0 0}.armed-left{font-variant-numeric:tabular-nums}@media (max-width:760px){.concierge-head{padding-left:6px}.armed-options .btn{flex:1}}#concierge-quiet .row,#concierge-digests li.row{flex-wrap:wrap;align-items:center;gap:8px}#concierge-quiet .text-field{flex-direction:row;align-items:center;gap:6px}.digest-days{flex-wrap:wrap;flex:1;gap:4px 10px;display:flex}.digest-days .check{align-items:center;gap:3px;display:inline-flex}#concierge-watchlist input[type=number]{width:6em}.concierge-panel .decision.flash{animation:1.2s ease-out 2 concierge-flash}@keyframes concierge-flash{0%{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 60%, transparent)}to{box-shadow:0 0 #0000}}.concierge-panel .hub-update .fold-head{text-align:start;font-size:.8125rem}.concierge-panel .hub-msg-text a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.concierge-panel .hub-update .fold-body{white-space:pre-wrap;font-size:.8125rem}#concierge{padding-bottom:72px}#concierge .stack>label.text-field{flex-direction:column;align-items:stretch;gap:4px;display:flex}#concierge .stack>label.text-field>input:not([type=number]),#concierge .stack>label.text-field>textarea,#concierge .stack>label.text-field>select,#concierge-directory>input,#concierge-model>input{box-sizing:border-box;width:100%;max-width:44rem}#concierge-model [data-concierge-models-state]:empty{display:none}#concierge #concierge-time-zone>input{max-width:20rem}#concierge-quiet .text-field input:placeholder-shown{color:var(--muted)}.closed-decision{opacity:.92;margin:8px 12px 0}.closed-decision .decision-head{align-items:center;gap:6px;display:flex}.concierge-panel a[href^="/concierge#decision-"]{-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:2px 0;display:inline}.subscription-head{margin:.4rem 0 .2rem;font-weight:600}.subscription-list{margin:0 0 .4rem;padding:0;list-style:none}.subscription{align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.subscription-text{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.context-cards{flex-direction:column;gap:.6rem;display:flex}.context-card{border:1px solid var(--line,#7f7f7f40);border-radius:8px;padding:.5rem .6rem}.context-card.primary{border-color:var(--accent,#7f7f7f73)}.context-card[aria-busy=true]{opacity:.7}.context-card-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.context-card-title{text-transform:uppercase;letter-spacing:.03em;opacity:.75;font-size:.8rem;font-weight:600}.context-card-headline{overflow-wrap:anywhere;margin:.15rem 0;font-weight:600}.context-card-body{white-space:pre-line;overflow-wrap:anywhere;margin:.25rem 0}.context-card-fields{margin:.25rem 0}.context-card-fields dd{overflow-wrap:anywhere}.context-card-meta,.context-card-note{margin:.25rem 0 0}.prof-page{flex-direction:column;height:100%;min-height:0;display:flex}.prof-body{flex:1;min-height:0;display:flex}.prof-list{border-right:1px solid var(--line);flex-direction:column;flex:none;gap:8px;width:280px;padding:10px 8px;display:flex;overflow:auto}.prof-filter{gap:4px;display:flex}.prof-filter .btn[aria-pressed=true]{background:var(--raise-2);border-color:var(--line-2);font-weight:600}.prof-items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.prof-item{color:var(--text);border-radius:6px;flex-direction:column;gap:2px;padding:7px 9px;text-decoration:none;display:flex}.prof-item:hover{background:var(--raise-2)}.prof-item[aria-current=page]{background:var(--raise-2);box-shadow:0 0 0 1px var(--line-2) inset}.prof-item .prof-sub{color:var(--muted);font-size:.75rem}.prof-detail{flex:1;min-width:0;padding:16px 24px 48px;overflow:auto}.prof-detail h2{font:400 1.25rem var(--serif);margin:0}.prof-detail h3{color:var(--muted);margin:18px 0 6px;font-size:.8125rem;font-weight:500}.prof-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prof-tag{border:1px solid var(--line-2);color:var(--muted);border-radius:6px;padding:1px 6px;font-size:.6875rem}.prof-tag.archived{color:var(--warn);border-color:var(--warn)}.prof-note{color:var(--muted);margin:6px 0;font-size:.75rem}.prof-tabs{gap:4px;margin:12px 0 4px;display:flex}.prof-tabs .btn[aria-selected=true]{background:var(--raise-2);font-weight:600}.prof-editor{flex-direction:column;gap:10px;max-width:760px;display:flex}.prof-editor label{color:var(--muted);flex-direction:column;gap:4px;font-size:.7812rem;display:flex}.prof-editor textarea,.prof-editor input{color:var(--text);font:inherit;box-sizing:border-box;width:100%;font-size:.8125rem}.prof-editor textarea{font-family:var(--mono);resize:vertical;min-height:64px}.prof-part{border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.prof-part-head{align-items:flex-end;gap:6px;display:flex}.prof-part-head label{flex:1;min-width:0}.prof-preview{color:var(--muted);margin:0;font-size:.7188rem}.prof-preview.bad{color:var(--err)}.prof-history{flex-direction:column;gap:4px;max-width:760px;margin:0;padding:0;list-style:none;display:flex}.prof-history li{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;font-size:.8125rem;display:flex}.prof-history .mono{font-family:var(--mono);color:var(--faint);font-size:.7188rem}.prof-history pre{white-space:pre-wrap;background:var(--side);border-radius:6px;flex-basis:100%;max-height:240px;margin:4px 0 0;padding:6px 8px;font-size:.75rem;overflow:auto}.prof-detail .prof-back{display:none}.prof-filters{flex-wrap:wrap;gap:4px;display:flex}.prof-filters select{font:inherit;color:var(--text);max-width:100%;font-size:.75rem}.prof-item .prof-desc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.prof-chips{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.prof-use{background:var(--raise-2);color:var(--text);border-radius:9px;padding:1px 6px;font-size:.6875rem}.prof-use.unused{color:var(--faint);border:1px dashed var(--line-2);background:0 0}.prof-use.older{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent)}.prof-details{border:1px solid var(--line);border-radius:var(--r);flex-direction:column;align-items:flex-start;gap:8px;max-width:760px;margin:10px 0 4px;padding:8px 12px;display:flex}.prof-facts{grid-template-columns:max-content 1fr;gap:3px 14px;margin:0;font-size:.8125rem;display:grid}.prof-facts dt{color:var(--muted)}.prof-facts dd{overflow-wrap:anywhere;margin:0}.prof-details .prof-editor{width:100%}.prof-meta-row{align-items:center;gap:6px;display:flex}.prof-meta-row input{flex:1;min-width:0}.prof-usage{max-width:760px}.prof-uses{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.prof-uses li{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;font-size:.8125rem;display:flex}.prof-uses .mono{font-family:var(--mono);font-size:.7188rem}.prof-dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.prof-dot.on{background:var(--ok)}.prof-chip{color:var(--muted);border:1px solid var(--line);white-space:nowrap;cursor:pointer;text-overflow:ellipsis;background:0 0;border-radius:13px;align-items:center;gap:4px;max-width:260px;padding:2px 10px;font-size:.75rem;display:inline-flex;overflow:hidden}.prof-chip:hover{background:var(--raise-2)}.prof-chip.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.prof-chip.warn,.prof-chip.pending{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, var(--line))}.prof-chip.pending{border-style:dashed}.prof-chip.err{color:var(--err);border-color:color-mix(in srgb, var(--err) 45%, var(--line))}.prof-chip .prof-up{color:var(--accent);font-weight:600}.prof-dialog .dialog-body{flex-direction:column;gap:10px;display:flex}.prof-dialog h3{margin:4px 0;font-size:.8125rem;font-weight:600}.prof-dialog label{color:var(--muted);flex-direction:column;gap:4px;font-size:.7812rem;display:flex}.prof-dialog select,.prof-dialog input,.prof-dialog textarea{color:var(--text);font:inherit;font-size:.8125rem}.prof-guidance{flex-direction:column;gap:2px;margin:0;padding-left:18px;font-size:.8125rem;display:flex}.prof-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prof-status .prof-chip{cursor:default}.prof-upgrade{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.8125rem;display:flex}.prof-palette .dialog-body{flex-direction:column;gap:8px;display:flex}.prof-commands{flex-direction:column;gap:2px;max-height:46vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.prof-command{cursor:pointer;border-radius:6px;flex-direction:column;gap:1px;padding:6px 8px;display:flex}.prof-command[aria-selected=true]{background:var(--raise-2);box-shadow:0 0 0 1px var(--accent) inset}.prof-command .prof-sub{color:var(--muted);font-size:.75rem}.prof-secret{color:var(--muted);border-left:3px solid var(--warn);margin:0;padding:4px 8px;font-size:.75rem}@media (max-width:760px){.prof-list{border-right:0;flex:1;width:auto}.prof-body.has-detail .prof-list,.prof-body:not(.has-detail) .prof-detail{display:none}.prof-detail{padding:12px 14px 48px}.prof-detail .prof-back{margin-bottom:8px;display:inline-flex}.prof-chip{max-width:140px}}.prof-row-gap{margin-top:10px}.prof-fieldset{border:0;margin:0;padding:0}.pane-drop{z-index:8;outline:1px dashed color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:-4px;background:color-mix(in srgb, var(--bg,#000) 18%, transparent);border-radius:6px;min-width:0;min-height:0;position:relative}.pane-drop-area{pointer-events:none;background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:inset 0 0 0 2px var(--accent);border-radius:6px;transition:inset .12s ease-out;position:absolute}.pane-drop-area[data-zone=center]{inset:10%}.pane-drop-area[data-zone=left]{inset:0 50% 0 0}.pane-drop-area[data-zone=right]{inset:0 0 0 50%}.pane-drop-area[data-zone=top]{inset:0 0 50%}.pane-drop-area[data-zone=bottom]{inset:50% 0 0}.pane-drop[data-refused] .pane-drop-area{background:color-mix(in srgb, var(--warn) 18%, transparent);box-shadow:inset 0 0 0 2px var(--warn)}.pane-drop-hint{pointer-events:none;background:var(--raise-2);border:1px solid var(--line-2);box-shadow:0 6px 18px var(--shadow);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:90%;padding:4px 12px;font-size:.8125rem;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.pane-drop[data-refused] .pane-drop-hint{color:var(--warn)}.pane-drop-label{pointer-events:none;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;position:absolute;top:6px;left:8px;right:8px;overflow:hidden}.cmp-empty.pane-empty-drop{flex:1;position:relative}.cmp-empty .pane-drop{position:absolute;inset:8px}.pane-dock{z-index:25;background:color-mix(in srgb, var(--bg,#000) 55%, transparent);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pane-dock-card{background:var(--raise);border:1px solid var(--line-2);width:min(520px,90%);box-shadow:0 16px 48px var(--shadow);border-radius:12px;padding:14px}.pane-dock-title{white-space:nowrap;text-overflow:ellipsis;margin:0 0 10px;font-weight:500;overflow:hidden}.pane-dock-map{gap:6px;height:260px;display:grid}.pane-dock-pane{background:var(--raise-2)}.pane-dock-empty{justify-content:center;align-items:center;height:200px;display:flex}.pane-dock-empty .pane-drop-label{text-align:center;position:static}.pane-dock-note{margin:10px 0 0;font-size:.75rem}.pane-grip{width:24px;height:24px;color:var(--faint);cursor:grab;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.pane-grip:hover{color:var(--text);background:var(--raise-2)}.pane-grip:active{cursor:grabbing}.pane-grip .icon{width:14px;height:14px}.side-row-link[draggable=true],.lib-row[draggable=true]{-webkit-user-drag:element}.wt-drag{cursor:grab}.seg{border:1px solid var(--line);background:var(--side,transparent);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.seg button{width:30px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--raise-2);color:var(--text);box-shadow:0 0 0 1px var(--line-2)}.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.seg .icon{width:16px;height:16px}@media (prefers-reduced-motion:reduce){.pane-drop-area{transition:none}}.pane-grip .icon{stroke-width:3.2px}.sidechat-bar{border-bottom:1px solid var(--line);flex-direction:column;flex:none;gap:6px;padding:6px 12px;display:flex}.sidechat-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sidechat-tools{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.sidechat-note{margin:0;font-size:.8125rem}.sidechat-context{max-height:30vh;margin:0;padding-left:20px;font-size:.8125rem;overflow:auto}.sidechat-context-text{white-space:pre-wrap;overflow-wrap:anywhere}.sidechat-send{flex-direction:column;gap:6px;display:flex}.sidechat-problem{margin:0}:root{--bg:#f6f7f9;--side:#eef0f3;--raise:#fff;--raise-2:#e8ebef;--line:#d9dde3;--line-2:#c9ced6;--text:#22252a;--muted:#69707b;--faint:#9299a3;--accent:#0e7268;--accent-ink:#fff;--ok:#16834a;--warn:#9a5b08;--err:#b42318;--add:#16834a;--del:#b42318;--violet:#8954c7;--orange:#b96508;--blue:#2769b4;--mark:#22252a;--shadow:#1018281f;--serif:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--side-w:235px;--rail-w:260px;--col:680px;--r:8px;--font-scale:1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101214;--side:#171a1e;--raise:#1b1f24;--raise-2:#22272d;--line:#2d333b;--line-2:#3a424d;--text:#e7e5e0;--muted:#9ca3ad;--faint:#6f7782;--accent:#3ad3bf;--accent-ink:#04201c;--ok:#50d890;--warn:#efb851;--err:#ff8e82;--add:#50d890;--del:#ff8e82;--violet:#b68cff;--orange:#f2a340;--blue:#64a8ef;--mark:#e7e5e0;--shadow:#0006}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101214;--side:#171a1e;--raise:#1b1f24;--raise-2:#22272d;--line:#2d333b;--line-2:#3a424d;--text:#e7e5e0;--muted:#9ca3ad;--faint:#6f7782;--accent:#3ad3bf;--accent-ink:#04201c;--ok:#50d890;--warn:#efb851;--err:#ff8e82;--add:#50d890;--del:#ff8e82;--violet:#b68cff;--orange:#f2a340;--blue:#64a8ef;--mark:#e7e5e0;--shadow:#0006}}*{box-sizing:border-box}html{font-size:calc(100% * var(--font-scale,1));-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0}body{font:.875rem/1.5 var(--sans)}#root{height:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.7812rem}.mono,code,pre{font-family:var(--mono)}.display{font-family:var(--serif);letter-spacing:-.01em;font-weight:400}.grow{flex:1}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.pad{padding:12px 16px}.error{color:var(--err)}.ok{color:var(--ok)}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}kbd{font:.6875rem var(--mono);color:var(--faint);border:1px solid var(--line-2);border-radius:4px;padding:0 4px}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn{border-radius:var(--r);border:1px solid var(--line-2);background:var(--raise);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;min-height:32px;padding:0 12px;display:inline-flex}.btn:hover:not(:disabled){background:var(--raise-2)}.btn:disabled{opacity:.45;cursor:default}.btn.small{height:auto;min-height:26px;padding:0 9px;font-size:.7812rem}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, var(--text))}.btn.danger{color:var(--err)}.icon-btn{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--raise-2);color:var(--text)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn.small{width:24px;height:24px}.icon-btn.on,.icon-btn[aria-pressed=true]{color:var(--accent)}.icon-btn.recording{color:var(--err)}input[type=search],input[type=text],input[type=password],select,textarea{background:var(--raise);border:1px solid var(--line);border-radius:var(--r);min-height:32px;padding:6px 10px}input:focus,select:focus,textarea:focus{border-color:var(--line-2);box-shadow:0 0 0 1px var(--line-2);outline:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);min-height:26px;color:var(--muted);cursor:pointer;background:0 0;border-radius:13px;padding:0 10px;font-size:.7812rem}.chip[aria-pressed=true]{background:var(--raise-2);color:var(--text);border-color:var(--line-2)}.chip .count{color:var(--accent);margin-left:4px}.card{background:var(--raise);border:1px solid var(--line);border-radius:10px;padding:14px}.banner{border:1px solid var(--line);background:var(--side);border-radius:var(--r);justify-content:space-between;align-items:center;gap:12px;margin:8px 0;padding:8px 12px;display:flex}.banner.warn{border-color:color-mix(in srgb, var(--warn) 45%, var(--line));color:var(--warn);border-width:0 0 1px;border-radius:0;margin:0}.badge{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);border-radius:9px;place-items:center;padding:0 5px;font-size:.6875rem;font-weight:700;display:inline-grid}.badge-pill{border:1px solid var(--line-2);color:var(--muted);border-radius:8px;margin-left:6px;padding:1px 6px;font-size:.6875rem}.badge-pill.off{color:var(--err)}.badge-pill.warn{color:var(--warn);border-color:var(--warn)}.status{flex:none;place-items:center;width:14px;height:14px;display:inline-grid}.status-dot{background:var(--faint);border-radius:50%;width:7px;height:7px}.status.blocked .status-dot{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb, var(--warn) 14%, transparent)}.status.error .status-dot{background:var(--err)}.spinner{border:1.6px solid color-mix(in srgb, var(--accent) 27%, transparent);border-top-color:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}.spinner.small{width:10px;height:10px}@keyframes spin{to{transform:rotate(360deg)}}.unread-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px;margin-left:6px;display:inline-block}.online-dot{background:var(--faint);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.online-dot.on{background:var(--ok)}.voice-dot{background:var(--ok);vertical-align:middle;border-radius:50%;flex:none;width:8px;height:8px;margin-right:6px;animation:1.8s ease-in-out infinite voice-dot-pulse;display:inline-block}@keyframes voice-dot-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 55%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.voice-dot{animation:none}}.shell{height:100%;display:flex;overflow:hidden}.sidebar{width:var(--side-w);background:var(--side);border-right:1px solid var(--line);flex-direction:column;flex:none;min-height:0;display:flex}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.conn-banner{background:color-mix(in srgb, var(--warn) 16%, var(--bg));color:var(--warn);text-align:center;padding:3px;font-size:.7812rem}.side-top{justify-content:space-between;align-items:center;padding:10px 8px 6px 14px;display:flex}.brand{align-items:center;gap:8px;display:flex}.brand-mark{flex:none}.hub-mark{color:var(--mark);--mark-gap:var(--bg)}.hub-mark-gap{fill:var(--mark-gap)}.hub-mark-hub{fill:var(--accent)}.sidebar .hub-mark{--mark-gap:var(--side)}.brand-name{font-family:var(--serif);font-size:1.0625rem}.side-search{border:1px solid var(--line);border-radius:var(--r);color:var(--faint);background:var(--bg);align-items:center;gap:6px;margin:4px 10px;padding:0 8px;display:flex}.side-search input{width:100%;min-height:30px;box-shadow:none;background:0 0;border:0;padding:0}.side-new,.side-link{color:var(--text);border-radius:6px;align-items:center;gap:8px;margin:2px 8px;padding:6px 8px;display:flex}.side-new:hover,.side-link:hover,.side-link.active{background:var(--raise-2)}.side-link{color:var(--muted)}.side-head{color:var(--faint);justify-content:space-between;align-items:center;padding:10px 8px 0 16px;font-size:.75rem;display:flex}.side-scroll{flex:1;min-height:0;padding:0 6px 12px;overflow:auto}.side-section{margin-top:10px}.side-section-head{justify-content:space-between;align-items:center;height:24px;padding:0 4px 2px 10px;display:flex}.side-section-title{color:var(--faint);text-transform:none;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:.7188rem;overflow:hidden}.side-section.needs .side-section-title{color:var(--warn)}.side-section-head .icon-btn{opacity:0}.side-section-head:has(.side-section-toggle){padding-left:2px}.side-section-toggle{min-width:0;height:22px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:1;align-items:center;gap:4px;padding:0 6px 0 4px;display:flex}.side-section-toggle:hover{background:var(--raise-2)}.side-section-toggle:hover .side-section-title{color:var(--muted)}.side-section-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.side-section-caret{width:12px;height:12px;color:var(--faint);flex:none}.side-count{background:var(--raise-2);min-width:16px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;border-radius:8px;flex:none;padding:0 5px;font-size:.6562rem;line-height:16px}.side-count.needs{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--warn);font-weight:600}.side-section.needs .side-section-toggle .side-section-title{color:var(--warn)}.side-section:hover .side-section-head .icon-btn,.side-section-head .icon-btn:focus-visible{opacity:1}.side-list{margin:0;padding:0;list-style:none}.side-row{border-radius:6px;align-items:center;display:flex;position:relative}.side-row:hover,.side-row.active{background:var(--raise-2)}.side-row-link{min-width:0;color:var(--muted);flex:1;align-items:center;gap:8px;padding:5px 4px 5px 8px;display:flex}.side-row.active .side-row-link,.side-row.unread .side-row-link{color:var(--text)}.side-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.row-more{opacity:0;margin-right:2px}.side-row:hover .row-more,.side-row.active .row-more,.row-more[aria-expanded=true],.row-more:focus-visible{opacity:1}.side-empty{color:var(--faint);padding:12px;font-size:.7812rem}.side-foot{border-top:1px solid var(--line);padding:8px}.account{color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:6px;display:flex}.account:hover{background:var(--raise-2);color:var(--text)}.account-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.avatar{background:var(--raise-2);width:24px;height:24px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:600;display:inline-grid}.avatar.admin{box-shadow:0 0 0 1.5px var(--accent)}.avatar.large{width:40px;height:40px;font-size:1.0625rem}.menu{z-index:50;background:var(--raise);border:1px solid var(--line-2);min-width:200px;max-width:320px;box-shadow:0 12px 32px var(--shadow);border-radius:10px;padding:4px;position:fixed}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.menu-item:hover:not(:disabled){background:var(--raise-2)}.menu-item.danger{color:var(--err)}.menu-check{width:14px;color:var(--accent)}.menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.menu-hint{color:var(--faint);font-size:.75rem}.menu-section{color:var(--faint);padding:6px 8px 2px;font-size:.7188rem}.menu-sep{background:var(--line);height:1px;margin:4px 0}.mic-picker{width:280px}.level{background:var(--bg);border-radius:3px;height:6px;margin:8px;overflow:hidden}.level span{background:var(--ok);height:100%;transition:width 80ms linear;display:block}.dialog{background:var(--raise);color:var(--text);border:1px solid var(--line-2);border-radius:12px;width:min(520px,94vw);max-height:84vh;padding:0}.dialog::backdrop{background:#0009}.dialog-head{justify-content:space-between;align-items:center;padding:12px 14px 6px;display:flex}.dialog-head h2{margin:0;font-size:.9375rem;font-weight:600}.confirm-dialog{width:min(440px,94vw)}.confirm-dialog .dialog-head{padding-bottom:8px}.confirm-message{white-space:pre-line;overflow-wrap:anywhere;color:var(--muted);margin:0 0 14px;font-size:.8438rem}.btn.primary.danger{background:var(--err);color:var(--bg)}.btn.primary.danger:hover:not(:disabled){background:color-mix(in srgb, var(--err) 88%, var(--text))}@media (pointer:coarse){.confirm-dialog .dialog-actions .btn{min-width:44px;min-height:44px;padding-inline:16px}}.dialog-body{max-height:calc(84vh - 56px);padding:4px 14px 14px;overflow:auto}button.account{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.setup-machine{flex-direction:column;gap:12px;display:flex}.setup-machine input[type=radio],.setup-machine input[type=checkbox]{accent-color:var(--accent)}.setup-machine>p{margin:0}.sm-field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.sm-field legend,.sm-label{margin-bottom:6px;padding:0;font-size:.7812rem;font-weight:600}.sm-seg{background:var(--raise-2);border-radius:9px;align-self:flex-start;padding:2px;display:inline-flex}.sm-seg-item{min-height:28px;color:var(--muted);cursor:pointer;border-radius:7px;align-items:center;padding:0 12px;font-size:.7812rem;display:inline-flex;position:relative}.sm-seg-item input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.sm-seg-item.on{background:var(--raise);color:var(--text);box-shadow:0 1px 2px var(--shadow);font-weight:600}.sm-seg-item:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.sm-profiles{flex-direction:column;gap:4px;display:flex}.sm-profile{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;align-items:baseline;gap:8px;padding:6px 8px;display:flex}.sm-profile.on{border-color:var(--accent)}.sm-profile.disabled{opacity:.55;cursor:default}.sm-profile .grow{flex-direction:column;min-width:0;display:flex}.sm-profile .name{font-weight:600}.sm-root input{box-sizing:border-box;width:100%}.sm-activate .block{display:block}.sm-command-box{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);align-items:center;gap:8px;padding:8px;display:flex}.sm-command-box>p{flex:1;margin:0}.sm-command{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:1;min-width:0;font-size:.75rem;line-height:1.5}.sm-copy{flex:none}@media (pointer:coarse){.sm-seg-item,.sm-copy{min-height:44px}.sm-profile{padding:10px}}.add-app-body{gap:10px;display:grid}.add-app .qr{width:min(260px,70vw);height:auto;image-rendering:pixelated;border-radius:8px;margin:4px auto;display:block}.add-app-link{word-break:break-all;background:var(--bg);border:1px solid var(--line-2);-webkit-user-select:all;user-select:all;border-radius:6px;padding:6px 8px;font-size:.7188rem}.add-app-countdown{font-variant-numeric:tabular-nums}.add-app-expired{justify-items:center;gap:8px;padding:24px 0;display:grid}.picker-search{width:100%;margin-bottom:8px}.picker-list{max-height:55vh;margin:0;padding:0;list-style:none;overflow:auto}.picker-group{text-transform:none;padding:8px 8px 2px;font-weight:600}.picker-note{margin:0 0 6px}.picker-opt{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 8px;display:flex}.picker-opt:hover,.picker-opt.active{background:var(--raise-2)}.picker-opt[aria-selected=true] .po-name{color:var(--accent)}.po-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.po-mark{color:var(--accent);font-size:.75rem}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:60;background:var(--raise-2);border:1px solid var(--line-2);box-shadow:0 8px 24px var(--shadow);border-radius:10px;align-items:center;gap:10px;max-width:92vw;padding:8px 12px;display:flex;position:fixed;transform:translate(-50%)}.toast.err{border-color:#6a3036}.toast.warn{border-color:#5a4a2a}.topbar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;height:max(48px,2.4rem);padding:0 12px;display:flex}.topbar-title{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.topbar .title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;font-weight:500;overflow:hidden}.title-btn{all:unset;cursor:text;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;display:block;overflow:hidden}.title-btn:hover,.title-btn:focus-visible{box-shadow:0 0 0 1px var(--line-2)}input[type=text].rename-field{width:100%;min-width:0;min-height:26px;font:inherit;color:var(--text);flex:1;padding:2px 6px}.topbar input.rename-field.title{max-width:520px}.rename-wrap{vertical-align:middle;flex:1;align-items:center;gap:4px;width:100%;min-width:0;max-width:100%;display:inline-flex}.topbar .rename-wrap{max-width:560px}.auto-name-btn{flex:none;font-size:14px;line-height:1}.naming{white-space:nowrap;flex:none;align-items:center;gap:4px;margin-left:6px;font-weight:400;display:inline-flex}.chip-server{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:13px;align-items:center;gap:4px;max-width:420px;padding:2px 10px;font-size:.75rem;display:inline-flex;overflow:hidden}.chip-server .place-where{text-overflow:ellipsis;min-width:0;overflow:hidden}.session-place{color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;flex:none;align-items:center;gap:4px;padding:4px 12px;font-size:.75rem;display:flex;overflow:hidden}.session-place .place-machine{color:var(--text,inherit);font-weight:500}.session-place .place-where,.session-place .place-branch{text-overflow:ellipsis;min-width:0;overflow:hidden}.session-place .icon{flex:none;width:12px;height:12px;margin-left:4px}.chip-server .icon{width:12px;height:12px;margin-left:6px}.chip-evidence{color:var(--muted);border:1px dashed var(--line);white-space:nowrap;cursor:help;border-radius:13px;align-items:center;padding:2px 10px;font-size:.75rem;display:inline-flex}.chip-evidence.screen,.chip-evidence.unknown{color:var(--warn);border-color:#5a4a2a}.btn.changes{font-family:var(--mono)}.add{color:var(--add)}.del{color:var(--del)}.home-shell{flex-direction:column;height:100%;min-height:0;display:flex}.home-scroll{flex:1;overflow:auto}.home{max-width:1180px;margin:0 auto;padding:24px 28px 48px}.home-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.home-head h1{margin:0;font-size:1.75rem}.home-tools{gap:8px;margin:12px 0 8px;display:flex}.search{border:1px solid var(--line);border-radius:var(--r);background:var(--raise);color:var(--faint);flex:1;align-items:center;gap:8px;padding:0 10px;display:flex}.search input{width:100%;box-shadow:none;background:0 0;border:0}.count{margin:10px 0 4px;font-size:.75rem}.sessions-table{border-collapse:collapse;table-layout:fixed;width:100%}.sessions-table th{text-align:left;color:var(--faint);border-bottom:1px solid var(--line);padding:0;font-size:.75rem;font-weight:500}.th-btn{color:inherit;cursor:pointer;background:0 0;border:0;gap:4px;padding:8px 6px;display:inline-flex}.th-btn:hover{color:var(--text)}.sort-mark{color:var(--accent)}.sessions-table td{border-bottom:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;color:var(--muted);padding:7px 6px;overflow:hidden}.sessions-table tbody tr{cursor:pointer}.sessions-table tbody tr:hover{background:var(--side)}.sessions-table .col-title a{color:var(--text)}.sessions-table tr.unread .col-title a{font-weight:600}.col-status{width:64px}.col-pick{text-align:center;width:32px}.col-pick input{vertical-align:middle;cursor:pointer;margin:0}.home-tools .btn.small{min-height:32px}.bulk-bar{border:1px solid var(--line);border-radius:var(--r);background:var(--raise);align-items:center;gap:8px;margin:8px 0 0;padding:6px 10px;font-size:.8125rem;display:flex}.bulk-bar span{margin-right:auto}.archive-inactive{flex-direction:column;gap:12px;display:flex}.archive-inactive input[type=number]{background:var(--raise);border:1px solid var(--line);border-radius:var(--r);width:120px;min-height:32px;padding:6px 10px}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.col-title{width:30%}.col-project{width:16%}.col-server,.col-source{width:9%}.col-activity{width:10%}.col-actions{text-align:right;width:40px}.empty-cell{text-align:center;padding:24px!important}.home-list{margin:0;padding:0;list-style:none}.home-item{border-bottom:1px solid var(--line);align-items:center;display:flex}.home-item-link{flex:1;align-items:center;gap:10px;min-width:0;padding:10px 4px;display:flex}.home-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.home-item-title,.home-item-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-item.unread .home-item-title{font-weight:600}.home-item-meta{font-size:.7812rem}.offline-line{margin-top:10px}.empty{text-align:center;padding:48px 16px}.empty .display{margin:0 0 6px;font-size:1.375rem}.session-layout{height:100%;min-height:0;display:flex}.session-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.scroller{overflow-anchor:none;flex:1;min-height:0;overflow:auto}.history-sentinel{height:1px}.history-edge{text-align:center;justify-content:center;align-items:center;gap:8px;margin:16px 0 0;display:flex}.history-edge.error{color:var(--err)}.column{max-width:var(--col);margin:0 auto;padding:0 20px}.column.narrow{max-width:560px;padding-top:40px}.transcript{flex-direction:column;gap:14px;padding:24px 0 8px;display:flex}.msg.user{align-self:flex-end;align-items:flex-end;gap:6px;max-width:85%;display:flex}.user-body{flex-direction:column;align-items:flex-end;gap:6px;min-width:0;display:flex}.msg-images{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.media-box{vertical-align:top;background:var(--raise-2);border-radius:10px;max-width:100%;display:inline-block;position:relative;overflow:hidden}.media-box[data-state=tap]{background:0 0;aspect-ratio:auto!important;width:auto!important}.media-open{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.media-open img{max-width:100%;max-height:var(--media-max-h,220px);object-fit:contain;display:block}.media-box[style] .media-open img{width:100%;height:100%;max-height:none}.msg-image{border:1px solid var(--line-2);--media-max-h:220px;display:block}.msg-image .media-open img{max-width:min(220px,60vw)}.media-tap{border:1px dashed var(--line-2);background:var(--raise-2);min-height:40px;color:var(--muted);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:.8125rem;display:inline-flex}.media-tap .icon{flex:none;width:16px;height:16px}.media-strip{flex-wrap:wrap;align-items:flex-start;gap:6px;padding:2px 10px 8px;display:flex}.media-thumb{--media-max-h:72px;border:1px solid var(--line-2);border-radius:8px}.media-thumb .media-open img{max-width:160px}.media-more{border:1px solid var(--line-2);background:var(--raise-2);min-width:48px;height:72px;color:var(--muted);cursor:pointer;border-radius:8px}.md .md-media{--media-max-h:360px;border:1px solid var(--line-2);width:-moz-fit-content;width:fit-content;margin:6px 0;display:block}.md .md-media .media-open img{max-width:100%}.media-failed{white-space:normal;flex-wrap:wrap;row-gap:2px;max-width:100%}.media-failed-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.media-failed-reason{color:var(--faint)}.media-retry{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:0 6px}.file-chip{background:var(--raise-2);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:240px;padding:4px 10px;font-size:.7812rem;display:inline-flex;overflow:hidden}.file-chip .icon{flex:none;width:14px;height:14px}.pill{background:var(--raise-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;padding:8px 14px}.msg-note{text-align:right;overflow-wrap:anywhere;margin:0}.tick{color:var(--faint);font-size:.6875rem}.tick.heard{color:var(--ok)}.tick.failed{color:var(--err)}.tick.queued{color:var(--warn)}.user-body{position:relative}.msg-tools{z-index:2;background:var(--raise);border:1px solid var(--line-2);opacity:0;pointer-events:none;border-radius:8px;gap:2px;margin-top:2px;padding:2px;transition:opacity .12s;display:flex;position:absolute;top:100%;right:0;box-shadow:0 2px 8px #0000001f}.msg-tools .icon-btn{width:28px;height:28px}.msg-tools .icon-btn[aria-disabled=true]{opacity:.4;cursor:default}.msg.user:hover .msg-tools,.msg.user:focus-within .msg-tools,.msg.user.tools-open .msg-tools{opacity:1;pointer-events:auto}.msg-more{opacity:.35;align-self:center;width:26px;height:26px;display:inline-grid}.msg.user:hover .msg-more,.msg.user:focus-within .msg-more,.msg.user.tools-open .msg-more{opacity:1}@media (hover:none){.msg-more{opacity:1}.msg.user:hover:not(.tools-open):not(:focus-within) .msg-tools{opacity:0;pointer-events:none}}.revert-banner{background:var(--raise-2);border:1px solid var(--line-2);border-radius:10px;align-items:center;gap:8px;margin:0 0 8px;padding:6px 8px 6px 12px;font-size:.8125rem;display:flex}.revert-banner .icon{width:16px;height:16px;color:var(--muted);flex:none}.revert-banner .revert-text{flex:1;min-width:0}.hub-msg-delivery{color:var(--warn);font-size:.6875rem}.composer-unavailable{align-items:center;gap:10px;padding:10px 2px;display:flex}.composer-unavailable p{flex:1;margin:0}.msg.assistant{overflow-wrap:anywhere;line-height:1.6}.msg.assistant.live .md>:is(p,h3,h4,h5,h6):last-child:after,.msg.assistant.live .md>:is(ul,ol):last-child>li:last-child>p:last-child:after{content:"▍";color:var(--accent);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md{min-width:0}.md p{margin:0 0 .7em}.md h3,.md h4,.md h5,.md h6{letter-spacing:-.005em;color:var(--violet);margin:1.15em 0 .45em;font-weight:600;line-height:1.35}.md h3{border-bottom:1px solid var(--line);padding-bottom:.25em;font-size:1.14em}.md h4{font-size:1.05em}.md h5,.md h6{color:color-mix(in srgb, var(--violet) 72%, var(--muted));font-size:1em}.md ul,.md ol{margin:0 0 .7em;padding-left:1.5em}.md li{margin:.15em 0}.md li::marker{color:var(--orange)}.md li>p{margin:0}.md li>:is(ul,ol){margin:.15em 0 .2em}.md :is(ul,ol).loose>li{margin:.35em 0}.md :is(ul,ol).loose>li>p{margin:0 0 .5em}.md :is(ul,ol).loose>li>p:last-child{margin-bottom:0}.md li.task{list-style:none;position:relative}.md li.task>input[type=checkbox]{width:.95em;height:.95em;accent-color:var(--accent);margin:0;position:absolute;top:.3em;left:-1.35em}.md li.task>input:checked~p{color:var(--muted)}.md .inline-code{color:var(--ok);background:color-mix(in srgb, var(--accent) 9%, var(--raise-2));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));overflow-wrap:anywhere;border-radius:5px;padding:.05em .35em;font-size:.88em}.md a .inline-code{color:inherit}.md :is(th,td) .inline-code{white-space:nowrap;overflow-wrap:normal}.md strong{color:var(--orange);font-weight:600}.md del{color:var(--faint)}.md mark{background:color-mix(in srgb, var(--orange) 18%, transparent);color:var(--orange);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;padding:0 .15em}.md .md-image{color:var(--accent)}.md .md-image:before{content:"🖼 "}.md blockquote{border-left:3px solid var(--line-2);color:var(--muted);margin:0 0 .7em;padding:.15em 0 .15em .85em}.md blockquote>:last-child{margin-bottom:0}.md a{color:var(--ok);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--ok) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--ok) 40%, transparent);text-underline-offset:2px;overflow-wrap:anywhere}.md a:hover{text-decoration-color:currentColor}.md hr{border:0;border-top:1px solid var(--line);margin:1em 0}.md .table-wrap{border:1px solid var(--line);border-radius:var(--r);max-width:100%;margin:0 0 .8em;overflow-x:auto}.md table{border-collapse:collapse;min-width:100%;font-size:.93em;line-height:1.45}.md th,.md td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:normal;padding:.4em .75em}.md th{background:var(--side);color:var(--text);white-space:nowrap;font-weight:600}.md tbody tr:last-child td{border-bottom:0}.md tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--text) 3%, transparent)}.md th+th,.md td+td{border-left:1px solid var(--line)}.md .code-block{border:1px solid var(--line);border-radius:var(--r);background:var(--side);margin:0 0 .8em;overflow:hidden}.md .code-head{border-bottom:1px solid var(--line);color:var(--faint);align-items:center;gap:2px;padding:2px 4px 2px 10px;font-size:.8em;display:flex}.md .code-lang{font-family:var(--mono);text-transform:lowercase;flex:1}.md .code-btn{color:var(--muted);cursor:pointer;font-size:inherit;background:0 0;border:0;border-radius:5px;min-height:24px;padding:3px 8px}.md .code-btn:hover{background:var(--raise-2);color:var(--text)}.md .code-btn[aria-pressed=true]{color:var(--accent)}.md .code-head:has(.code-preview-err){flex-wrap:wrap}.md .code-btn.code-preview{color:var(--accent)}.md .code-btn.code-preview:disabled{cursor:progress;opacity:.7}.md .code-preview-err{color:var(--err);overflow-wrap:anywhere;padding:0 6px;font-size:.95em}.md pre.code{background:0 0;border:0;border-radius:0;margin:0;padding:.7em .9em;line-height:1.5;overflow:auto}.md .code-block.wrap pre.code{white-space:pre-wrap;overflow-wrap:anywhere}.md pre code{background:0 0;padding:0}.tok-comment{color:var(--faint);font-style:italic}.tok-string{color:var(--ok)}.tok-number{color:var(--orange)}.tok-keyword{color:var(--violet)}.tok-type,.tok-attr{color:var(--orange)}.tok-fn,.tok-meta{color:var(--blue)}.tok-prop,.tok-tag{color:var(--err)}.tok-add{color:var(--add);background:color-mix(in srgb, var(--add) 10%, transparent)}.tok-del{color:var(--del);background:color-mix(in srgb, var(--del) 10%, transparent)}pre.code{white-space:pre;font-size:.75rem}.fold-head{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:.8125rem;display:inline-flex}.fold-head:hover:not(:disabled){color:var(--text)}.fold-head:disabled{cursor:default}.fold-head .chev{width:13px;height:13px;transition:transform .15s}.fold-head[aria-expanded=true] .chev{transform:rotate(90deg)}.fold.has-failed .fold-head{color:#c9a0a4}.fold-body{border-left:1px solid var(--line);margin:6px 0 0 2px;padding-left:12px}.reasoning{color:var(--muted);white-space:pre-wrap;max-height:320px;font-size:.8125rem;overflow:auto}.reasoning.hidden-reasoning{font-style:italic}.tool-list{list-style:none}.tool-head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:3px 0;font-size:.8125rem;display:flex}.tool-mark{width:14px;color:var(--ok);font-size:.6875rem}.tool.failed .tool-mark{color:var(--err)}.tool-name{font-family:var(--mono);font-size:.7812rem}.tool-summary{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.7812rem;overflow:hidden}.tool-detail pre{background:var(--side);border:1px solid var(--line);border-radius:6px;max-height:360px;padding:8px;overflow:auto}.hub-msg{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);max-width:85%;padding:6px 10px}.hub-msg.out{align-self:flex-end}.hub-msg-head{color:var(--muted);align-items:center;gap:6px;margin-bottom:2px;font-size:.7812rem;display:flex}.hub-msg-mark{color:var(--accent)}.hub-msg-kind{font-family:var(--mono);text-transform:uppercase;font-size:.7188rem}.hub-msg-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hub-msg-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem}.hub-note .fold-body{color:var(--muted)}.subagent{border:1px solid var(--line);border-radius:var(--r);color:var(--muted);align-items:center;gap:8px;padding:8px 10px;display:flex}.subagent:hover{background:var(--side);color:var(--text)}.sub-mark{color:var(--accent);place-items:center;width:14px;display:inline-grid}.sub-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sub-label strong{color:var(--text);font-weight:500}.subagent .chev{width:14px;height:14px}.note{color:var(--muted);margin:6px 0;font-size:.7812rem}.note.err{color:var(--err)}.working-line{align-items:center;gap:8px;margin:10px 0;font-size:.8125rem;display:flex}.idle-line{margin:12px 0 20px}.empty-session{text-align:center;padding-top:18vh}.blocker{border-color:#5a4a2a;margin:12px 0}.blocker-head{color:var(--warn);margin:0 0 4px}.blocker-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 10px;font-size:.7812rem}.decisions{margin:12px 0}.decisions .section-title{color:var(--warn);margin:0 0 6px;font-size:.875rem}.decision{border-color:#5a4a2a;margin:12px 0}.decision.urgency-high{border-color:var(--err)}.decision.targeted{box-shadow:0 0 0 2px var(--accent)}.decision-question{font-size:.875rem}.decision-deadline{color:var(--warn);margin:0 0 8px}.decision-deadline.overdue{color:var(--err)}.decision .badge-pill.urgency.high{color:var(--err);border-color:var(--err)}.decision .badge-pill.recommended{color:var(--accent);border-color:var(--accent)}.decision .badge-pill.safe{color:var(--ok);border-color:var(--ok)}.decision .choice.recommended>span:first-of-type{font-weight:600}.decision-why{margin:6px 0}.decision-note,.decision textarea{width:100%;margin:6px 0}.decision-tier{margin:4px 0 8px}.decision .badge-pill.agent-request{color:var(--warn);border-color:var(--warn)}.escalation-details{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0 0 10px;display:grid}.escalation-details dt{color:var(--muted)}.escalation-details dd{overflow-wrap:anywhere;min-width:0;margin:0}.escalation-resource{margin:0 6px 2px 0;display:inline-block}.decision-details dd{white-space:pre-wrap}.decision-details .escalation-resource,.decision-prompt{white-space:pre-wrap;overflow-wrap:anywhere}.decision-prompt{margin:0}.decision-answer-field{display:block}.cut-note{color:var(--warn);margin:0 0 4px;display:block}.escalation-resource,.decision-answer-value{unicode-bidi:isolate}.decision-prompt,.blocker.permission .blocker-text{unicode-bidi:plaintext}.clamp-toggle{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0 2px;font-size:.75rem;text-decoration:underline;display:inline}.blocker-text+.clamp-toggle{margin:-8px 0 10px;display:block}.blocker-recommendation{color:var(--accent);margin:-4px 0 10px}.answered-by{margin:6px 0}.blocker .answered-by{margin:8px 0 0}.grant-row .grant-facts{grid-template-columns:max-content 1fr;gap:2px 12px;margin:4px 0 0;display:grid}.grant-row .grant-facts dt{color:var(--muted)}.grant-row .grant-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.grant-row.ended{opacity:.6}.badge-pill.active{color:var(--ok);border-color:var(--ok)}.grant-form{flex-direction:column;gap:12px;display:flex}.grant-form label.text-field{flex-direction:column;gap:4px;display:flex}.grant-form textarea,.grant-form input[type=text]{width:100%}.copy-field{flex-direction:column;gap:4px;display:flex}.copy-row{align-items:flex-start;gap:8px;display:flex}.copy-row>.btn{flex:none;min-height:32px}.copy-value{border:1px solid var(--line);border-radius:var(--r);background:var(--raise);white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all;flex:1;min-width:0;padding:6px 10px;font-size:.8125rem;line-height:1.45}.copy-value:focus{border-color:var(--line-2);box-shadow:0 0 0 1px var(--line-2);outline:none}.grant-verbs{border:0;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;display:flex}.audit-row .audit-result.ok{color:var(--ok)}.audit-row .audit-result.warn{color:var(--warn)}.audit-row .audit-result.err{color:var(--err)}.form-card fieldset{border:0;min-width:0;margin:0;padding:0}.form-card fieldset:disabled{opacity:.6}.form-field{flex-direction:column;gap:4px;margin:0 0 12px;display:flex}.field-title{font-weight:500}.field-desc{display:block}.choice-group{flex-direction:column;gap:4px;display:flex}.choice,.check{cursor:pointer;align-items:baseline;gap:8px;display:flex}.choice-group input[type=text],.form-field>input[type=text]{width:100%}.field-error{color:var(--err);margin:0}.dock{padding:8px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--bg) 18px);flex:none}.composer-box{border:1px solid var(--line-2);background:var(--raise);border-radius:14px;padding:10px 10px 6px 14px}.composer-box:focus-within{border-color:var(--line-2)}.composer textarea{resize:none;width:100%;min-height:24px;max-height:280px;box-shadow:none;background:0 0;border:0;padding:0;line-height:1.5}.composer.dragging .composer-box{border-color:var(--accent);border-style:dashed}.attachments{flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.attachment{border:1px solid var(--line-2);background:var(--raise-2);border-radius:10px;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative;overflow:hidden}.attachment img{object-fit:cover;width:100%;height:100%;display:block}.attachment-remove{color:#fff;cursor:pointer;background:#000000a6;border:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:flex;position:absolute;top:3px;right:3px}.attachment-remove .icon{width:13px;height:13px}.composer-actions{align-items:center;gap:4px;margin-top:4px;display:flex}.composer-meta{align-items:center;gap:6px;padding:6px 4px 0;display:flex}.composer-meta>.muted{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.composer-error{color:var(--err);margin:0 0 6px;font-size:.7812rem}.composer-hint{margin:0 0 6px}.btn.send{border-radius:8px;min-width:30px;height:30px;padding:0 9px}.btn.send.steer{padding:0 12px}.btn.stop{height:30px;color:var(--text)}.split{border:1px solid var(--line-2);border-radius:8px;height:30px;display:inline-flex;overflow:hidden}.split button{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.split button:hover:not(:disabled){background:var(--raise-2);color:var(--text)}.split button:disabled{opacity:.4;cursor:default}.split-main{width:32px}.split.on{border-color:var(--accent)}.split.on .split-main{background:var(--accent);color:var(--accent-ink)}.split.on .split-main:hover:not(:disabled){background:var(--accent);color:var(--accent-ink);filter:brightness(1.08)}.voice-pill{border:1px solid var(--accent);min-height:28px;color:var(--accent);border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:320px;padding:0 4px 0 8px;font-size:.75rem;display:inline-flex}.voice-pill .icon{flex:none;width:14px;height:14px}.voice-pill-link{color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;text-decoration:none;overflow:hidden}.voice-pill-link strong{color:var(--text);font-weight:500}.voice-pill .btn.small{height:22px;padding:0 8px}.voice-strip{justify-content:flex-end;padding:8px 12px 0;display:flex}.side-row.voice-here .side-title{color:var(--accent)}.voice-error{margin:0 0 8px}.split-chev{width:20px;border-left:1px solid var(--line-2)!important}.split-chev .icon{width:12px;height:12px}.model-chip{color:var(--faint);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:6px;max-width:220px;padding:2px 6px;font-size:.75rem;overflow:hidden}.model-chip:hover{background:var(--raise-2);color:var(--text)}.session-model{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;cursor:default;flex:0 auto;min-width:0;max-width:260px;padding:2px 6px;font-size:.75rem;overflow:hidden}.voice-bar{border:1px solid var(--line-2);background:var(--side);border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:6px 8px 6px 12px;display:flex}.voice-bar.paused{opacity:.8}.voice-bar.suspended{border-color:#5a4a2a;flex-wrap:wrap}.voice-bar.suspended .voice-state{color:var(--warn);white-space:normal;flex:1000 12em;min-width:0;max-width:none}.voice-bar.suspended .wave span{background:var(--warn)}.wave{align-items:center;gap:3px;height:22px;display:flex}.wave span{background:var(--accent);transform-origin:50%;border-radius:2px;width:3px;height:22px;transition:transform 80ms linear}.voice-bar.speaking .wave span{animation:.9s ease-in-out infinite talk}.voice-bar.speaking .wave span:nth-child(2){animation-delay:.15s}.voice-bar.speaking .wave span:nth-child(3){animation-delay:.3s}.voice-bar.speaking .wave span:nth-child(4){animation-delay:.45s}@keyframes talk{50%{transform:scaleY(.25)}}.voice-state{font-size:.8125rem}.voice-ignored{color:var(--faint);font-style:italic}.voice-turn{font-variant-numeric:tabular-nums}.voice-bar .chip.voice-front{cursor:default;min-height:0;padding:1px 8px;font-size:11px}.turn-advanced{margin-top:6px}.turn-knobs{flex-wrap:wrap;gap:10px;margin:6px 0;display:flex}.turn-knobs input{width:6.5em}.btn.end{color:var(--err)}.rail{width:var(--rail-w);border-left:1px solid var(--line);background:var(--bg);flex:none;padding:0 12px 24px;overflow:auto}.panel-handle{z-index:6;cursor:col-resize;touch-action:none;outline:none;flex:none;width:6px;margin:0 -3px;position:relative}.panel-handle:before{content:"";background:0 0;width:1px;transition:background .12s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.panel-handle:hover:before,.panel-handle.dragging:before,.panel-handle:focus-visible:before{background:var(--accent);width:2px}html.resizing,html.resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}html.resizing iframe{pointer-events:none}.workspace{flex-direction:column;flex:1;min-height:0;display:flex}.pane-grid{flex:1;min-height:0;display:grid}.pane{outline:none;flex-direction:column;min-width:0;min-height:0;display:flex;container-type:inline-size}.pane[hidden]{display:none}.pane>.session-layout{flex:1;height:auto;min-height:0}.workspace.ws-split .pane{box-shadow:inset 0 0 0 1px var(--line)}.workspace.ws-split .pane[data-focused]{box-shadow:inset 0 2px 0 var(--accent), inset 0 0 0 1px var(--line)}.pane:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)!important}.pane-bar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:6px;padding:4px 12px;display:flex}.pane-count{margin-left:auto;font-size:.75rem}.pane-tools{flex:none;gap:2px;display:inline-flex}@container (width<=720px){.pane .chip-server{display:none}}.icon-btn.flip svg{transform:rotate(180deg)}.pane-handle{width:auto;margin:0}.pane-handle[data-axis=rows]{cursor:row-resize}.pane-handle[data-axis=rows]:before{width:auto;height:1px;inset:50% 0 auto;transform:translateY(-50%)}.pane-handle[data-axis=rows]:hover:before,.pane-handle[data-axis=rows].dragging:before,.pane-handle[data-axis=rows]:focus-visible:before{width:auto;height:2px}html.resizing-rows,html.resizing-rows *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}.pane-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;flex:none;display:flex;overflow-x:auto}.pane-tab{border-bottom:2px solid #0000;flex:none;align-items:center;min-width:0;max-width:60%;padding-right:4px;display:flex}.pane-tab.selected{border-bottom-color:var(--accent)}.pane-tab [role=tab]{min-height:40px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:0 4px 0 12px;overflow:hidden}.pane-tab.selected [role=tab]{color:var(--text)}.rail-head{justify-content:space-between;align-items:center;height:48px;display:flex}.rail-title{color:var(--muted);font-size:.8125rem}.rail-card{border-top:1px solid var(--line);padding:12px 0}.rail-card h3{color:var(--faint);justify-content:space-between;margin:0 0 8px;font-size:.75rem;font-weight:500;display:flex}.kv{grid-template-columns:64px 1fr;gap:4px 8px;margin:0;font-size:.7812rem;display:grid}.kv dt{color:var(--faint)}.kv dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.kv dd.kv-path{align-items:center;gap:4px;display:flex}.kv-path .path-tail{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;flex:1;min-width:0;overflow:hidden}.kv-path .icon-btn{flex:none;width:22px;height:22px}.meter{background:var(--raise-2);border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.meter span{background:var(--accent);height:100%;display:block}.meter span.hot{background:var(--warn)}.mcp-list,.file-list{margin:0;padding:0;list-style:none}.mcp-list li{align-items:center;gap:8px;padding:2px 0;font-size:.7812rem;display:flex}.mcp-name{text-overflow:ellipsis;flex:1;overflow:hidden}.mcp-dot{background:var(--faint);border-radius:50%;width:6px;height:6px}.mcp-dot.connected{background:var(--ok)}.mcp-dot.failed,.mcp-dot.needs_auth{background:var(--err)}.mcp-dot.pending{background:var(--warn)}.diffstat{font-family:var(--mono);font-size:.75rem}.file{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;width:100%;padding:3px 4px;font-size:.7812rem;display:flex}.file:hover{background:var(--raise-2)}.file-status{font:600 .6562rem var(--mono);width:14px;color:var(--warn)}.file-status.added{color:var(--add)}.file-status.deleted{color:var(--del)}.file-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-family:var(--mono);direction:rtl;flex:1;overflow:hidden}.diff-panel{z-index:20;background:var(--side);border:1px solid var(--line-2);border-radius:12px;flex-direction:column;display:flex;position:absolute;inset:48px 12px 12px;box-shadow:0 16px 48px #000a}.diff-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 10px;display:flex}.diff-head select{min-width:0;font-family:var(--mono);flex:1;font-size:.7812rem}.wrap-toggle{align-items:center;gap:4px;display:inline-flex}.diff-body{flex:1;overflow:auto}table.diff{border-collapse:collapse;width:100%;font:.75rem/1.55 var(--mono)}table.diff td{vertical-align:top;padding:0 8px}table.diff .ln{width:1%;color:var(--faint);text-align:right;-webkit-user-select:none;user-select:none;white-space:nowrap}table.diff .code-line{white-space:pre}.diff-body.wrap table.diff .code-line{white-space:pre-wrap;overflow-wrap:anywhere}table.diff tr.add{background:#7fb68518}table.diff tr.del{background:#e06c7518}table.diff tr.hunk td{color:var(--faint);background:var(--raise);padding:3px 8px}table.diff .sign{color:var(--faint);margin-right:8px}.settings,.new-session{flex-direction:column;height:100%;min-height:0;display:flex}.settings-body{flex:1;gap:28px;padding:0 24px;display:flex;overflow:auto}.settings-nav{flex-direction:column;flex:none;align-self:flex-start;gap:2px;width:200px;padding-top:20px;display:flex;position:sticky;top:0}.settings-nav a{color:var(--muted);border-radius:6px;padding:6px 10px}.settings-nav a:hover{background:var(--raise-2);color:var(--text)}.settings-nav a[aria-current=page]{background:var(--raise-2);color:var(--text);box-shadow:inset 2px 0 0 var(--accent);font-weight:500}.settings-search{margin-bottom:10px}.settings-search input{width:100%}.settings-content{flex:1;min-width:0;max-width:720px;padding:12px 0 48px}.settings-page-title{font:400 1.5rem var(--serif);margin:10px 0 4px}.settings-section{border-bottom:1px solid var(--line);padding:16px 0;scroll-margin-top:8px}.settings-section:last-child{border-bottom:0}.settings-section .section-title{font:400 1.125rem var(--serif);color:var(--text);margin:0 0 10px}.settings-section h3{color:var(--muted);font-size:.8125rem;font-weight:500}.settings-footer{margin-top:24px}.settings-results,.settings-list{border:1px solid var(--line);border-radius:10px;margin:8px 0;padding:0;list-style:none}.settings-results li,.settings-list li{border-bottom:1px solid var(--line)}.settings-results li:last-child,.settings-list li:last-child{border-bottom:0}.settings-results a,.settings-list a{color:inherit;align-items:center;gap:10px;padding:10px 12px;display:flex}.settings-results a{flex-direction:column;align-items:flex-start;gap:2px}.settings-results a:hover,.settings-list a:hover{background:var(--raise-2)}.settings-list .grow{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-list .icon{color:var(--faint);flex:none}.settings-empty{padding:12px 0}.settings-hit{border-radius:6px;animation:2.4s ease-out settings-hit}@keyframes settings-hit{0%,40%{background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:0 0 0 2px var(--accent)}to{background:0 0;box-shadow:0 0 0 2px #0000}}.list{border:1px solid var(--line);border-radius:10px;margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.list li:last-child{border-bottom:0}.list li.disabled{opacity:.6}.name{font-weight:500}.switches{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.appearance-theme{justify-content:space-between;align-items:center;gap:12px;display:flex}.theme-toggle{border:1px solid var(--line);background:var(--raise-2);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.theme-choice{min-height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:.75rem;display:inline-flex}.theme-choice:hover{color:var(--text)}.theme-choice[aria-checked=true]{background:var(--raise);color:var(--text);box-shadow:0 1px 3px var(--shadow)}.switch{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.speed{align-items:center;gap:12px;display:flex}.speed input{accent-color:var(--accent);flex:1}.account-card{align-items:center;gap:12px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field label,.field-label{color:var(--muted);font-size:.7812rem}.field .row input{flex:1}.field-error{color:var(--err);margin:0;font-size:.75rem}.inherit{color:var(--faint);margin:0}.speech-card{flex-direction:column;gap:10px;display:flex}.speech-card legend{color:var(--muted);padding:0 6px}.key-summary{margin:0;font-size:.8125rem}.entry{flex-direction:column;gap:14px;max-width:440px;margin:0 auto;padding:12vh 20px 40px;display:flex}.brand-big{align-items:center;gap:12px;margin:0;font-size:1.875rem;display:flex}.pair-code{font-family:var(--mono);letter-spacing:.3em;font-size:1.25rem}.greeting{margin:0 0 18px;font-size:1.625rem}details.card summary{cursor:pointer;color:var(--muted)}.drawer-backdrop,.sheet-backdrop{z-index:30;background:#0009;position:fixed;inset:0}@media (max-width:760px){.shell.phone .sidebar{z-index:40;width:min(86vw,320px);padding-top:env(safe-area-inset-top);position:fixed;inset:0 auto 0 0;box-shadow:8px 0 32px #000a}.topbar{padding-top:env(safe-area-inset-top);height:calc(48px + env(safe-area-inset-top))}.home{padding:16px 14px 40px}.home-head h1{font-size:1.5rem}.column{padding:0 14px}.chip-server,.btn.changes{display:none}.rail{z-index:40;border:1px solid var(--line-2);width:auto;max-height:72vh;padding-bottom:calc(24px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #000a}.diff-panel{inset:calc(48px + env(safe-area-inset-top)) 0 0;border-radius:0}.settings-nav{display:none}.settings-body{padding:0 14px}.settings-page-title{display:none}.composer-meta .model-chip,.composer-meta .session-model{flex-shrink:0;max-width:38vw}.composer-meta .session-model .chip-key{display:none}.composer-meta>.muted{min-width:3em}.msg.user{max-width:92%}}.notify-status{border-radius:var(--r);border:1px solid var(--line);margin:8px 0;padding:8px 12px}.notify-status.warn{color:var(--warn);border-color:#5a4a2a}.notify-status.ok{color:var(--ok,inherit)}.notify-facts{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0 0 8px;display:grid}.notify-facts dd{margin:0}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.quiet-hours{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.notify-summary{margin:4px 0 8px}.notify-status-row{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:8px 0;display:flex}.notify-status-row .notify-status{flex:260px;margin:0}.notify-details summary{cursor:pointer;color:var(--muted)}.notify-details[open]{flex-basis:100%}.notify-details .notify-facts{margin:6px 0 0}.notify-group{border:1px solid var(--line);border-radius:10px;margin:8px 0 0}.notify-group>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 12px;list-style:none;display:flex}.notify-group>summary::-webkit-details-marker{display:none}.notify-group>summary:before{content:"▸";color:var(--faint);width:.8em}.notify-group[open]>summary:before{content:"▾"}#notifications .notify-group>summary h4{margin:0}.notify-group-summary{text-align:right;flex:1;min-width:0}.notify-group>.switches{padding:0 12px 8px}.notify-group h4,#notifications h4{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 0;font-size:.8125rem;font-weight:500}.notify-kind{flex-direction:column;gap:2px;min-width:0;display:flex}.notify-kind .small{line-height:1.35}.switch input[type=checkbox]{flex:none}.notify-test{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.notify-test select{max-width:60vw}p.small.warn{color:var(--warn)}p.small.err{color:var(--err,#e5484d)}p.small.ok{color:var(--ok,inherit)}.voice-bar{flex-wrap:wrap;container-type:inline-size}.voice-bar .voice-state{white-space:nowrap;text-overflow:ellipsis;flex:1000 1 0;min-width:0;max-width:max-content;overflow:hidden}.voice-hint{color:var(--muted,inherit);flex-basis:100%;order:3;margin:2px 0 0}@container (width<=540px){.voice-bar .grow{flex-basis:100%;order:1;height:0}.voice-bar .voice-front,.voice-bar .recording-indicator,.voice-bar .recording-note,.voice-bar .model-chip{order:2;margin-top:-10px}.voice-bar .icon-btn{margin-left:auto}}button.link{color:var(--accent,#fab283);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.tap-to-start{width:100%;margin-bottom:8px;padding:14px;font-size:1.05em;display:block}.new-column{max-width:720px;padding-top:12vh}.new-composer .composer-box{padding:14px 12px 8px 16px}.new-composer textarea{resize:none;width:100%;min-height:72px;color:inherit;font:inherit;background:0 0;border:0;outline:0;font-size:.9375rem}.icon-send{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-send:disabled{background:var(--raise-2);color:var(--faint);cursor:not-allowed}.env-meta{flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px;display:flex}.new-dir{overflow-wrap:anywhere;margin:6px 4px 0}.meta-chip{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;max-width:280px;padding:4px 8px;font-size:.7812rem;display:inline-flex}.meta-chip:hover:not(:disabled):not(.readonly){background:var(--raise-2);color:var(--text)}.meta-chip.readonly{cursor:default}.meta-chip .icon{flex:none;width:14px;height:14px}.meta-chip .online-dot{margin:0}.chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta-chip.folder-chip.unset{color:var(--text);box-shadow:inset 0 0 0 1px var(--line-2)}.meta-chip.folder-chip.unset.asked{color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.new-need-project{color:var(--warn);margin:6px 4px 0}.chip-caret{opacity:.6}.toggle-chip input{margin:0}.folder-menu{width:360px;max-width:calc(100vw - 16px);padding:6px}.folder-search{box-sizing:border-box;width:100%;margin-bottom:4px}.folder-list{max-height:50vh;overflow:auto}.folder-list .menu-hint{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.rail-card h3{align-items:center}.card-toggle{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.card-toggle:hover{color:var(--text)}.card-chevron{width:12px;height:12px;transition:transform .15s;transform:rotate(90deg)}.rail-card.collapsed .card-chevron{transform:rotate(0)}.rail-card.collapsed h3{margin-bottom:0}.new-column{box-sizing:border-box;width:100%}.menu-label{flex:1 0 auto;max-width:100%}.menu-hint{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.crumb{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:30%;font-size:.8125rem;text-decoration:none;display:inline-flex;overflow:hidden}.crumb:hover{color:var(--text)}.crumb-chev{width:12px;height:12px;transform:rotate(180deg)}.crumb-sep{margin:0 4px}.sync-note{z-index:30;pointer-events:none;background:var(--side);color:var(--muted,var(--faint));border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:.857rem;position:absolute;top:6px;left:50%;transform:translate(-50%)}.sync-note.updated{color:var(--accent)}.jobs-badge{background:var(--line);min-width:16px;height:16px;color:var(--text);border-radius:8px;flex:none;justify-content:center;align-items:center;margin-left:4px;padding:0 4px;font-size:.75rem;line-height:1;display:inline-flex}.terminal-wait{white-space:nowrap;flex:none;margin-left:4px;font-size:.75rem}.job-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.job{grid-template-columns:auto 1fr;align-items:center;column-gap:8px;display:grid}.job .muted{grid-column:2}.job-command{text-overflow:ellipsis;white-space:nowrap;font-size:.893rem;overflow:hidden}.job-dot{background:var(--faint);border-radius:50%;width:7px;height:7px}.job-dot.on{background:var(--accent)}.job-dot.bad{background:var(--warn)}.subagent-list{flex-direction:column;gap:2px;margin:0 -4px;padding:0;list-style:none;display:flex}.subagent-row{min-width:0;color:var(--text);border-radius:5px;align-items:center;gap:8px;padding:4px;text-decoration:none;display:flex}.subagent-row:hover{background:var(--raise-2)}.subagent-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.subagent-row .status{align-self:flex-start;margin-top:2px}.subagent-text{flex-direction:column;flex:1;min-width:0;display:flex}.subagent-title{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.subagent-text .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subagent-row.error .subagent-text .muted{color:var(--err)}.subagent-row.blocked .subagent-text .muted{color:var(--warn)}.subagent-row .chev{width:12px;height:12px;color:var(--faint);flex:none}.subagents-more{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;margin-top:4px;padding:2px 0}.subagents-more:hover{color:var(--text)}.subagents-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.retry-note{color:var(--warn);margin:0 0 6px}.activity-hint{border:1px solid var(--accent);border-radius:var(--r);background:color-mix(in srgb, var(--accent) 10%, transparent);margin:6px 0 10px;padding:8px 10px;font-size:.929rem}.scroller,.home-scroll{touch-action:pan-x pan-y}@media (pointer:coarse){input[type=search],input[type=text],input[type=password],input[type=number],select,textarea,.composer textarea,.new-composer textarea{font-size:max(16px,1rem)}}.banner.session-error{border-width:0 0 1px;border-color:color-mix(in srgb, var(--err) 45%, var(--line));background:color-mix(in srgb, var(--err) 10%, var(--bg));color:var(--text);border-radius:0;justify-content:flex-start;align-items:flex-start;margin:0}.session-error-mark,.turn-error-mark{color:var(--err);flex:none;font-weight:600;line-height:1.4}.session-error-body,.turn-error-body{flex-direction:column;gap:2px;min-width:0;display:flex}.session-error-head,.turn-error-head{color:var(--err);flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.session-error-status,.turn-error-status{border:1px solid;border-radius:999px;padding:0 6px;font-size:.75rem}.session-error-where{font-size:.8125rem}.session-error-dismiss{flex:none;margin-top:-4px;margin-bottom:-4px;margin-left:auto}.session-error-message,.turn-error-message{overflow-wrap:anywhere;white-space:pre-wrap;max-height:8em;font-size:.8125rem;overflow:auto}.msg.turn-error{border:1px solid color-mix(in srgb, var(--err) 45%, var(--line));border-radius:var(--r);background:color-mix(in srgb, var(--err) 8%, transparent);align-items:flex-start;gap:8px;padding:8px 12px;display:flex}.msg.turn-retry{color:var(--muted);overflow-wrap:anywhere;align-items:baseline;gap:8px;margin:6px 0;font-size:.8125rem;display:flex}.msg.turn-retry.waiting{color:var(--warn)}.turn-retry-mark{flex:none}.error-badge{background:var(--err);min-width:16px;height:16px;color:var(--bg);border-radius:8px;flex:none;justify-content:center;align-items:center;margin-left:4px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.col-now.error,.home-item-meta.error{color:var(--err)}.rail-error{color:var(--err);border:1px solid color-mix(in srgb, var(--err) 45%, var(--line));border-radius:var(--r);overflow-wrap:anywhere;margin:0 0 10px;padding:6px 10px}@media (max-width:760px){.banner.session-error{padding:8px 14px}.session-error-message{max-height:5.5em}}.recording-indicator{border:1px solid var(--err);min-height:22px;color:var(--err);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 8px;font-size:.75rem;font-weight:500;text-decoration:none;display:inline-flex}.recording-indicator:hover{background:color-mix(in srgb, var(--err) 10%, transparent)}.recording-indicator:focus-visible{outline:2px solid var(--err);outline-offset:2px}.recording-indicator.no-audio{border-style:dashed}.recording-dot{background:var(--err);border-radius:50%;flex:none;width:8px;height:8px}.recording-note{color:var(--warn);white-space:nowrap}.concierge-status .recording-indicator,.concierge-status .recording-note{vertical-align:middle;margin-left:6px}.recording-details{gap:4px;margin:6px 0 0;padding-left:18px;display:grid}.recording-fold{margin-top:12px}.recording-fold>summary h4{margin:0}.recording-fold-body{padding:0 12px 12px}.recording-head{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;display:flex}.recording-empty{margin:0}.recording-pane{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--r);background:color-mix(in srgb, var(--raise) 40%, transparent);max-height:min(50vh,420px);overflow-y:auto}.recording-pane:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recording-day-title{z-index:1;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--line);margin:0;padding:5px 10px;font-size:.7188rem;font-weight:500;position:sticky;top:0}.recording-list{margin:0;padding:0;list-style:none}.recording-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 10px;display:flex}.recording-day:last-child .recording-row:last-child{border-bottom:0}.recording-main{flex:1;gap:1px;min-width:0;display:grid}.recording-title{white-space:nowrap;align-items:baseline;gap:6px;min-width:0;display:flex}.recording-kind{flex:none;font-weight:600}.recording-kind:not(:last-child):after{content:" ·";color:var(--faint);font-weight:400}.recording-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.recording-meta{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recording-live{color:var(--err);flex:none}.recording-actions{flex:none;align-items:center;gap:6px;display:flex}.recording-segment{border-radius:var(--r);min-height:26px;padding:0 4px;font-size:.7812rem}.recording-menu{letter-spacing:.05em;justify-content:center;min-width:30px;font-size:1rem}.recording-more-page{margin:8px 10px}@media (max-width:760px){.recording-fold-body{padding:0 8px 8px}.recording-pane{max-height:60vh}.recording-row{flex-wrap:wrap;gap:4px 8px}.recording-row.has-play .recording-main{flex-basis:100%}.recording-meta{white-space:normal}.recording-actions{margin-left:auto}}@media (pointer:coarse){.recording-actions .btn.small,.recording-segment,.recording-head .btn.small{justify-content:center;min-width:40px;min-height:40px;padding-inline:12px}}.md .md-preview{border:1px solid var(--line);color:var(--accent);font:inherit;cursor:pointer;vertical-align:baseline;background:0 0;border-radius:6px;margin-left:4px;padding:0 6px;font-size:.85em;line-height:1.5}.md .md-preview:disabled{cursor:progress;opacity:.7}.md .md-preview-err{color:var(--err);overflow-wrap:anywhere;padding:0 4px;font-size:.9em}.dialog.grant-dialog{width:min(640px,94vw)}.grant-form .grant-field{flex-direction:column;gap:4px;min-width:0;display:flex}.combo{flex-direction:column;min-width:0;display:flex;position:relative}.grant-form .combo-input,.combo-input{width:100%}.combo-pop{z-index:30;border:1px solid var(--line);border-radius:var(--r);background:var(--raise);box-shadow:var(--shadow);position:absolute;top:calc(100% + 4px);left:0;right:0}.combo-pop.up{top:auto;bottom:calc(100% + 4px)}.combo .combo-list{max-height:264px;padding:4px;overflow:auto}.combo-section{display:block}.combo-group{text-transform:uppercase;letter-spacing:.04em;padding:6px 8px 2px;font-size:.7188rem}.combo-opt{align-items:flex-start}.combo-text{flex-direction:column;gap:1px;min-width:0;display:flex}.combo-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.combo-detail{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.combo-custom .combo-label{color:var(--accent)}.combo-dot{border:1px solid var(--faint);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.combo-dot.on{background:var(--ok);border-color:var(--ok)}.combo-empty{margin:0;padding:6px 12px 8px}.combo-problem{color:var(--err);margin:0}.pick-chips{flex-wrap:wrap;gap:6px;margin:0 0 6px;padding:0;list-style:none;display:flex}.pick-chip{border:1px solid var(--line-2);background:var(--raise-2);border-radius:10px;align-items:center;gap:8px;min-width:0;max-width:100%;padding:4px 4px 4px 10px;display:inline-flex}.pick-chip-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.pick-chip-label{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.pick-chip-detail{text-overflow:ellipsis;white-space:nowrap;font-size:.7188rem;overflow:hidden}.mono-chips .pick-chip-label{font-family:var(--mono)}.pick-chip-kind{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:6px;flex:none;padding:1px 6px;font-size:.6875rem;font-weight:600}.pick-chip-x{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;font-size:1rem;line-height:1}.pick-chip-x:hover,.pick-chip-x:focus-visible{background:var(--line);color:var(--text)}.holder-chip{margin:0}.holder-chip .pick-chip{border-radius:var(--r);width:100%;padding-block:6px}.holder-chip .pick-chip-text{flex:1}.grant-form .grant-verbs{border:0;min-width:0;margin:0;padding:0;display:block}.grant-verbs legend{margin-bottom:6px;padding:0}.verb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.verb-option{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;align-items:flex-start;gap:8px;padding:7px 10px;display:flex}.verb-option input{flex:none;margin-top:3px}.verb-option.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.verb-text{flex-direction:column;min-width:0;display:flex}.verb-name{font-weight:500}.verb-help{line-height:1.3}.grant-approve{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);flex-direction:column;gap:12px;min-width:0;margin:0;padding:10px 12px;display:flex}.grant-approve.idle{border-left-color:var(--warn)}.grant-approve>p{margin:0}.grant-limits{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 20px;display:grid}.expiry-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.expiry-row .chip{min-height:30px}.grant-form input.expiry-input{width:6em}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper .btn{justify-content:center;min-width:32px;min-height:32px;font-size:1rem}.stepper input[type=number]{text-align:center;background:var(--raise);border:1px solid var(--line);border-radius:var(--r);-moz-appearance:textfield;width:5.5em;min-height:32px;padding:6px 8px}.stepper input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media (max-width:560px){.verb-grid,.grant-limits{grid-template-columns:minmax(0,1fr)}.pick-chip-x{width:32px;height:32px}}.row-sub{text-overflow:ellipsis;white-space:nowrap;color:var(--faint);margin-top:1px;font-size:.75rem;display:block;overflow:hidden}.side-text{flex-direction:column;flex:1;min-width:0;display:flex}.side-sub{text-overflow:ellipsis;white-space:nowrap;color:var(--faint);font-size:.6875rem;line-height:1.25;overflow:hidden}.home-item-sub{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.sessions-table th.col-busy,.sessions-table td.col-busy{width:108px}.sessions-table .col-touched{width:112px}.sessions-table .col-title{width:22%}.sessions-table .col-now{width:16%}.sessions-table .col-project{width:11%}.sessions-table .col-server,.sessions-table .col-source{width:7%}.sessions-table .col-activity{width:84px}.activity-meter{display:block;overflow:visible}.activity-meter .meter-agent{fill:var(--muted);opacity:.7}.activity-meter .meter-human{fill:var(--accent)}.activity-meter .meter-base{fill:var(--line-2)}.waiting-since{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn);font-variant-numeric:tabular-nums;border-radius:8px;margin-right:6px;padding:0 5px;font-size:.6875rem;line-height:16px;display:inline-block}.side-row .waiting-since{margin:0}.chip-window{border:1px solid var(--line-2);background:var(--raise-2);min-height:26px;color:var(--text);border-radius:13px;padding:0 8px;font-size:.7812rem}.side-section.working .side-section-title{color:var(--text)}@media (max-width:720px){.sessions-table .col-busy{display:none}}
|
|
1
|
+
.awb{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.av-page{height:100%}.awb.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.awb.resizing iframe{pointer-events:none}.awb-side{border-left:1px solid var(--line);background:var(--bg);flex-direction:column;flex:none;min-height:0;display:flex;position:relative}.awb-side[hidden]{display:none}.awb-side>.aai{flex:1}.awb-resize{z-index:2;cursor:col-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.awb-resize:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:3px}.awb-resize:hover:after,.awb-resize:focus-visible:after,.awb.resizing .awb-resize:after{background:var(--accent)}.awb-resize:focus-visible{outline:none}.awb-side.sheet{z-index:25;border:1px solid var(--line-2);height:min(78%,680px);box-shadow:0 -12px 40px var(--shadow);border-bottom:0;border-radius:16px 16px 0 0;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.awb-grab{background:var(--line-2);border-radius:2px;flex:none;width:36px;height:4px;margin:6px auto 0}.awb-scrim{z-index:24;background:color-mix(in srgb, var(--bg) 45%, transparent);position:absolute;inset:0}.awb-ai-toggle{border:1px solid var(--line-2);background:var(--raise);height:30px;color:var(--text);font:600 .75rem/1 var(--sans);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:5px;margin-left:4px;padding:0 10px 0 8px;display:inline-flex}.awb-ai-toggle .icon{color:var(--accent)}.awb-ai-toggle:hover{background:var(--raise-2)}.awb-ai-toggle[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 14%, var(--raise));border-color:color-mix(in srgb, var(--accent) 45%, var(--line-2))}.awb-ai-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.awb-badge{background:var(--accent);min-width:16px;height:16px;color:var(--accent-ink);border-radius:999px;place-items:center;padding:0 4px;font-size:.625rem;display:inline-grid}.awb.narrow .awb-ai-toggle{height:34px}.cmp-interactive{flex-direction:column;display:flex}.cmp-interactive .artifact-host{gap:0}.cmp-interactive .artifact-host-note{display:none}.cmp-interactive .artifact-host-status{padding:12px 16px}.cmp-interactive .artifact-host-frame{border:0;border-radius:0;min-height:360px}.cmp-disclose{border-top:1px solid var(--line);background:var(--side);color:var(--faint);align-items:flex-start;gap:8px;margin:0;padding:8px 14px;font-size:.75rem;display:flex}.cmp-disclose .icon{flex:none;width:14px;height:14px;margin-top:2px}.cmp-disclose strong{color:var(--muted);font-weight:600}.awb-keep-err{color:var(--err);font-size:.75rem}.cmp-consent{flex-direction:column;gap:10px;display:flex}.cmp-card{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--line));background:var(--raise);box-shadow:0 2px 8px var(--shadow);border-radius:14px;flex-direction:column;gap:8px;padding:10px 12px 12px;font-size:.8125rem;display:flex}.cmp-card-head{align-items:center;gap:8px;margin:0;display:flex}.cmp-card-icon{background:color-mix(in srgb, var(--accent) 12%, transparent);width:24px;height:24px;color:var(--accent);border-radius:6px;flex:none;place-items:center;display:inline-grid}.cmp-instruction{border-left:3px solid var(--accent);background:var(--side);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0 8px 8px 0;max-height:12em;margin:0;padding:6px 10px;font-family:inherit;font-size:.875rem;overflow:auto}.cmp-note{color:var(--muted);margin:0;font-size:.75rem}.cmp-note.err{color:var(--err)}.cmp-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cmp-card .aai-picker{flex:none}.cmp-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.cmp-done{color:var(--muted);align-items:flex-start;gap:6px;margin:0;font-size:.75rem;display:flex}.cmp-done .icon{width:14px;height:14px;color:var(--faint);flex:none;margin-top:2px}.cmp-quote{overflow-wrap:anywhere;font-style:italic}.cmp-page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cmp-start{flex-direction:column;gap:10px;display:flex}.cmp-start label{flex-direction:column;gap:2px;display:flex}.cmp-empty{flex-direction:column;gap:8px;padding:24px;display:flex}@media (max-width:640px){.cmp-actions .btn{min-height:40px}}.awb.pane .pane-tools{border-left:1px solid var(--line);align-items:center;margin-left:2px;padding-left:4px;display:inline-flex}.cmp-disclose.cmp-preview-skipped{display:block}.cmp-preview-skipped summary{cursor:pointer;color:var(--muted)}.cmp-preview-skipped ul{overflow-wrap:anywhere;margin:4px 0 0;padding-left:18px}.md .remote-image{max-width:100%;margin:6px 0;display:block}.remote-card{border:1px dashed var(--line-2);background:var(--raise-2);max-width:min(100%,460px);color:var(--text);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:inline-flex}.remote-card-head{flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.remote-card-head .icon{width:16px;height:16px;color:var(--muted);flex:none;align-self:center}.remote-card-domain{overflow-wrap:anywhere;font-size:1.15rem;font-weight:600}.remote-card-unicode{color:var(--muted);overflow-wrap:anywhere;font-size:.9rem}.remote-card-url{max-width:100%;color:var(--muted);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;display:block;overflow:hidden}.remote-card-url[aria-expanded=true]{white-space:normal;overflow-wrap:anywhere}.remote-card-alt{color:var(--faint);font-size:.8rem}.remote-card-alt:before{content:"🖼 "}.remote-card-actions{flex-wrap:wrap;gap:6px;display:flex}.remote-card-session{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.78rem;text-decoration:underline}.remote-card-off{color:var(--muted);font-size:.82rem}.media-allowlist{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.media-allowlist li{align-items:center;gap:8px;display:flex}.media-allowlist li .grow{overflow-wrap:anywhere}.media-allowlist-add{flex-wrap:wrap;gap:6px;display:flex}.media-allowlist-add input{flex:1;min-width:200px}.media-allowlist-error{color:var(--err)}.media-warning{color:var(--warn,var(--muted))}.md .md-artifact{width:-moz-fit-content;width:fit-content;max-width:100%;margin:6px 0;display:block}.md .md-artifact .md-media{margin:0}.md .md-artifact-link{color:var(--muted);margin-top:2px;font-size:.75rem;display:inline-block}.md .md-artifact-link:before{content:"↗ "}.md .link-cards{flex-direction:column;gap:8px;margin:4px 0 10px;display:flex}.link-card{border:1px solid var(--line-2);background:var(--raise-2);max-width:min(100%,520px);color:var(--text);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.md a.link-card-link,.link-card-link{min-width:0;color:inherit;flex-direction:column;gap:3px;text-decoration:none;display:flex}.md a.link-card-link:hover .link-card-title,.md a.link-card-link:focus-visible .link-card-title{text-decoration:underline}.link-card-site{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem}.link-card-title{color:var(--accent);overflow-wrap:anywhere;font-weight:600}.link-card-desc{color:var(--muted);overflow-wrap:anywhere;font-size:.86rem}.link-card .link-card-image{max-width:100%}.link-card .link-card-image img{border-radius:6px;max-height:220px}.link-card-loading,.link-card-note{color:var(--muted);font-size:.82rem}.link-card-failed{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.link-preview-btn{border:1px solid var(--line-2);width:20px;height:20px;color:var(--muted);vertical-align:middle;cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;margin-left:3px;padding:0;display:inline-flex}.link-preview-btn:hover,.link-preview-btn:focus-visible{color:var(--accent);border-color:var(--accent)}.link-preview-btn .icon{width:12px;height:12px}.ws-section .link-btn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.ws-list{margin:0;padding:0;list-style:none}.ws-item{margin:2px 0 6px}.ws-head{width:100%;min-height:30px;color:var(--text);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 8px;display:flex}.ws-head:hover{background:var(--raise-2)}.ws-head .icon{width:14px;height:14px;color:var(--muted);flex:none}.ws-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ws-goal{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 8px 2px 28px;font-size:.75rem;display:-webkit-box;overflow:hidden}.ws-panel{padding:2px 0 2px 8px}.ws-notice{min-height:0;color:var(--muted);margin:0 8px;font-size:.7188rem}.ws-notice:empty{display:none}.ws-tree{margin:0;padding:0;list-style:none}.ws-node{--ws-depth:0;padding-left:calc(var(--ws-depth) * 14px);border-radius:6px;outline:none;position:relative}.ws-node:focus-visible>.ws-row{box-shadow:0 0 0 2px var(--accent) inset}.ws-node.away .ws-member{color:var(--muted)}.ws-node.dragged{opacity:.5}.ws-node.drop-inside>.ws-row{background:var(--raise-2);box-shadow:0 0 0 1px var(--accent) inset}.ws-node.drop-before>.ws-row{box-shadow:0 -2px 0 var(--accent)}.ws-node.drop-after>.ws-row{box-shadow:0 2px 0 var(--accent)}.ws-node[draggable=true]>.ws-row{cursor:grab}.ws-row{border-radius:6px;align-items:center;gap:6px;min-height:28px;padding:0 2px 0 8px;display:flex}.ws-row:hover{background:var(--raise-2)}.ws-member{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:auto;font-size:.8125rem;text-decoration:none;overflow:hidden}.ws-meta{color:var(--faint);flex-wrap:wrap;align-items:center;gap:3px 4px;margin:0 8px 2px 30px;font-size:.6875rem;display:flex}.ws-badge{border:1px solid var(--line-2);color:var(--muted);white-space:nowrap;border-radius:6px;padding:2px 4px;font-size:.625rem;line-height:1}.ws-badge.master{color:var(--accent);border-color:var(--accent)}.ws-badge.offline{color:var(--err);border-color:var(--err)}.ws-keys{color:var(--faint);margin:0 8px 2px 30px;font-size:.6875rem}.ws-rel a{color:inherit}.ws-assignments{color:var(--muted);margin:0 8px 2px 30px;padding:0;font-size:.7188rem;list-style:none}.ws-assignment-status{color:var(--faint)}.ws-assignment.blocked .ws-assignment-status{color:var(--warn)}.ws-controls{color:var(--muted);margin:0 8px 4px 30px;font-size:.6875rem}.ws-controls summary{cursor:pointer;color:var(--faint)}.ws-controls p,.ws-controls ul{margin:4px 0}.ws-controls ul{padding-left:14px}.ws-root-drop{border:1px dashed var(--line-2);text-align:center;color:var(--muted);border-radius:6px;margin:4px 8px;padding:6px;font-size:.7188rem}.ws-root-drop.over{border-color:var(--accent);color:var(--accent)}.ws-keys{margin-left:8px}.feature-nav ul,.nav-rail-links ul{margin:0;padding:0;list-style:none}.nav-link .icon{flex:none}.nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-link.active{color:var(--text)}.nav-link.disabled{opacity:.5;cursor:default}.nav-link.disabled:hover{background:0 0}.side-sessions{flex-direction:column;flex:1;min-height:0;display:flex}.nav-rail{background:var(--side);border-right:1px solid var(--line);flex-direction:column;flex:none;align-items:center;gap:6px;width:48px;padding:9px 0;display:flex}.nav-rail-links ul{flex-direction:column;gap:2px;display:flex}.nav-rail .nav-link{justify-content:center;width:32px;height:32px;margin:0;padding:0}.feature-page{flex-direction:column;flex:1;min-height:0;display:flex}.feature-scroll{flex:1;min-height:0;overflow:auto}.feature-body{max-width:980px;margin:0 auto;padding:16px 20px 40px}.feature-note{color:var(--muted)}@media (max-width:760px){.feature-body{padding:12px 14px 40px}}.side-top-actions{align-items:center;gap:2px;display:flex}.concierge-btn{position:relative}.concierge-btn.on{background:var(--raise-2);color:var(--accent)}.concierge-btn.ind-off{color:var(--muted)}.concierge-btn.ind-running{color:var(--accent)}.concierge-ind{border:1px solid var(--side);pointer-events:none;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.concierge-ind.ind-off{background:var(--muted);opacity:.7}.concierge-ind.ind-busy{background:var(--warn)}.concierge-ind.ind-attention{background:var(--err);color:#fff;place-items:center;width:14px;height:14px;font-size:10px;font-weight:700;line-height:1;display:grid;top:1px;right:1px}.side-top{container:side-top/inline-size}.concierge-btn.labelled{align-items:center;gap:4px;width:auto;min-width:30px;padding-inline:6px;display:inline-flex}.concierge-btn-text{font-size:.8125rem;font-weight:500;display:none}@container side-top (width>=200px){.concierge-btn-text{display:inline}.concierge-btn.labelled .concierge-ind{left:16px;right:auto}.concierge-btn.labelled .concierge-ind.ind-attention{top:-1px;left:12px}}.concierge-panel{background:var(--bg);outline:none;flex-direction:column;min-height:0;display:flex}.concierge-panel.side{height:100%;width:var(--concierge-w,min(440px, 40vw));border-left:1px solid var(--line);min-width:0;box-shadow:-12px 0 32px var(--shadow);flex:none;position:relative}.concierge-panel.page{flex:1;width:100%}.concierge-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;min-height:max(48px,2.4rem);padding:8px 10px 8px 14px;display:flex}.concierge-head .title{margin:0;font-size:.9375rem;font-weight:600}.concierge-title{min-width:0}.concierge-status{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.concierge-mark{color:var(--accent);flex:none}.concierge-notice{border-radius:var(--r);border:1px solid color-mix(in srgb, var(--warn) 40%, var(--line));color:var(--warn);background:color-mix(in srgb, var(--warn) 8%, var(--bg));margin:8px 12px 0;padding:8px 10px;font-size:.8125rem}.concierge-notice.err{border-color:color-mix(in srgb, var(--err) 40%, var(--line));color:var(--err);background:color-mix(in srgb, var(--err) 7%, var(--bg))}.concierge-asked{flex-direction:column;gap:8px;margin-top:8px;padding:0 12px;display:flex}.concierge-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:8px 12px;overflow-y:auto}.concierge-scroll .transcript{max-width:none}.concierge-idle{flex-direction:column;flex:1;justify-content:flex-end;display:flex}.concierge-dock{border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));flex-direction:column;flex:none;gap:6px;display:flex}.concierge-idle .concierge-composer{margin:8px 12px calc(8px + env(safe-area-inset-bottom))}.concierge-composer{align-items:flex-end;gap:6px;display:flex}.concierge-composer textarea{resize:none;min-height:36px;max-height:200px;font:inherit;flex:1;line-height:1.4}.concierge-composer textarea:disabled{opacity:.6}.concierge-composer .btn.primary:disabled{background:var(--raise-2);color:var(--faint);border-color:var(--line);opacity:1;cursor:not-allowed}.concierge-voice.on{background:var(--accent);color:var(--accent-ink);border-radius:var(--r)}.armed-decision{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent);margin:8px 12px 0}.armed-question{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font-size:.9375rem}.armed-options{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.armed-options .btn{min-height:40px;padding:0 18px}.armed-hint{margin:4px 0 0}.armed-left{font-variant-numeric:tabular-nums}@media (max-width:760px){.concierge-head{padding-left:6px}.armed-options .btn{flex:1}}#concierge-quiet .row,#concierge-digests li.row{flex-wrap:wrap;align-items:center;gap:8px}#concierge-quiet .text-field{flex-direction:row;align-items:center;gap:6px}.digest-days{flex-wrap:wrap;flex:1;gap:4px 10px;display:flex}.digest-days .check{align-items:center;gap:3px;display:inline-flex}#concierge-watchlist input[type=number]{width:6em}.concierge-panel .decision.flash{animation:1.2s ease-out 2 concierge-flash}@keyframes concierge-flash{0%{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 60%, transparent)}to{box-shadow:0 0 #0000}}.concierge-panel .hub-update .fold-head{text-align:start;font-size:.8125rem}.concierge-panel .hub-msg-text a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.concierge-panel .hub-update .fold-body{white-space:pre-wrap;font-size:.8125rem}#concierge{padding-bottom:72px}#concierge .stack>label.text-field{flex-direction:column;align-items:stretch;gap:4px;display:flex}#concierge .stack>label.text-field>input:not([type=number]),#concierge .stack>label.text-field>textarea,#concierge .stack>label.text-field>select,#concierge-directory>input,#concierge-model>input{box-sizing:border-box;width:100%;max-width:44rem}#concierge-model [data-concierge-models-state]:empty{display:none}#concierge #concierge-time-zone>input{max-width:20rem}#concierge-quiet .text-field input:placeholder-shown{color:var(--muted)}.closed-decision{opacity:.92;margin:8px 12px 0}.closed-decision .decision-head{align-items:center;gap:6px;display:flex}.concierge-panel a[href^="/concierge#decision-"]{-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:2px 0;display:inline}.subscription-head{margin:.4rem 0 .2rem;font-weight:600}.subscription-list{margin:0 0 .4rem;padding:0;list-style:none}.subscription{align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.subscription-text{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.context-cards{flex-direction:column;gap:.6rem;display:flex}.context-card{border:1px solid var(--line,#7f7f7f40);border-radius:8px;padding:.5rem .6rem}.context-card.primary{border-color:var(--accent,#7f7f7f73)}.context-card[aria-busy=true]{opacity:.7}.context-card-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.context-card-title{text-transform:uppercase;letter-spacing:.03em;opacity:.75;font-size:.8rem;font-weight:600}.context-card-headline{overflow-wrap:anywhere;margin:.15rem 0;font-weight:600}.context-card-body{white-space:pre-line;overflow-wrap:anywhere;margin:.25rem 0}.context-card-fields{margin:.25rem 0}.context-card-fields dd{overflow-wrap:anywhere}.context-card-meta,.context-card-note{margin:.25rem 0 0}.prof-page{flex-direction:column;height:100%;min-height:0;display:flex}.prof-body{flex:1;min-height:0;display:flex}.prof-list{border-right:1px solid var(--line);flex-direction:column;flex:none;gap:8px;width:280px;padding:10px 8px;display:flex;overflow:auto}.prof-filter{gap:4px;display:flex}.prof-filter .btn[aria-pressed=true]{background:var(--raise-2);border-color:var(--line-2);font-weight:600}.prof-items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.prof-item{color:var(--text);border-radius:6px;flex-direction:column;gap:2px;padding:7px 9px;text-decoration:none;display:flex}.prof-item:hover{background:var(--raise-2)}.prof-item[aria-current=page]{background:var(--raise-2);box-shadow:0 0 0 1px var(--line-2) inset}.prof-item .prof-sub{color:var(--muted);font-size:.75rem}.prof-detail{flex:1;min-width:0;padding:16px 24px 48px;overflow:auto}.prof-detail h2{font:400 1.25rem var(--serif);margin:0}.prof-detail h3{color:var(--muted);margin:18px 0 6px;font-size:.8125rem;font-weight:500}.prof-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prof-tag{border:1px solid var(--line-2);color:var(--muted);border-radius:6px;padding:1px 6px;font-size:.6875rem}.prof-tag.archived{color:var(--warn);border-color:var(--warn)}.prof-note{color:var(--muted);margin:6px 0;font-size:.75rem}.prof-tabs{gap:4px;margin:12px 0 4px;display:flex}.prof-tabs .btn[aria-selected=true]{background:var(--raise-2);font-weight:600}.prof-editor{flex-direction:column;gap:10px;max-width:760px;display:flex}.prof-editor label{color:var(--muted);flex-direction:column;gap:4px;font-size:.7812rem;display:flex}.prof-editor textarea,.prof-editor input{color:var(--text);font:inherit;box-sizing:border-box;width:100%;font-size:.8125rem}.prof-editor textarea{font-family:var(--mono);resize:vertical;min-height:64px}.prof-part{border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.prof-part-head{align-items:flex-end;gap:6px;display:flex}.prof-part-head label{flex:1;min-width:0}.prof-preview{color:var(--muted);margin:0;font-size:.7188rem}.prof-preview.bad{color:var(--err)}.prof-history{flex-direction:column;gap:4px;max-width:760px;margin:0;padding:0;list-style:none;display:flex}.prof-history li{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;font-size:.8125rem;display:flex}.prof-history .mono{font-family:var(--mono);color:var(--faint);font-size:.7188rem}.prof-history pre{white-space:pre-wrap;background:var(--side);border-radius:6px;flex-basis:100%;max-height:240px;margin:4px 0 0;padding:6px 8px;font-size:.75rem;overflow:auto}.prof-detail .prof-back{display:none}.prof-filters{flex-wrap:wrap;gap:4px;display:flex}.prof-filters select{font:inherit;color:var(--text);max-width:100%;font-size:.75rem}.prof-item .prof-desc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.prof-chips{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.prof-use{background:var(--raise-2);color:var(--text);border-radius:9px;padding:1px 6px;font-size:.6875rem}.prof-use.unused{color:var(--faint);border:1px dashed var(--line-2);background:0 0}.prof-use.older{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent)}.prof-details{border:1px solid var(--line);border-radius:var(--r);flex-direction:column;align-items:flex-start;gap:8px;max-width:760px;margin:10px 0 4px;padding:8px 12px;display:flex}.prof-facts{grid-template-columns:max-content 1fr;gap:3px 14px;margin:0;font-size:.8125rem;display:grid}.prof-facts dt{color:var(--muted)}.prof-facts dd{overflow-wrap:anywhere;margin:0}.prof-details .prof-editor{width:100%}.prof-meta-row{align-items:center;gap:6px;display:flex}.prof-meta-row input{flex:1;min-width:0}.prof-usage{max-width:760px}.prof-uses{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.prof-uses li{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;font-size:.8125rem;display:flex}.prof-uses .mono{font-family:var(--mono);font-size:.7188rem}.prof-dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.prof-dot.on{background:var(--ok)}.prof-chip{color:var(--muted);border:1px solid var(--line);white-space:nowrap;cursor:pointer;text-overflow:ellipsis;background:0 0;border-radius:13px;align-items:center;gap:4px;max-width:260px;padding:2px 10px;font-size:.75rem;display:inline-flex;overflow:hidden}.prof-chip:hover{background:var(--raise-2)}.prof-chip.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.prof-chip.warn,.prof-chip.pending{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, var(--line))}.prof-chip.pending{border-style:dashed}.prof-chip.err{color:var(--err);border-color:color-mix(in srgb, var(--err) 45%, var(--line))}.prof-chip .prof-up{color:var(--accent);font-weight:600}.prof-dialog .dialog-body{flex-direction:column;gap:10px;display:flex}.prof-dialog h3{margin:4px 0;font-size:.8125rem;font-weight:600}.prof-dialog label{color:var(--muted);flex-direction:column;gap:4px;font-size:.7812rem;display:flex}.prof-dialog select,.prof-dialog input,.prof-dialog textarea{color:var(--text);font:inherit;font-size:.8125rem}.prof-guidance{flex-direction:column;gap:2px;margin:0;padding-left:18px;font-size:.8125rem;display:flex}.prof-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prof-status .prof-chip{cursor:default}.prof-upgrade{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.8125rem;display:flex}.prof-palette .dialog-body{flex-direction:column;gap:8px;display:flex}.prof-commands{flex-direction:column;gap:2px;max-height:46vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.prof-command{cursor:pointer;border-radius:6px;flex-direction:column;gap:1px;padding:6px 8px;display:flex}.prof-command[aria-selected=true]{background:var(--raise-2);box-shadow:0 0 0 1px var(--accent) inset}.prof-command .prof-sub{color:var(--muted);font-size:.75rem}.prof-secret{color:var(--muted);border-left:3px solid var(--warn);margin:0;padding:4px 8px;font-size:.75rem}@media (max-width:760px){.prof-list{border-right:0;flex:1;width:auto}.prof-body.has-detail .prof-list,.prof-body:not(.has-detail) .prof-detail{display:none}.prof-detail{padding:12px 14px 48px}.prof-detail .prof-back{margin-bottom:8px;display:inline-flex}.prof-chip{max-width:140px}}.prof-row-gap{margin-top:10px}.prof-fieldset{border:0;margin:0;padding:0}.pane-drop{z-index:8;outline:1px dashed color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:-4px;background:color-mix(in srgb, var(--bg,#000) 18%, transparent);border-radius:6px;min-width:0;min-height:0;position:relative}.pane-drop-area{pointer-events:none;background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:inset 0 0 0 2px var(--accent);border-radius:6px;transition:inset .12s ease-out;position:absolute}.pane-drop-area[data-zone=center]{inset:10%}.pane-drop-area[data-zone=left]{inset:0 50% 0 0}.pane-drop-area[data-zone=right]{inset:0 0 0 50%}.pane-drop-area[data-zone=top]{inset:0 0 50%}.pane-drop-area[data-zone=bottom]{inset:50% 0 0}.pane-drop[data-refused] .pane-drop-area{background:color-mix(in srgb, var(--warn) 18%, transparent);box-shadow:inset 0 0 0 2px var(--warn)}.pane-drop-hint{pointer-events:none;background:var(--raise-2);border:1px solid var(--line-2);box-shadow:0 6px 18px var(--shadow);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:90%;padding:4px 12px;font-size:.8125rem;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.pane-drop[data-refused] .pane-drop-hint{color:var(--warn)}.pane-drop-label{pointer-events:none;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;position:absolute;top:6px;left:8px;right:8px;overflow:hidden}.cmp-empty.pane-empty-drop{flex:1;position:relative}.cmp-empty .pane-drop{position:absolute;inset:8px}.pane-dock{z-index:25;background:color-mix(in srgb, var(--bg,#000) 55%, transparent);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pane-dock-card{background:var(--raise);border:1px solid var(--line-2);width:min(520px,90%);box-shadow:0 16px 48px var(--shadow);border-radius:12px;padding:14px}.pane-dock-title{white-space:nowrap;text-overflow:ellipsis;margin:0 0 10px;font-weight:500;overflow:hidden}.pane-dock-map{gap:6px;height:260px;display:grid}.pane-dock-pane{background:var(--raise-2)}.pane-dock-empty{justify-content:center;align-items:center;height:200px;display:flex}.pane-dock-empty .pane-drop-label{text-align:center;position:static}.pane-dock-note{margin:10px 0 0;font-size:.75rem}.pane-grip{width:24px;height:24px;color:var(--faint);cursor:grab;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.pane-grip:hover{color:var(--text);background:var(--raise-2)}.pane-grip:active{cursor:grabbing}.pane-grip .icon{width:14px;height:14px}.side-row-link[draggable=true],.lib-row[draggable=true]{-webkit-user-drag:element}.wt-drag{cursor:grab}.seg{border:1px solid var(--line);background:var(--side,transparent);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.seg button{width:30px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--raise-2);color:var(--text);box-shadow:0 0 0 1px var(--line-2)}.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.seg .icon{width:16px;height:16px}@media (prefers-reduced-motion:reduce){.pane-drop-area{transition:none}}.pane-grip .icon{stroke-width:3.2px}.sidechat-bar{border-bottom:1px solid var(--line);flex-direction:column;flex:none;gap:6px;padding:6px 12px;display:flex}.sidechat-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sidechat-tools{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.sidechat-note{margin:0;font-size:.8125rem}.sidechat-context{max-height:30vh;margin:0;padding-left:20px;font-size:.8125rem;overflow:auto}.sidechat-context-text{white-space:pre-wrap;overflow-wrap:anywhere}.sidechat-send{flex-direction:column;gap:6px;display:flex}.sidechat-problem{margin:0}:root{--bg:#f6f7f9;--side:#eef0f3;--raise:#fff;--raise-2:#e8ebef;--line:#d9dde3;--line-2:#c9ced6;--text:#22252a;--muted:#69707b;--faint:#9299a3;--accent:#0e7268;--accent-ink:#fff;--ok:#16834a;--warn:#9a5b08;--err:#b42318;--add:#16834a;--del:#b42318;--violet:#8954c7;--orange:#b96508;--blue:#2769b4;--mark:#22252a;--shadow:#1018281f;--serif:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--side-w:235px;--rail-w:260px;--col:680px;--r:8px;--font-scale:1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101214;--side:#171a1e;--raise:#1b1f24;--raise-2:#22272d;--line:#2d333b;--line-2:#3a424d;--text:#e7e5e0;--muted:#9ca3ad;--faint:#6f7782;--accent:#3ad3bf;--accent-ink:#04201c;--ok:#50d890;--warn:#efb851;--err:#ff8e82;--add:#50d890;--del:#ff8e82;--violet:#b68cff;--orange:#f2a340;--blue:#64a8ef;--mark:#e7e5e0;--shadow:#0006}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101214;--side:#171a1e;--raise:#1b1f24;--raise-2:#22272d;--line:#2d333b;--line-2:#3a424d;--text:#e7e5e0;--muted:#9ca3ad;--faint:#6f7782;--accent:#3ad3bf;--accent-ink:#04201c;--ok:#50d890;--warn:#efb851;--err:#ff8e82;--add:#50d890;--del:#ff8e82;--violet:#b68cff;--orange:#f2a340;--blue:#64a8ef;--mark:#e7e5e0;--shadow:#0006}}*{box-sizing:border-box}html{font-size:calc(100% * var(--font-scale,1));-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0}body{font:.875rem/1.5 var(--sans)}#root{height:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.7812rem}.mono,code,pre{font-family:var(--mono)}.display{font-family:var(--serif);letter-spacing:-.01em;font-weight:400}.grow{flex:1}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.pad{padding:12px 16px}.error{color:var(--err)}.ok{color:var(--ok)}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}kbd{font:.6875rem var(--mono);color:var(--faint);border:1px solid var(--line-2);border-radius:4px;padding:0 4px}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn{border-radius:var(--r);border:1px solid var(--line-2);background:var(--raise);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;min-height:32px;padding:0 12px;display:inline-flex}.btn:hover:not(:disabled){background:var(--raise-2)}.btn:disabled{opacity:.45;cursor:default}.btn.small{height:auto;min-height:26px;padding:0 9px;font-size:.7812rem}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, var(--text))}.btn.danger{color:var(--err)}.icon-btn{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--raise-2);color:var(--text)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn.small{width:24px;height:24px}.icon-btn.on,.icon-btn[aria-pressed=true]{color:var(--accent)}.icon-btn.recording{color:var(--err)}input[type=search],input[type=text],input[type=password],select,textarea{background:var(--raise);border:1px solid var(--line);border-radius:var(--r);min-height:32px;padding:6px 10px}input:focus,select:focus,textarea:focus{border-color:var(--line-2);box-shadow:0 0 0 1px var(--line-2);outline:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);min-height:26px;color:var(--muted);cursor:pointer;background:0 0;border-radius:13px;padding:0 10px;font-size:.7812rem}.chip[aria-pressed=true]{background:var(--raise-2);color:var(--text);border-color:var(--line-2)}.chip .count{color:var(--accent);margin-left:4px}.card{background:var(--raise);border:1px solid var(--line);border-radius:10px;padding:14px}.banner{border:1px solid var(--line);background:var(--side);border-radius:var(--r);justify-content:space-between;align-items:center;gap:12px;margin:8px 0;padding:8px 12px;display:flex}.banner.warn{border-color:color-mix(in srgb, var(--warn) 45%, var(--line));color:var(--warn);border-width:0 0 1px;border-radius:0;margin:0}.badge{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);border-radius:9px;place-items:center;padding:0 5px;font-size:.6875rem;font-weight:700;display:inline-grid}.badge-pill{border:1px solid var(--line-2);color:var(--muted);border-radius:8px;margin-left:6px;padding:1px 6px;font-size:.6875rem}.badge-pill.off{color:var(--err)}.badge-pill.warn{color:var(--warn);border-color:var(--warn)}.status{flex:none;place-items:center;width:14px;height:14px;display:inline-grid}.status-dot{background:var(--faint);border-radius:50%;width:7px;height:7px}.status.blocked .status-dot{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb, var(--warn) 14%, transparent)}.status.error .status-dot{background:var(--err)}.spinner{border:1.6px solid color-mix(in srgb, var(--accent) 27%, transparent);border-top-color:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}.spinner.small{width:10px;height:10px}@keyframes spin{to{transform:rotate(360deg)}}.unread-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px;margin-left:6px;display:inline-block}.online-dot{background:var(--faint);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.online-dot.on{background:var(--ok)}.voice-dot{background:var(--ok);vertical-align:middle;border-radius:50%;flex:none;width:8px;height:8px;margin-right:6px;animation:1.8s ease-in-out infinite voice-dot-pulse;display:inline-block}@keyframes voice-dot-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 55%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.voice-dot{animation:none}}.shell{height:100%;display:flex;overflow:hidden}.sidebar{width:var(--side-w);background:var(--side);border-right:1px solid var(--line);flex-direction:column;flex:none;min-height:0;display:flex}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.conn-banner{background:color-mix(in srgb, var(--warn) 16%, var(--bg));color:var(--warn);text-align:center;padding:3px;font-size:.7812rem}.side-top{justify-content:space-between;align-items:center;padding:10px 8px 6px 14px;display:flex}.brand{align-items:center;gap:8px;display:flex}.brand-mark{flex:none}.hub-mark{color:var(--mark);--mark-gap:var(--bg)}.hub-mark-gap{fill:var(--mark-gap)}.hub-mark-hub{fill:var(--accent)}.sidebar .hub-mark{--mark-gap:var(--side)}.brand-name{font-family:var(--serif);font-size:1.0625rem}.side-search{border:1px solid var(--line);border-radius:var(--r);color:var(--faint);background:var(--bg);align-items:center;gap:6px;margin:4px 10px;padding:0 8px;display:flex}.side-search input{width:100%;min-height:30px;box-shadow:none;background:0 0;border:0;padding:0}.side-new,.side-link{color:var(--text);border-radius:6px;align-items:center;gap:8px;margin:2px 8px;padding:6px 8px;display:flex}.side-new:hover,.side-link:hover,.side-link.active{background:var(--raise-2)}.side-link{color:var(--muted)}.side-head{color:var(--faint);justify-content:space-between;align-items:center;padding:10px 8px 0 16px;font-size:.75rem;display:flex}.side-scroll{flex:1;min-height:0;padding:0 6px 12px;overflow:auto}.side-section{margin-top:10px}.side-section-head{justify-content:space-between;align-items:center;height:24px;padding:0 4px 2px 10px;display:flex}.side-section-title{color:var(--faint);text-transform:none;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:.7188rem;overflow:hidden}.side-section.needs .side-section-title{color:var(--warn)}.side-section-head .icon-btn{opacity:0}.side-section-head:has(.side-section-toggle){padding-left:2px}.side-section-toggle{min-width:0;height:22px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:1;align-items:center;gap:4px;padding:0 6px 0 4px;display:flex}.side-section-toggle:hover{background:var(--raise-2)}.side-section-toggle:hover .side-section-title{color:var(--muted)}.side-section-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.side-section-caret{width:12px;height:12px;color:var(--faint);flex:none}.side-count{background:var(--raise-2);min-width:16px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;border-radius:8px;flex:none;padding:0 5px;font-size:.6562rem;line-height:16px}.side-count.needs{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--warn);font-weight:600}.side-section.needs .side-section-toggle .side-section-title{color:var(--warn)}.side-section:hover .side-section-head .icon-btn,.side-section-head .icon-btn:focus-visible{opacity:1}.side-list{margin:0;padding:0;list-style:none}.side-row{border-radius:6px;align-items:center;display:flex;position:relative}.side-row:hover,.side-row.active{background:var(--raise-2)}.side-row-link{min-width:0;color:var(--muted);flex:1;align-items:center;gap:8px;padding:5px 4px 5px 8px;display:flex}.side-row.active .side-row-link,.side-row.unread .side-row-link{color:var(--text)}.side-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.row-more{opacity:0;margin-right:2px}.side-row:hover .row-more,.side-row.active .row-more,.row-more[aria-expanded=true],.row-more:focus-visible{opacity:1}.side-empty{color:var(--faint);padding:12px;font-size:.7812rem}.side-foot{border-top:1px solid var(--line);padding:8px}.account{color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:6px;display:flex}.account:hover{background:var(--raise-2);color:var(--text)}.account-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.avatar{background:var(--raise-2);width:24px;height:24px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:600;display:inline-grid}.avatar.admin{box-shadow:0 0 0 1.5px var(--accent)}.avatar.large{width:40px;height:40px;font-size:1.0625rem}.menu{z-index:50;background:var(--raise);border:1px solid var(--line-2);min-width:200px;max-width:320px;box-shadow:0 12px 32px var(--shadow);border-radius:10px;padding:4px;position:fixed}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.menu-item:hover:not(:disabled){background:var(--raise-2)}.menu-item.danger{color:var(--err)}.menu-check{width:14px;color:var(--accent)}.menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.menu-hint{color:var(--faint);font-size:.75rem}.menu-section{color:var(--faint);padding:6px 8px 2px;font-size:.7188rem}.menu-sep{background:var(--line);height:1px;margin:4px 0}.mic-picker{width:280px}.level{background:var(--bg);border-radius:3px;height:6px;margin:8px;overflow:hidden}.level span{background:var(--ok);height:100%;transition:width 80ms linear;display:block}.dialog{background:var(--raise);color:var(--text);border:1px solid var(--line-2);border-radius:12px;width:min(520px,94vw);max-height:84vh;padding:0}.dialog::backdrop{background:#0009}.dialog-head{justify-content:space-between;align-items:center;padding:12px 14px 6px;display:flex}.dialog-head h2{margin:0;font-size:.9375rem;font-weight:600}.confirm-dialog{width:min(440px,94vw)}.confirm-dialog .dialog-head{padding-bottom:8px}.confirm-message{white-space:pre-line;overflow-wrap:anywhere;color:var(--muted);margin:0 0 14px;font-size:.8438rem}.btn.primary.danger{background:var(--err);color:var(--bg)}.btn.primary.danger:hover:not(:disabled){background:color-mix(in srgb, var(--err) 88%, var(--text))}@media (pointer:coarse){.confirm-dialog .dialog-actions .btn{min-width:44px;min-height:44px;padding-inline:16px}}.dialog-body{max-height:calc(84vh - 56px);padding:4px 14px 14px;overflow:auto}button.account{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.setup-machine{flex-direction:column;gap:12px;display:flex}.setup-machine input[type=radio],.setup-machine input[type=checkbox]{accent-color:var(--accent)}.setup-machine>p{margin:0}.sm-field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.sm-field legend,.sm-label{margin-bottom:6px;padding:0;font-size:.7812rem;font-weight:600}.sm-seg{background:var(--raise-2);border-radius:9px;align-self:flex-start;padding:2px;display:inline-flex}.sm-seg-item{min-height:28px;color:var(--muted);cursor:pointer;border-radius:7px;align-items:center;padding:0 12px;font-size:.7812rem;display:inline-flex;position:relative}.sm-seg-item input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.sm-seg-item.on{background:var(--raise);color:var(--text);box-shadow:0 1px 2px var(--shadow);font-weight:600}.sm-seg-item:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.sm-profiles{flex-direction:column;gap:4px;display:flex}.sm-profile{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;align-items:baseline;gap:8px;padding:6px 8px;display:flex}.sm-profile.on{border-color:var(--accent)}.sm-profile.disabled{opacity:.55;cursor:default}.sm-profile .grow{flex-direction:column;min-width:0;display:flex}.sm-profile .name{font-weight:600}.sm-root input{box-sizing:border-box;width:100%}.sm-activate .block{display:block}.sm-command-box{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);align-items:center;gap:8px;padding:8px;display:flex}.sm-command-box>p{flex:1;margin:0}.sm-command{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:1;min-width:0;font-size:.75rem;line-height:1.5}.sm-copy{flex:none}@media (pointer:coarse){.sm-seg-item,.sm-copy{min-height:44px}.sm-profile{padding:10px}}.add-app-body{gap:10px;display:grid}.add-app .qr{width:min(260px,70vw);height:auto;image-rendering:pixelated;border-radius:8px;margin:4px auto;display:block}.add-app-link{word-break:break-all;background:var(--bg);border:1px solid var(--line-2);-webkit-user-select:all;user-select:all;border-radius:6px;padding:6px 8px;font-size:.7188rem}.add-app-countdown{font-variant-numeric:tabular-nums}.add-app-expired{justify-items:center;gap:8px;padding:24px 0;display:grid}.picker-search{width:100%;margin-bottom:8px}.picker-list{max-height:55vh;margin:0;padding:0;list-style:none;overflow:auto}.picker-group{text-transform:none;padding:8px 8px 2px;font-weight:600}.picker-note{margin:0 0 6px}.picker-opt{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 8px;display:flex}.picker-opt:hover,.picker-opt.active{background:var(--raise-2)}.picker-opt[aria-selected=true] .po-name{color:var(--accent)}.po-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.po-mark{color:var(--accent);font-size:.75rem}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:60;background:var(--raise-2);border:1px solid var(--line-2);box-shadow:0 8px 24px var(--shadow);border-radius:10px;align-items:center;gap:10px;max-width:92vw;padding:8px 12px;display:flex;position:fixed;transform:translate(-50%)}.toast.err{border-color:#6a3036}.toast.warn{border-color:#5a4a2a}.topbar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;height:max(48px,2.4rem);padding:0 12px;display:flex}.topbar-title{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.topbar .title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;font-weight:500;overflow:hidden}.title-btn{all:unset;cursor:text;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;display:block;overflow:hidden}.title-btn:hover,.title-btn:focus-visible{box-shadow:0 0 0 1px var(--line-2)}input[type=text].rename-field{width:100%;min-width:0;min-height:26px;font:inherit;color:var(--text);flex:1;padding:2px 6px}.topbar input.rename-field.title{max-width:520px}.rename-wrap{vertical-align:middle;flex:1;align-items:center;gap:4px;width:100%;min-width:0;max-width:100%;display:inline-flex}.topbar .rename-wrap{max-width:560px}.auto-name-btn{flex:none;font-size:14px;line-height:1}.naming{white-space:nowrap;flex:none;align-items:center;gap:4px;margin-left:6px;font-weight:400;display:inline-flex}.chip-server{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:13px;align-items:center;gap:4px;max-width:420px;padding:2px 10px;font-size:.75rem;display:inline-flex;overflow:hidden}.chip-server .place-where{text-overflow:ellipsis;min-width:0;overflow:hidden}.session-place{color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;flex:none;align-items:center;gap:4px;padding:4px 12px;font-size:.75rem;display:flex;overflow:hidden}.session-place .place-machine{color:var(--text,inherit);font-weight:500}.session-place .place-where,.session-place .place-branch{text-overflow:ellipsis;min-width:0;overflow:hidden}.session-place .icon{flex:none;width:12px;height:12px;margin-left:4px}.chip-server .icon{width:12px;height:12px;margin-left:6px}.chip-evidence{color:var(--muted);border:1px dashed var(--line);white-space:nowrap;cursor:help;border-radius:13px;align-items:center;padding:2px 10px;font-size:.75rem;display:inline-flex}.chip-evidence.screen,.chip-evidence.unknown{color:var(--warn);border-color:#5a4a2a}.btn.changes{font-family:var(--mono)}.add{color:var(--add)}.del{color:var(--del)}.home-shell{flex-direction:column;height:100%;min-height:0;display:flex}.home-scroll{flex:1;overflow:auto}.home{max-width:1180px;margin:0 auto;padding:24px 28px 48px}.home-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.home-head h1{margin:0;font-size:1.75rem}.home-tools{gap:8px;margin:12px 0 8px;display:flex}.search{border:1px solid var(--line);border-radius:var(--r);background:var(--raise);color:var(--faint);flex:1;align-items:center;gap:8px;padding:0 10px;display:flex}.search input{width:100%;box-shadow:none;background:0 0;border:0}.count{margin:10px 0 4px;font-size:.75rem}.sessions-table{border-collapse:collapse;table-layout:fixed;width:100%}.sessions-table th{text-align:left;color:var(--faint);border-bottom:1px solid var(--line);padding:0;font-size:.75rem;font-weight:500}.th-btn{color:inherit;cursor:pointer;background:0 0;border:0;gap:4px;padding:8px 6px;display:inline-flex}.th-btn:hover{color:var(--text)}.sort-mark{color:var(--accent)}.sessions-table td{border-bottom:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;color:var(--muted);padding:7px 6px;overflow:hidden}.sessions-table tbody tr{cursor:pointer}.sessions-table tbody tr:hover{background:var(--side)}.sessions-table .col-title a{color:var(--text)}.sessions-table tr.unread .col-title a{font-weight:600}.col-status{width:64px}.col-pick{text-align:center;width:32px}.col-pick input{vertical-align:middle;cursor:pointer;margin:0}.home-tools .btn.small{min-height:32px}.bulk-bar{border:1px solid var(--line);border-radius:var(--r);background:var(--raise);align-items:center;gap:8px;margin:8px 0 0;padding:6px 10px;font-size:.8125rem;display:flex}.bulk-bar span{margin-right:auto}.archive-inactive{flex-direction:column;gap:12px;display:flex}.archive-inactive input[type=number]{background:var(--raise);border:1px solid var(--line);border-radius:var(--r);width:120px;min-height:32px;padding:6px 10px}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.col-title{width:30%}.col-project{width:16%}.col-server,.col-source{width:9%}.col-activity{width:10%}.col-actions{text-align:right;width:40px}.empty-cell{text-align:center;padding:24px!important}.home-list{margin:0;padding:0;list-style:none}.home-item{border-bottom:1px solid var(--line);align-items:center;display:flex}.home-item-link{flex:1;align-items:center;gap:10px;min-width:0;padding:10px 4px;display:flex}.home-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.home-item-title,.home-item-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-item.unread .home-item-title{font-weight:600}.home-item-meta{font-size:.7812rem}.offline-line{margin-top:10px}.empty{text-align:center;padding:48px 16px}.empty .display{margin:0 0 6px;font-size:1.375rem}.session-layout{height:100%;min-height:0;display:flex}.session-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.scroller{overflow-anchor:none;flex:1;min-height:0;overflow:auto}.history-sentinel{height:1px}.history-edge{text-align:center;justify-content:center;align-items:center;gap:8px;margin:16px 0 0;display:flex}.history-edge.error{color:var(--err)}.column{max-width:var(--col);margin:0 auto;padding:0 20px}.column.narrow{max-width:560px;padding-top:40px}.transcript{flex-direction:column;gap:14px;padding:24px 0 8px;display:flex}.msg.user{align-self:flex-end;align-items:flex-end;gap:6px;max-width:85%;display:flex}.user-body{flex-direction:column;align-items:flex-end;gap:6px;min-width:0;display:flex}.msg-images{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.media-box{vertical-align:top;background:var(--raise-2);border-radius:10px;max-width:100%;display:inline-block;position:relative;overflow:hidden}.media-box[data-state=tap]{background:0 0;aspect-ratio:auto!important;width:auto!important}.media-open{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.media-open img{max-width:100%;max-height:var(--media-max-h,220px);object-fit:contain;display:block}.media-box[style] .media-open img{width:100%;height:100%;max-height:none}.msg-image{border:1px solid var(--line-2);--media-max-h:220px;display:block}.msg-image .media-open img{max-width:min(220px,60vw)}.media-tap{border:1px dashed var(--line-2);background:var(--raise-2);min-height:40px;color:var(--muted);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:.8125rem;display:inline-flex}.media-tap .icon{flex:none;width:16px;height:16px}.media-strip{flex-wrap:wrap;align-items:flex-start;gap:6px;padding:2px 10px 8px;display:flex}.media-thumb{--media-max-h:72px;border:1px solid var(--line-2);border-radius:8px}.media-thumb .media-open img{max-width:160px}.media-more{border:1px solid var(--line-2);background:var(--raise-2);min-width:48px;height:72px;color:var(--muted);cursor:pointer;border-radius:8px}.md .md-media{--media-max-h:360px;border:1px solid var(--line-2);width:-moz-fit-content;width:fit-content;margin:6px 0;display:block}.md .md-media .media-open img{max-width:100%}.media-failed{white-space:normal;flex-wrap:wrap;row-gap:2px;max-width:100%}.media-failed-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.media-failed-reason{color:var(--faint)}.media-retry{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:0 6px}.file-chip{background:var(--raise-2);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:240px;padding:4px 10px;font-size:.7812rem;display:inline-flex;overflow:hidden}.file-chip .icon{flex:none;width:14px;height:14px}.pill{background:var(--raise-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;padding:8px 14px}.msg-note{text-align:right;overflow-wrap:anywhere;margin:0}.tick{color:var(--faint);font-size:.6875rem}.tick.heard{color:var(--ok)}.tick.failed{color:var(--err)}.tick.queued{color:var(--warn)}.user-body{position:relative}.msg-tools{z-index:2;background:var(--raise);border:1px solid var(--line-2);opacity:0;pointer-events:none;border-radius:8px;gap:2px;margin-top:2px;padding:2px;transition:opacity .12s;display:flex;position:absolute;top:100%;right:0;box-shadow:0 2px 8px #0000001f}.msg-tools .icon-btn{width:28px;height:28px}.msg-tools .icon-btn[aria-disabled=true]{opacity:.4;cursor:default}.msg.user:hover .msg-tools,.msg.user:focus-within .msg-tools,.msg.user.tools-open .msg-tools{opacity:1;pointer-events:auto}.msg-more{opacity:.35;align-self:center;width:26px;height:26px;display:inline-grid}.msg.user:hover .msg-more,.msg.user:focus-within .msg-more,.msg.user.tools-open .msg-more{opacity:1}@media (hover:none){.msg-more{opacity:1}.msg.user:hover:not(.tools-open):not(:focus-within) .msg-tools{opacity:0;pointer-events:none}}.revert-banner{background:var(--raise-2);border:1px solid var(--line-2);border-radius:10px;align-items:center;gap:8px;margin:0 0 8px;padding:6px 8px 6px 12px;font-size:.8125rem;display:flex}.revert-banner .icon{width:16px;height:16px;color:var(--muted);flex:none}.revert-banner .revert-text{flex:1;min-width:0}.hub-msg-delivery{color:var(--warn);font-size:.6875rem}.composer-unavailable{align-items:center;gap:10px;padding:10px 2px;display:flex}.composer-unavailable p{flex:1;margin:0}.msg.assistant{overflow-wrap:anywhere;line-height:1.6}.msg.assistant.live .md>:is(p,h3,h4,h5,h6):last-child:after,.msg.assistant.live .md>:is(ul,ol):last-child>li:last-child>p:last-child:after{content:"▍";color:var(--accent);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md{min-width:0}.md p{margin:0 0 .7em}.md h3,.md h4,.md h5,.md h6{letter-spacing:-.005em;color:var(--violet);margin:1.15em 0 .45em;font-weight:600;line-height:1.35}.md h3{border-bottom:1px solid var(--line);padding-bottom:.25em;font-size:1.14em}.md h4{font-size:1.05em}.md h5,.md h6{color:color-mix(in srgb, var(--violet) 72%, var(--muted));font-size:1em}.md ul,.md ol{margin:0 0 .7em;padding-left:1.5em}.md li{margin:.15em 0}.md li::marker{color:var(--orange)}.md li>p{margin:0}.md li>:is(ul,ol){margin:.15em 0 .2em}.md :is(ul,ol).loose>li{margin:.35em 0}.md :is(ul,ol).loose>li>p{margin:0 0 .5em}.md :is(ul,ol).loose>li>p:last-child{margin-bottom:0}.md li.task{list-style:none;position:relative}.md li.task>input[type=checkbox]{width:.95em;height:.95em;accent-color:var(--accent);margin:0;position:absolute;top:.3em;left:-1.35em}.md li.task>input:checked~p{color:var(--muted)}.md .inline-code{color:var(--ok);background:color-mix(in srgb, var(--accent) 9%, var(--raise-2));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));overflow-wrap:anywhere;border-radius:5px;padding:.05em .35em;font-size:.88em}.md a .inline-code{color:inherit}.md :is(th,td) .inline-code{white-space:nowrap;overflow-wrap:normal}.md strong{color:var(--orange);font-weight:600}.md del{color:var(--faint)}.md mark{background:color-mix(in srgb, var(--orange) 18%, transparent);color:var(--orange);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;padding:0 .15em}.md .md-image{color:var(--accent)}.md .md-image:before{content:"🖼 "}.md blockquote{border-left:3px solid var(--line-2);color:var(--muted);margin:0 0 .7em;padding:.15em 0 .15em .85em}.md blockquote>:last-child{margin-bottom:0}.md a{color:var(--ok);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--ok) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--ok) 40%, transparent);text-underline-offset:2px;overflow-wrap:anywhere}.md a:hover{text-decoration-color:currentColor}.md hr{border:0;border-top:1px solid var(--line);margin:1em 0}.md .table-wrap{border:1px solid var(--line);border-radius:var(--r);max-width:100%;margin:0 0 .8em;overflow-x:auto}.md table{border-collapse:collapse;min-width:100%;font-size:.93em;line-height:1.45}.md th,.md td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:normal;padding:.4em .75em}.md th{background:var(--side);color:var(--text);white-space:nowrap;font-weight:600}.md tbody tr:last-child td{border-bottom:0}.md tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--text) 3%, transparent)}.md th+th,.md td+td{border-left:1px solid var(--line)}.md .code-block{border:1px solid var(--line);border-radius:var(--r);background:var(--side);margin:0 0 .8em;overflow:hidden}.md .code-head{border-bottom:1px solid var(--line);color:var(--faint);align-items:center;gap:2px;padding:2px 4px 2px 10px;font-size:.8em;display:flex}.md .code-lang{font-family:var(--mono);text-transform:lowercase;flex:1}.md .code-btn{color:var(--muted);cursor:pointer;font-size:inherit;background:0 0;border:0;border-radius:5px;min-height:24px;padding:3px 8px}.md .code-btn:hover{background:var(--raise-2);color:var(--text)}.md .code-btn[aria-pressed=true]{color:var(--accent)}.md .code-head:has(.code-preview-err){flex-wrap:wrap}.md .code-btn.code-preview{color:var(--accent)}.md .code-btn.code-preview:disabled{cursor:progress;opacity:.7}.md .code-preview-err{color:var(--err);overflow-wrap:anywhere;padding:0 6px;font-size:.95em}.md pre.code{background:0 0;border:0;border-radius:0;margin:0;padding:.7em .9em;line-height:1.5;overflow:auto}.md .code-block.wrap pre.code{white-space:pre-wrap;overflow-wrap:anywhere}.md pre code{background:0 0;padding:0}.tok-comment{color:var(--faint);font-style:italic}.tok-string{color:var(--ok)}.tok-number{color:var(--orange)}.tok-keyword{color:var(--violet)}.tok-type,.tok-attr{color:var(--orange)}.tok-fn,.tok-meta{color:var(--blue)}.tok-prop,.tok-tag{color:var(--err)}.tok-add{color:var(--add);background:color-mix(in srgb, var(--add) 10%, transparent)}.tok-del{color:var(--del);background:color-mix(in srgb, var(--del) 10%, transparent)}pre.code{white-space:pre;font-size:.75rem}.fold-head{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:.8125rem;display:inline-flex}.fold-head:hover:not(:disabled){color:var(--text)}.fold-head:disabled{cursor:default}.fold-head .chev{width:13px;height:13px;transition:transform .15s}.fold-head[aria-expanded=true] .chev{transform:rotate(90deg)}.fold.has-failed .fold-head{color:#c9a0a4}.fold-body{border-left:1px solid var(--line);margin:6px 0 0 2px;padding-left:12px}.reasoning{color:var(--muted);white-space:pre-wrap;max-height:320px;font-size:.8125rem;overflow:auto}.reasoning.hidden-reasoning{font-style:italic}.tool-list{list-style:none}.tool-head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:3px 0;font-size:.8125rem;display:flex}.tool-mark{width:14px;color:var(--ok);font-size:.6875rem}.tool.failed .tool-mark{color:var(--err)}.tool-name{font-family:var(--mono);font-size:.7812rem}.tool-summary{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.7812rem;overflow:hidden}.tool-detail pre{background:var(--side);border:1px solid var(--line);border-radius:6px;max-height:360px;padding:8px;overflow:auto}.hub-msg{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);max-width:85%;padding:6px 10px}.hub-msg.out{align-self:flex-end}.hub-msg-head{color:var(--muted);align-items:center;gap:6px;margin-bottom:2px;font-size:.7812rem;display:flex}.hub-msg-mark{color:var(--accent)}.hub-msg-kind{font-family:var(--mono);text-transform:uppercase;font-size:.7188rem}.hub-msg-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hub-msg-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem}.hub-note .fold-body{color:var(--muted)}.subagent{border:1px solid var(--line);border-radius:var(--r);color:var(--muted);align-items:center;gap:8px;padding:8px 10px;display:flex}.subagent:hover{background:var(--side);color:var(--text)}.sub-mark{color:var(--accent);place-items:center;width:14px;display:inline-grid}.sub-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sub-label strong{color:var(--text);font-weight:500}.subagent .chev{width:14px;height:14px}.note{color:var(--muted);margin:6px 0;font-size:.7812rem}.note.err{color:var(--err)}.working-line{align-items:center;gap:8px;margin:10px 0;font-size:.8125rem;display:flex}.idle-line{margin:12px 0 20px}.empty-session{text-align:center;padding-top:18vh}.blocker{border-color:#5a4a2a;margin:12px 0}.blocker-head{color:var(--warn);margin:0 0 4px}.blocker-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 10px;font-size:.7812rem}.decisions{margin:12px 0}.decisions .section-title{color:var(--warn);margin:0 0 6px;font-size:.875rem}.decision{border-color:#5a4a2a;margin:12px 0}.decision.urgency-high{border-color:var(--err)}.decision.targeted{box-shadow:0 0 0 2px var(--accent)}.decision-question{font-size:.875rem}.decision-deadline{color:var(--warn);margin:0 0 8px}.decision-deadline.overdue{color:var(--err)}.decision .badge-pill.urgency.high{color:var(--err);border-color:var(--err)}.decision .badge-pill.recommended{color:var(--accent);border-color:var(--accent)}.decision .badge-pill.safe{color:var(--ok);border-color:var(--ok)}.decision .choice.recommended>span:first-of-type{font-weight:600}.decision-why{margin:6px 0}.decision-note,.decision textarea{width:100%;margin:6px 0}.decision-tier{margin:4px 0 8px}.decision .badge-pill.agent-request{color:var(--warn);border-color:var(--warn)}.escalation-details{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0 0 10px;display:grid}.escalation-details dt{color:var(--muted)}.escalation-details dd{overflow-wrap:anywhere;min-width:0;margin:0}.escalation-resource{margin:0 6px 2px 0;display:inline-block}.decision-details dd{white-space:pre-wrap}.decision-details .escalation-resource,.decision-prompt{white-space:pre-wrap;overflow-wrap:anywhere}.decision-prompt{margin:0}.decision-answer-field{display:block}.cut-note{color:var(--warn);margin:0 0 4px;display:block}.escalation-resource,.decision-answer-value{unicode-bidi:isolate}.decision-prompt,.blocker.permission .blocker-text{unicode-bidi:plaintext}.clamp-toggle{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0 2px;font-size:.75rem;text-decoration:underline;display:inline}.blocker-text+.clamp-toggle{margin:-8px 0 10px;display:block}.blocker-recommendation{color:var(--accent);margin:-4px 0 10px}.answered-by{margin:6px 0}.blocker .answered-by{margin:8px 0 0}.grant-row .grant-facts{grid-template-columns:max-content 1fr;gap:2px 12px;margin:4px 0 0;display:grid}.grant-row .grant-facts dt{color:var(--muted)}.grant-row .grant-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.grant-row.ended{opacity:.6}.badge-pill.active{color:var(--ok);border-color:var(--ok)}.grant-form{flex-direction:column;gap:12px;display:flex}.grant-form label.text-field{flex-direction:column;gap:4px;display:flex}.grant-form textarea,.grant-form input[type=text]{width:100%}.copy-field{flex-direction:column;gap:4px;display:flex}.copy-row{align-items:flex-start;gap:8px;display:flex}.copy-row>.btn{flex:none;min-height:32px}.copy-value{border:1px solid var(--line);border-radius:var(--r);background:var(--raise);white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all;flex:1;min-width:0;padding:6px 10px;font-size:.8125rem;line-height:1.45}.copy-value:focus{border-color:var(--line-2);box-shadow:0 0 0 1px var(--line-2);outline:none}.grant-verbs{border:0;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;display:flex}.audit-row .audit-result.ok{color:var(--ok)}.audit-row .audit-result.warn{color:var(--warn)}.audit-row .audit-result.err{color:var(--err)}.form-card fieldset{border:0;min-width:0;margin:0;padding:0}.form-card fieldset:disabled{opacity:.6}.form-field{flex-direction:column;gap:4px;margin:0 0 12px;display:flex}.field-title{font-weight:500}.field-desc{display:block}.choice-group{flex-direction:column;gap:4px;display:flex}.choice,.check{cursor:pointer;align-items:baseline;gap:8px;display:flex}.choice-group input[type=text],.form-field>input[type=text]{width:100%}.field-error{color:var(--err);margin:0}.dock{padding:8px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--bg) 18px);flex:none}.composer-box{border:1px solid var(--line-2);background:var(--raise);border-radius:14px;padding:10px 10px 6px 14px}.composer-box:focus-within{border-color:var(--line-2)}.composer textarea{resize:none;width:100%;min-height:24px;max-height:280px;box-shadow:none;background:0 0;border:0;padding:0;line-height:1.5}.composer.dragging .composer-box{border-color:var(--accent);border-style:dashed}.attachments{flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.attachment{border:1px solid var(--line-2);background:var(--raise-2);border-radius:10px;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative;overflow:hidden}.attachment img{object-fit:cover;width:100%;height:100%;display:block}.attachment-remove{color:#fff;cursor:pointer;background:#000000a6;border:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:flex;position:absolute;top:3px;right:3px}.attachment-remove .icon{width:13px;height:13px}.composer-actions{align-items:center;gap:4px;margin-top:4px;display:flex}.composer-meta{align-items:center;gap:6px;padding:6px 4px 0;display:flex}.composer-meta>.muted{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.composer-error{color:var(--err);margin:0 0 6px;font-size:.7812rem}.composer-hint{margin:0 0 6px}.btn.send{border-radius:8px;min-width:30px;height:30px;padding:0 9px}.btn.send.steer{padding:0 12px}.btn.stop{height:30px;color:var(--text)}.split{border:1px solid var(--line-2);border-radius:8px;height:30px;display:inline-flex;overflow:hidden}.split button{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.split button:hover:not(:disabled){background:var(--raise-2);color:var(--text)}.split button:disabled{opacity:.4;cursor:default}.split-main{width:32px}.split.on{border-color:var(--accent)}.split.on .split-main{background:var(--accent);color:var(--accent-ink)}.split.on .split-main:hover:not(:disabled){background:var(--accent);color:var(--accent-ink);filter:brightness(1.08)}.voice-pill{border:1px solid var(--accent);min-height:28px;color:var(--accent);border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:320px;padding:0 4px 0 8px;font-size:.75rem;display:inline-flex}.voice-pill .icon{flex:none;width:14px;height:14px}.voice-pill-link{color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;text-decoration:none;overflow:hidden}.voice-pill-link strong{color:var(--text);font-weight:500}.voice-pill .btn.small{height:22px;padding:0 8px}.voice-strip{justify-content:flex-end;padding:8px 12px 0;display:flex}.side-row.voice-here .side-title{color:var(--accent)}.voice-error{margin:0 0 8px}.split-chev{width:20px;border-left:1px solid var(--line-2)!important}.split-chev .icon{width:12px;height:12px}.model-chip{color:var(--faint);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:6px;max-width:220px;padding:2px 6px;font-size:.75rem;overflow:hidden}.model-chip:hover{background:var(--raise-2);color:var(--text)}.session-model{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;cursor:default;flex:0 auto;min-width:0;max-width:260px;padding:2px 6px;font-size:.75rem;overflow:hidden}.session-model.pickable{font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;font-size:.75rem}.session-model.pickable:hover,.session-model.pickable:focus-visible{background:var(--raise-2);color:var(--text)}.voice-bar{border:1px solid var(--line-2);background:var(--side);border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:6px 8px 6px 12px;display:flex}.voice-bar.paused{opacity:.8}.voice-bar.suspended{border-color:#5a4a2a;flex-wrap:wrap}.voice-bar.suspended .voice-state{color:var(--warn);white-space:normal;flex:1000 12em;min-width:0;max-width:none}.voice-bar.suspended .wave span{background:var(--warn)}.wave{align-items:center;gap:3px;height:22px;display:flex}.wave span{background:var(--accent);transform-origin:50%;border-radius:2px;width:3px;height:22px;transition:transform 80ms linear}.voice-bar.speaking .wave span{animation:.9s ease-in-out infinite talk}.voice-bar.speaking .wave span:nth-child(2){animation-delay:.15s}.voice-bar.speaking .wave span:nth-child(3){animation-delay:.3s}.voice-bar.speaking .wave span:nth-child(4){animation-delay:.45s}@keyframes talk{50%{transform:scaleY(.25)}}.voice-state{font-size:.8125rem}.voice-ignored{color:var(--faint);font-style:italic}.voice-turn{font-variant-numeric:tabular-nums}.voice-bar .chip.voice-front{cursor:default;min-height:0;padding:1px 8px;font-size:11px}.turn-advanced{margin-top:6px}.turn-knobs{flex-wrap:wrap;gap:10px;margin:6px 0;display:flex}.turn-knobs input{width:6.5em}.btn.end{color:var(--err)}.rail{width:var(--rail-w);border-left:1px solid var(--line);background:var(--bg);flex:none;padding:0 12px 24px;overflow:auto}.panel-handle{z-index:6;cursor:col-resize;touch-action:none;outline:none;flex:none;width:6px;margin:0 -3px;position:relative}.panel-handle:before{content:"";background:0 0;width:1px;transition:background .12s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.panel-handle:hover:before,.panel-handle.dragging:before,.panel-handle:focus-visible:before{background:var(--accent);width:2px}html.resizing,html.resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}html.resizing iframe{pointer-events:none}.workspace{flex-direction:column;flex:1;min-height:0;display:flex}.pane-grid{flex:1;min-height:0;display:grid}.pane{outline:none;flex-direction:column;min-width:0;min-height:0;display:flex;container-type:inline-size}.pane[hidden]{display:none}.pane>.session-layout{flex:1;height:auto;min-height:0}.workspace.ws-split .pane{box-shadow:inset 0 0 0 1px var(--line)}.workspace.ws-split .pane[data-focused]{box-shadow:inset 0 2px 0 var(--accent), inset 0 0 0 1px var(--line)}.pane:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)!important}.pane-bar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:6px;padding:4px 12px;display:flex}.pane-count{margin-left:auto;font-size:.75rem}.pane-tools{flex:none;gap:2px;display:inline-flex}@container (width<=720px){.pane .chip-server{display:none}}.icon-btn.flip svg{transform:rotate(180deg)}.pane-handle{width:auto;margin:0}.pane-handle[data-axis=rows]{cursor:row-resize}.pane-handle[data-axis=rows]:before{width:auto;height:1px;inset:50% 0 auto;transform:translateY(-50%)}.pane-handle[data-axis=rows]:hover:before,.pane-handle[data-axis=rows].dragging:before,.pane-handle[data-axis=rows]:focus-visible:before{width:auto;height:2px}html.resizing-rows,html.resizing-rows *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}.pane-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;flex:none;display:flex;overflow-x:auto}.pane-tab{border-bottom:2px solid #0000;flex:none;align-items:center;min-width:0;max-width:60%;padding-right:4px;display:flex}.pane-tab.selected{border-bottom-color:var(--accent)}.pane-tab [role=tab]{min-height:40px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:0 4px 0 12px;overflow:hidden}.pane-tab.selected [role=tab]{color:var(--text)}.rail-head{justify-content:space-between;align-items:center;height:48px;display:flex}.rail-title{color:var(--muted);font-size:.8125rem}.rail-card{border-top:1px solid var(--line);padding:12px 0}.rail-card h3{color:var(--faint);justify-content:space-between;margin:0 0 8px;font-size:.75rem;font-weight:500;display:flex}.kv{grid-template-columns:64px 1fr;gap:4px 8px;margin:0;font-size:.7812rem;display:grid}.kv dt{color:var(--faint)}.kv dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.kv dd.kv-path{align-items:center;gap:4px;display:flex}.kv-path .path-tail{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;flex:1;min-width:0;overflow:hidden}.kv-path .icon-btn{flex:none;width:22px;height:22px}.meter{background:var(--raise-2);border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.meter span{background:var(--accent);height:100%;display:block}.meter span.hot{background:var(--warn)}.mcp-list,.file-list{margin:0;padding:0;list-style:none}.mcp-list li{align-items:center;gap:8px;padding:2px 0;font-size:.7812rem;display:flex}.mcp-name{text-overflow:ellipsis;flex:1;overflow:hidden}.mcp-dot{background:var(--faint);border-radius:50%;width:6px;height:6px}.mcp-dot.connected{background:var(--ok)}.mcp-dot.failed,.mcp-dot.needs_auth{background:var(--err)}.mcp-dot.pending{background:var(--warn)}.diffstat{font-family:var(--mono);font-size:.75rem}.file{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;width:100%;padding:3px 4px;font-size:.7812rem;display:flex}.file:hover{background:var(--raise-2)}.file-status{font:600 .6562rem var(--mono);width:14px;color:var(--warn)}.file-status.added{color:var(--add)}.file-status.deleted{color:var(--del)}.file-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-family:var(--mono);direction:rtl;flex:1;overflow:hidden}.diff-panel{z-index:20;background:var(--side);border:1px solid var(--line-2);border-radius:12px;flex-direction:column;display:flex;position:absolute;inset:48px 12px 12px;box-shadow:0 16px 48px #000a}.diff-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 10px;display:flex}.diff-head select{min-width:0;font-family:var(--mono);flex:1;font-size:.7812rem}.wrap-toggle{align-items:center;gap:4px;display:inline-flex}.diff-body{flex:1;overflow:auto}table.diff{border-collapse:collapse;width:100%;font:.75rem/1.55 var(--mono)}table.diff td{vertical-align:top;padding:0 8px}table.diff .ln{width:1%;color:var(--faint);text-align:right;-webkit-user-select:none;user-select:none;white-space:nowrap}table.diff .code-line{white-space:pre}.diff-body.wrap table.diff .code-line{white-space:pre-wrap;overflow-wrap:anywhere}table.diff tr.add{background:#7fb68518}table.diff tr.del{background:#e06c7518}table.diff tr.hunk td{color:var(--faint);background:var(--raise);padding:3px 8px}table.diff .sign{color:var(--faint);margin-right:8px}.settings,.new-session{flex-direction:column;height:100%;min-height:0;display:flex}.settings-body{flex:1;gap:28px;padding:0 24px;display:flex;overflow:auto}.settings-nav{flex-direction:column;flex:none;align-self:flex-start;gap:2px;width:200px;padding-top:20px;display:flex;position:sticky;top:0}.settings-nav a{color:var(--muted);border-radius:6px;padding:6px 10px}.settings-nav a:hover{background:var(--raise-2);color:var(--text)}.settings-nav a[aria-current=page]{background:var(--raise-2);color:var(--text);box-shadow:inset 2px 0 0 var(--accent);font-weight:500}.settings-search{margin-bottom:10px}.settings-search input{width:100%}.settings-content{flex:1;min-width:0;max-width:720px;padding:12px 0 48px}.settings-page-title{font:400 1.5rem var(--serif);margin:10px 0 4px}.settings-section{border-bottom:1px solid var(--line);padding:16px 0;scroll-margin-top:8px}.settings-section:last-child{border-bottom:0}.settings-section .section-title{font:400 1.125rem var(--serif);color:var(--text);margin:0 0 10px}.settings-section h3{color:var(--muted);font-size:.8125rem;font-weight:500}.settings-footer{margin-top:24px}.settings-results,.settings-list{border:1px solid var(--line);border-radius:10px;margin:8px 0;padding:0;list-style:none}.settings-results li,.settings-list li{border-bottom:1px solid var(--line)}.settings-results li:last-child,.settings-list li:last-child{border-bottom:0}.settings-results a,.settings-list a{color:inherit;align-items:center;gap:10px;padding:10px 12px;display:flex}.settings-results a{flex-direction:column;align-items:flex-start;gap:2px}.settings-results a:hover,.settings-list a:hover{background:var(--raise-2)}.settings-list .grow{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-list .icon{color:var(--faint);flex:none}.settings-empty{padding:12px 0}.settings-hit{border-radius:6px;animation:2.4s ease-out settings-hit}@keyframes settings-hit{0%,40%{background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:0 0 0 2px var(--accent)}to{background:0 0;box-shadow:0 0 0 2px #0000}}.list{border:1px solid var(--line);border-radius:10px;margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.list li:last-child{border-bottom:0}.list li.disabled{opacity:.6}.name{font-weight:500}.switches{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.appearance-theme{justify-content:space-between;align-items:center;gap:12px;display:flex}.theme-toggle{border:1px solid var(--line);background:var(--raise-2);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.theme-choice{min-height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:.75rem;display:inline-flex}.theme-choice:hover{color:var(--text)}.theme-choice[aria-checked=true]{background:var(--raise);color:var(--text);box-shadow:0 1px 3px var(--shadow)}.switch{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.speed{align-items:center;gap:12px;display:flex}.speed input{accent-color:var(--accent);flex:1}.account-card{align-items:center;gap:12px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field label,.field-label{color:var(--muted);font-size:.7812rem}.field .row input{flex:1}.field-error{color:var(--err);margin:0;font-size:.75rem}.inherit{color:var(--faint);margin:0}.speech-card{flex-direction:column;gap:10px;display:flex}.speech-card legend{color:var(--muted);padding:0 6px}.key-summary{margin:0;font-size:.8125rem}.entry{flex-direction:column;gap:14px;max-width:440px;margin:0 auto;padding:12vh 20px 40px;display:flex}.brand-big{align-items:center;gap:12px;margin:0;font-size:1.875rem;display:flex}.pair-code{font-family:var(--mono);letter-spacing:.3em;font-size:1.25rem}.greeting{margin:0 0 18px;font-size:1.625rem}details.card summary{cursor:pointer;color:var(--muted)}.drawer-backdrop,.sheet-backdrop{z-index:30;background:#0009;position:fixed;inset:0}@media (max-width:760px){.shell.phone .sidebar{z-index:40;width:min(86vw,320px);padding-top:env(safe-area-inset-top);position:fixed;inset:0 auto 0 0;box-shadow:8px 0 32px #000a}.topbar{padding-top:env(safe-area-inset-top);height:calc(48px + env(safe-area-inset-top))}.home{padding:16px 14px 40px}.home-head h1{font-size:1.5rem}.column{padding:0 14px}.chip-server,.btn.changes{display:none}.rail{z-index:40;border:1px solid var(--line-2);width:auto;max-height:72vh;padding-bottom:calc(24px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #000a}.diff-panel{inset:calc(48px + env(safe-area-inset-top)) 0 0;border-radius:0}.settings-nav{display:none}.settings-body{padding:0 14px}.settings-page-title{display:none}.composer-meta .model-chip,.composer-meta .session-model{flex-shrink:0;max-width:38vw}.composer-meta .session-model .chip-key{display:none}.composer-meta>.muted{min-width:3em}.msg.user{max-width:92%}}.notify-status{border-radius:var(--r);border:1px solid var(--line);margin:8px 0;padding:8px 12px}.notify-status.warn{color:var(--warn);border-color:#5a4a2a}.notify-status.ok{color:var(--ok,inherit)}.notify-facts{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0 0 8px;display:grid}.notify-facts dd{margin:0}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.quiet-hours{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.notify-summary{margin:4px 0 8px}.notify-status-row{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:8px 0;display:flex}.notify-status-row .notify-status{flex:260px;margin:0}.notify-details summary{cursor:pointer;color:var(--muted)}.notify-details[open]{flex-basis:100%}.notify-details .notify-facts{margin:6px 0 0}.notify-group{border:1px solid var(--line);border-radius:10px;margin:8px 0 0}.notify-group>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 12px;list-style:none;display:flex}.notify-group>summary::-webkit-details-marker{display:none}.notify-group>summary:before{content:"▸";color:var(--faint);width:.8em}.notify-group[open]>summary:before{content:"▾"}#notifications .notify-group>summary h4{margin:0}.notify-group-summary{text-align:right;flex:1;min-width:0}.notify-group>.switches{padding:0 12px 8px}.notify-group h4,#notifications h4{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 0;font-size:.8125rem;font-weight:500}.notify-kind{flex-direction:column;gap:2px;min-width:0;display:flex}.notify-kind .small{line-height:1.35}.switch input[type=checkbox]{flex:none}.notify-test{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.notify-test select{max-width:60vw}p.small.warn{color:var(--warn)}p.small.err{color:var(--err,#e5484d)}p.small.ok{color:var(--ok,inherit)}.voice-bar{flex-wrap:wrap;container-type:inline-size}.voice-bar .voice-state{white-space:nowrap;text-overflow:ellipsis;flex:1000 1 0;min-width:0;max-width:max-content;overflow:hidden}.voice-hint{color:var(--muted,inherit);flex-basis:100%;order:3;margin:2px 0 0}@container (width<=540px){.voice-bar .grow{flex-basis:100%;order:1;height:0}.voice-bar .voice-front,.voice-bar .recording-indicator,.voice-bar .recording-note,.voice-bar .model-chip{order:2;margin-top:-10px}.voice-bar .icon-btn{margin-left:auto}}button.link{color:var(--accent,#fab283);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.tap-to-start{width:100%;margin-bottom:8px;padding:14px;font-size:1.05em;display:block}.new-column{max-width:720px;padding-top:12vh}.new-composer .composer-box{padding:14px 12px 8px 16px}.new-composer textarea{resize:none;width:100%;min-height:72px;color:inherit;font:inherit;background:0 0;border:0;outline:0;font-size:.9375rem}.icon-send{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-send:disabled{background:var(--raise-2);color:var(--faint);cursor:not-allowed}.env-meta{flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px;display:flex}.new-dir{overflow-wrap:anywhere;margin:6px 4px 0}.meta-chip{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;max-width:280px;padding:4px 8px;font-size:.7812rem;display:inline-flex}.meta-chip:hover:not(:disabled):not(.readonly){background:var(--raise-2);color:var(--text)}.meta-chip.readonly{cursor:default}.meta-chip .icon{flex:none;width:14px;height:14px}.meta-chip .online-dot{margin:0}.chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta-chip.folder-chip.unset{color:var(--text);box-shadow:inset 0 0 0 1px var(--line-2)}.meta-chip.folder-chip.unset.asked{color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.new-need-project{color:var(--warn);margin:6px 4px 0}.chip-caret{opacity:.6}.toggle-chip input{margin:0}.folder-menu{width:360px;max-width:calc(100vw - 16px);padding:6px}.folder-search{box-sizing:border-box;width:100%;margin-bottom:4px}.folder-list{max-height:50vh;overflow:auto}.folder-list .menu-hint{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.rail-card h3{align-items:center}.card-toggle{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.card-toggle:hover{color:var(--text)}.card-chevron{width:12px;height:12px;transition:transform .15s;transform:rotate(90deg)}.rail-card.collapsed .card-chevron{transform:rotate(0)}.rail-card.collapsed h3{margin-bottom:0}.new-column{box-sizing:border-box;width:100%}.menu-label{flex:1 0 auto;max-width:100%}.menu-hint{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.crumb{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:30%;font-size:.8125rem;text-decoration:none;display:inline-flex;overflow:hidden}.crumb:hover{color:var(--text)}.crumb-chev{width:12px;height:12px;transform:rotate(180deg)}.crumb-sep{margin:0 4px}.sync-note{z-index:30;pointer-events:none;background:var(--side);color:var(--muted,var(--faint));border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:.857rem;position:absolute;top:6px;left:50%;transform:translate(-50%)}.sync-note.updated{color:var(--accent)}.jobs-badge{background:var(--line);min-width:16px;height:16px;color:var(--text);border-radius:8px;flex:none;justify-content:center;align-items:center;margin-left:4px;padding:0 4px;font-size:.75rem;line-height:1;display:inline-flex}.terminal-wait{white-space:nowrap;flex:none;margin-left:4px;font-size:.75rem}.job-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.job{grid-template-columns:auto 1fr;align-items:center;column-gap:8px;display:grid}.job .muted{grid-column:2}.job-command{text-overflow:ellipsis;white-space:nowrap;font-size:.893rem;overflow:hidden}.job-dot{background:var(--faint);border-radius:50%;width:7px;height:7px}.job-dot.on{background:var(--accent)}.job-dot.bad{background:var(--warn)}.subagent-list{flex-direction:column;gap:2px;margin:0 -4px;padding:0;list-style:none;display:flex}.subagent-row{min-width:0;color:var(--text);border-radius:5px;align-items:center;gap:8px;padding:4px;text-decoration:none;display:flex}.subagent-row:hover{background:var(--raise-2)}.subagent-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.subagent-row .status{align-self:flex-start;margin-top:2px}.subagent-text{flex-direction:column;flex:1;min-width:0;display:flex}.subagent-title{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.subagent-text .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subagent-row.error .subagent-text .muted{color:var(--err)}.subagent-row.blocked .subagent-text .muted{color:var(--warn)}.subagent-row .chev{width:12px;height:12px;color:var(--faint);flex:none}.subagents-more{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;margin-top:4px;padding:2px 0}.subagents-more:hover{color:var(--text)}.subagents-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.retry-note{color:var(--warn);margin:0 0 6px}.activity-hint{border:1px solid var(--accent);border-radius:var(--r);background:color-mix(in srgb, var(--accent) 10%, transparent);margin:6px 0 10px;padding:8px 10px;font-size:.929rem}.scroller,.home-scroll{touch-action:pan-x pan-y}@media (pointer:coarse){input[type=search],input[type=text],input[type=password],input[type=number],select,textarea,.composer textarea,.new-composer textarea{font-size:max(16px,1rem)}}.banner.session-error{border-width:0 0 1px;border-color:color-mix(in srgb, var(--err) 45%, var(--line));background:color-mix(in srgb, var(--err) 10%, var(--bg));color:var(--text);border-radius:0;justify-content:flex-start;align-items:flex-start;margin:0}.session-error-mark,.turn-error-mark{color:var(--err);flex:none;font-weight:600;line-height:1.4}.session-error-body,.turn-error-body{flex-direction:column;gap:2px;min-width:0;display:flex}.session-error-head,.turn-error-head{color:var(--err);flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.session-error-status,.turn-error-status{border:1px solid;border-radius:999px;padding:0 6px;font-size:.75rem}.session-error-where{font-size:.8125rem}.session-error-dismiss{flex:none;margin-top:-4px;margin-bottom:-4px;margin-left:auto}.session-error-message,.turn-error-message{overflow-wrap:anywhere;white-space:pre-wrap;max-height:8em;font-size:.8125rem;overflow:auto}.msg.turn-error{border:1px solid color-mix(in srgb, var(--err) 45%, var(--line));border-radius:var(--r);background:color-mix(in srgb, var(--err) 8%, transparent);align-items:flex-start;gap:8px;padding:8px 12px;display:flex}.msg.turn-retry{color:var(--muted);overflow-wrap:anywhere;align-items:baseline;gap:8px;margin:6px 0;font-size:.8125rem;display:flex}.msg.turn-retry.waiting{color:var(--warn)}.turn-retry-mark{flex:none}.error-badge{background:var(--err);min-width:16px;height:16px;color:var(--bg);border-radius:8px;flex:none;justify-content:center;align-items:center;margin-left:4px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.col-now.error,.home-item-meta.error{color:var(--err)}.rail-error{color:var(--err);border:1px solid color-mix(in srgb, var(--err) 45%, var(--line));border-radius:var(--r);overflow-wrap:anywhere;margin:0 0 10px;padding:6px 10px}@media (max-width:760px){.banner.session-error{padding:8px 14px}.session-error-message{max-height:5.5em}}.recording-indicator{border:1px solid var(--err);min-height:22px;color:var(--err);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 8px;font-size:.75rem;font-weight:500;text-decoration:none;display:inline-flex}.recording-indicator:hover{background:color-mix(in srgb, var(--err) 10%, transparent)}.recording-indicator:focus-visible{outline:2px solid var(--err);outline-offset:2px}.recording-indicator.no-audio{border-style:dashed}.recording-dot{background:var(--err);border-radius:50%;flex:none;width:8px;height:8px}.recording-note{color:var(--warn);white-space:nowrap}.concierge-status .recording-indicator,.concierge-status .recording-note{vertical-align:middle;margin-left:6px}.recording-details{gap:4px;margin:6px 0 0;padding-left:18px;display:grid}.recording-fold{margin-top:12px}.recording-fold>summary h4{margin:0}.recording-fold-body{padding:0 12px 12px}.recording-head{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;display:flex}.recording-empty{margin:0}.recording-pane{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--r);background:color-mix(in srgb, var(--raise) 40%, transparent);max-height:min(50vh,420px);overflow-y:auto}.recording-pane:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recording-day-title{z-index:1;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--line);margin:0;padding:5px 10px;font-size:.7188rem;font-weight:500;position:sticky;top:0}.recording-list{margin:0;padding:0;list-style:none}.recording-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 10px;display:flex}.recording-day:last-child .recording-row:last-child{border-bottom:0}.recording-main{flex:1;gap:1px;min-width:0;display:grid}.recording-title{white-space:nowrap;align-items:baseline;gap:6px;min-width:0;display:flex}.recording-kind{flex:none;font-weight:600}.recording-kind:not(:last-child):after{content:" ·";color:var(--faint);font-weight:400}.recording-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.recording-meta{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recording-live{color:var(--err);flex:none}.recording-actions{flex:none;align-items:center;gap:6px;display:flex}.recording-segment{border-radius:var(--r);min-height:26px;padding:0 4px;font-size:.7812rem}.recording-menu{letter-spacing:.05em;justify-content:center;min-width:30px;font-size:1rem}.recording-more-page{margin:8px 10px}@media (max-width:760px){.recording-fold-body{padding:0 8px 8px}.recording-pane{max-height:60vh}.recording-row{flex-wrap:wrap;gap:4px 8px}.recording-row.has-play .recording-main{flex-basis:100%}.recording-meta{white-space:normal}.recording-actions{margin-left:auto}}@media (pointer:coarse){.recording-actions .btn.small,.recording-segment,.recording-head .btn.small{justify-content:center;min-width:40px;min-height:40px;padding-inline:12px}}.md .md-preview{border:1px solid var(--line);color:var(--accent);font:inherit;cursor:pointer;vertical-align:baseline;background:0 0;border-radius:6px;margin-left:4px;padding:0 6px;font-size:.85em;line-height:1.5}.md .md-preview:disabled{cursor:progress;opacity:.7}.md .md-preview-err{color:var(--err);overflow-wrap:anywhere;padding:0 4px;font-size:.9em}.dialog.grant-dialog{width:min(640px,94vw)}.grant-form .grant-field{flex-direction:column;gap:4px;min-width:0;display:flex}.combo{flex-direction:column;min-width:0;display:flex;position:relative}.grant-form .combo-input,.combo-input{width:100%}.combo-pop{z-index:30;border:1px solid var(--line);border-radius:var(--r);background:var(--raise);box-shadow:var(--shadow);position:absolute;top:calc(100% + 4px);left:0;right:0}.combo-pop.up{top:auto;bottom:calc(100% + 4px)}.combo .combo-list{max-height:264px;padding:4px;overflow:auto}.combo-section{display:block}.combo-group{text-transform:uppercase;letter-spacing:.04em;padding:6px 8px 2px;font-size:.7188rem}.combo-opt{align-items:flex-start}.combo-text{flex-direction:column;gap:1px;min-width:0;display:flex}.combo-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.combo-detail{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.combo-custom .combo-label{color:var(--accent)}.combo-dot{border:1px solid var(--faint);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.combo-dot.on{background:var(--ok);border-color:var(--ok)}.combo-empty{margin:0;padding:6px 12px 8px}.combo-problem{color:var(--err);margin:0}.pick-chips{flex-wrap:wrap;gap:6px;margin:0 0 6px;padding:0;list-style:none;display:flex}.pick-chip{border:1px solid var(--line-2);background:var(--raise-2);border-radius:10px;align-items:center;gap:8px;min-width:0;max-width:100%;padding:4px 4px 4px 10px;display:inline-flex}.pick-chip-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.pick-chip-label{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.pick-chip-detail{text-overflow:ellipsis;white-space:nowrap;font-size:.7188rem;overflow:hidden}.mono-chips .pick-chip-label{font-family:var(--mono)}.pick-chip-kind{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:6px;flex:none;padding:1px 6px;font-size:.6875rem;font-weight:600}.pick-chip-x{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;font-size:1rem;line-height:1}.pick-chip-x:hover,.pick-chip-x:focus-visible{background:var(--line);color:var(--text)}.holder-chip{margin:0}.holder-chip .pick-chip{border-radius:var(--r);width:100%;padding-block:6px}.holder-chip .pick-chip-text{flex:1}.grant-form .grant-verbs{border:0;min-width:0;margin:0;padding:0;display:block}.grant-verbs legend{margin-bottom:6px;padding:0}.verb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.verb-option{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;align-items:flex-start;gap:8px;padding:7px 10px;display:flex}.verb-option input{flex:none;margin-top:3px}.verb-option.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.verb-text{flex-direction:column;min-width:0;display:flex}.verb-name{font-weight:500}.verb-help{line-height:1.3}.grant-approve{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);flex-direction:column;gap:12px;min-width:0;margin:0;padding:10px 12px;display:flex}.grant-approve.idle{border-left-color:var(--warn)}.grant-approve>p{margin:0}.grant-limits{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 20px;display:grid}.expiry-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.expiry-row .chip{min-height:30px}.grant-form input.expiry-input{width:6em}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper .btn{justify-content:center;min-width:32px;min-height:32px;font-size:1rem}.stepper input[type=number]{text-align:center;background:var(--raise);border:1px solid var(--line);border-radius:var(--r);-moz-appearance:textfield;width:5.5em;min-height:32px;padding:6px 8px}.stepper input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media (max-width:560px){.verb-grid,.grant-limits{grid-template-columns:minmax(0,1fr)}.pick-chip-x{width:32px;height:32px}}.row-sub{text-overflow:ellipsis;white-space:nowrap;color:var(--faint);margin-top:1px;font-size:.75rem;display:block;overflow:hidden}.side-text{flex-direction:column;flex:1;min-width:0;display:flex}.side-sub{text-overflow:ellipsis;white-space:nowrap;color:var(--faint);font-size:.6875rem;line-height:1.25;overflow:hidden}.home-item-sub{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.sessions-table th.col-busy,.sessions-table td.col-busy{width:108px}.sessions-table .col-touched{width:112px}.sessions-table .col-title{width:22%}.sessions-table .col-now{width:16%}.sessions-table .col-project{width:11%}.sessions-table .col-server,.sessions-table .col-source{width:7%}.sessions-table .col-activity{width:84px}.activity-meter{display:block;overflow:visible}.activity-meter .meter-agent{fill:var(--muted);opacity:.7}.activity-meter .meter-human{fill:var(--accent)}.activity-meter .meter-base{fill:var(--line-2)}.waiting-since{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn);font-variant-numeric:tabular-nums;border-radius:8px;margin-right:6px;padding:0 5px;font-size:.6875rem;line-height:16px;display:inline-block}.side-row .waiting-since{margin:0}.chip-window{border:1px solid var(--line-2);background:var(--raise-2);min-height:26px;color:var(--text);border-radius:13px;padding:0 8px;font-size:.7812rem}.side-section.working .side-section-title{color:var(--text)}@media (max-width:720px){.sessions-table .col-busy{display:none}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,C as r,D as i,G as a,I as o,J as s,N as c,Q as l,S as u,T as d,U as f,W as p,b as m,et as h,k as g,t as _,tt as v,u as y,x as b,y as x}from"./ui-CFB4wQfF.js";import{B as S,F as C,L as w,M as T,N as E,P as D,R as O,U as k,V as A,j,k as M,l as N,s as ee,z as te}from"./toast-CXTwTvDw.js";import{t as P}from"./plural-Bspvoqfq.js";import{O as F,ot as I}from"./index-
|
|
1
|
+
import{$ as e,A as t,B as n,C as r,D as i,G as a,I as o,J as s,N as c,Q as l,S as u,T as d,U as f,W as p,b as m,et as h,k as g,t as _,tt as v,u as y,x as b,y as x}from"./ui-CFB4wQfF.js";import{B as S,F as C,L as w,M as T,N as E,P as D,R as O,U as k,V as A,j,k as M,l as N,s as ee,z as te}from"./toast-CXTwTvDw.js";import{t as P}from"./plural-Bspvoqfq.js";import{O as F,ot as I}from"./index-bX8B6NLo.js";var L={teamsPerUser:100,rolesPerTeam:32,edgesPerTeam:256,sessionsPerRole:16,openIntakePerTeam:500};function ne(e){if(!w(e))return`body must be an object`;if(!T(e.name))return`name must be 2–40 lowercase letters, digits or dashes`;if(!j(e.title))return`title must be 1–120 characters of text`;if(e.description!==void 0&&!E(e.description,4e3))return`description must be at most ${M} characters`;if(e.mode!==`open`&&e.mode!==`restricted`)return`mode must be open or restricted`;if(!Array.isArray(e.roles)||e.roles.length===0||e.roles.length>L.rolesPerTeam)return`roles must list 1–${L.rolesPerTeam} roles`;let t=new Set;for(let n of e.roles){if(!w(n)||!T(n.name))return`each role needs a slug name`;if(t.has(n.name))return`role ${n.name} is listed twice`;if(t.add(n.name),n.label!==void 0&&!j(n.label))return`role ${n.name} label must be 1–120 characters`;if(n.externalContact!==void 0&&typeof n.externalContact!=`boolean`)return`role ${n.name} externalContact must be true or false`}if(typeof e.entryRole!=`string`||!t.has(e.entryRole))return`entryRole must name one of the roles`;let n=e.edges??[];if(!Array.isArray(n)||n.length>L.edgesPerTeam)return`edges must be a list of at most ${L.edgesPerTeam}`;for(let e of n){if(!w(e)||typeof e.from!=`string`||typeof e.to!=`string`||!t.has(e.from)||!t.has(e.to))return`each edge must connect two listed roles`;if(e.from===e.to)return`an edge must connect two different roles`;if(!Array.isArray(e.kinds)||e.kinds.length===0||!e.kinds.every(e=>e===`msg`||e===`ask`))return`edge kinds must be msg and/or ask`;if(e.direction!==`one-way`&&e.direction!==`two-way`)return`edge direction must be one-way or two-way`}return C(e.tags)??D(e.metadata)}var R=e=>typeof e==`object`&&!!e&&!Array.isArray(e),z=e=>typeof e==`string`&&e.length>0?e:void 0,B=e=>typeof e==`number`&&Number.isFinite(e)?e:void 0,V=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`):[],H=/^[a-z0-9][a-z0-9-]{0,38}[a-z0-9]$/,U=e=>({ok:!1,error:e}),W=e=>({ok:!0,spec:e});function re(e){if(!R(e)||!z(e.name))return;let t={name:e.name};for(let n of[`label`,`description`])z(e[n])&&(t[n]=e[n]);typeof e.externalContact==`boolean`&&(t.externalContact=e.externalContact),Array.isArray(e.responsibilities)&&(t.responsibilities=V(e.responsibilities)),R(e.profile)&&z(e.profile.profileID)&&(t.profile={profileID:e.profile.profileID,...B(e.profile.version)===void 0?{}:{version:e.profile.version}}),R(e.prefs)&&(t.prefs=Object.fromEntries(Object.entries(e.prefs).filter(([,e])=>typeof e==`string`)));for(let n of[`minMembers`,`maxMembers`])B(e[n])!==void 0&&(t[n]=e[n]);return t}function ie(e){if(!R(e)||!z(e.from)||!z(e.to))return;let t=V(e.kinds).filter(e=>e===`msg`||e===`ask`);return{from:e.from,to:e.to,kinds:t,direction:e.direction===`two-way`?`two-way`:`one-way`}}function ae(e){if(!R(e)||!z(e.name)||typeof e.title!=`string`||!Array.isArray(e.roles))return;let t=R(e.metadata)?Object.fromEntries(Object.entries(e.metadata).filter(([,e])=>typeof e==`string`)):void 0;return{name:e.name,title:e.title,...z(e.description)?{description:e.description}:{},mode:e.mode===`open`?`open`:`restricted`,roles:e.roles.map(re).filter(e=>!!e),entryRole:typeof e.entryRole==`string`?e.entryRole:``,edges:Array.isArray(e.edges)?e.edges.map(ie).filter(e=>!!e):[],...Array.isArray(e.tags)?{tags:V(e.tags)}:{},...t?{metadata:t}:{},...Array.isArray(e.projects)?{projects:V(e.projects)}:{}}}function oe(e){if(!R(e)||!R(e.team))return;let t=e.team,n=ae(t);if(!z(t.id)||!n||B(t.revision)===void 0)return;let r=R(e.draft)?ae(e.draft.spec):void 0;return{team:{id:t.id,name:n.name,title:n.title,revision:t.revision,version:B(t.version)??1,state:t.state===`archived`?`archived`:`active`,paused:t.paused===!0,hasDraft:R(t.draft)||!!r},published:n,...r?{draft:r}:{}}}var se=(e,t)=>e.roles.some(e=>e.name===t);function ce(e,t,n){let r=t.trim();if(!H.test(r))return U(`A role name is 2–40 lowercase letters, digits or dashes`);if(se(e,r))return U(`There is already a role ${r}`);if(e.roles.length>=L.rolesPerTeam)return U(`A team has at most ${L.rolesPerTeam} roles`);let i=n?.trim();return W({...e,roles:[...e.roles,{name:r,...i?{label:i}:{}}]})}function le(e,t){return se(e,t)?e.entryRole===t?U(`${t} is the entry role: make another role the entry role first`):W({...e,roles:e.roles.filter(e=>e.name!==t),edges:e.edges.filter(e=>e.from!==t&&e.to!==t)}):U(`There is no role ${t}`)}function ue(e,t,n){let r=e.roles.findIndex(e=>e.name===t);if(r<0)return U(`There is no role ${t}`);let i={...e.roles[r]};for(let[e,t]of Object.entries(n))t===void 0||t===``||t===!1?delete i[e]:i[e]=typeof t==`string`?t.trim():t;return i.name=t,W({...e,roles:e.roles.map((e,t)=>t===r?i:e)})}function de(e,t){return se(e,t)?W({...e,entryRole:t}):U(`There is no role ${t}`)}function fe(e,t){if(!se(e,t.from)||!se(e,t.to))return U(`A path connects two roles of the team`);if(t.from===t.to)return U(`A path connects two different roles`);let n=[`msg`,`ask`].filter(e=>t.kinds.includes(e));if(n.length===0)return U(`Choose what the path permits: messages, asks or both`);let r=e=>e.from===t.from&&e.to===t.to||e.from===t.to&&e.to===t.from&&(t.direction===`two-way`||e.direction===`two-way`),i=e.edges.filter(e=>!r(e));return i.length>=L.edgesPerTeam?U(`A team has at most ${L.edgesPerTeam} paths`):W({...e,edges:[...i,{from:t.from,to:t.to,kinds:n,direction:t.direction}]})}function pe(e,t,n){let r=e=>e.from===t&&e.to===n||e.direction===`two-way`&&e.from===n&&e.to===t;return e.edges.some(r)?W({...e,edges:e.edges.filter(e=>!r(e))}):U(`There is no path ${t} → ${n}`)}var me=(e,t)=>W({...e,mode:t});function he(e,t){let n={...e};if(t.title!==void 0&&(n.title=t.title.trim()),t.description!==void 0){let e=t.description.trim();e?n.description=e:delete n.description}if(t.tags!==void 0){let e=[...new Set(t.tags.split(/[\s,]+/).filter(Boolean))];e.length?n.tags=e:delete n.tags}if(t.metadata!==void 0){let e={};for(let n of t.metadata.split(`
|
|
2
2
|
`)){if(!n.trim())continue;let t=n.indexOf(`=`);if(t<=0)return U(`Metadata is key=value, one per line ("${n.trim().slice(0,40)}")`);e[n.slice(0,t).trim()]=n.slice(t+1).trim()}Object.keys(e).length?n.metadata=e:delete n.metadata}return W(n)}var ge=e=>(e.tags??[]).join(`, `),_e=e=>Object.entries(e.metadata??{}).map(([e,t])=>`${e}=${t}`).join(`
|
|
3
3
|
`);function ve(e){let t=[],n=new Set(e.roles.map(e=>e.name));e.roles.length===0?t.push({level:`error`,field:`roles`,message:`Add at least one role`}):n.has(e.entryRole)||t.push({level:`error`,field:`entry`,message:`Choose an entry role: it receives the team's work`});let r=new Map;for(let i of e.edges){let e=`edge:${i.from}>${i.to}`;if(!n.has(i.from)||!n.has(i.to)){t.push({level:`error`,field:e,message:`The path ${i.from} → ${i.to} points at a role that isn't in the team`});continue}let a=[i.from,i.to].sort().join(`>`),o=r.get(a);if(o&&(o.from===i.from||o.direction===`two-way`||i.direction===`two-way`)){let[n,r]=[i.from,i.to].sort();t.push({level:`error`,field:e,message:o.from===i.from&&o.to===i.to?`${i.from} → ${i.to} is drawn twice`:`${n} and ${r} already have a two-way path: edit that one`})}else r.set(a,i)}if(!t.some(e=>e.level===`error`)){let n=ne(e);n&&t.push({level:`error`,field:/^roles? |^each role|^role /.test(n)?`roles`:/^entryRole/.test(n)?`entry`:/edge/.test(n)?`edges`:`team`,message:n})}if(e.mode===`restricted`&&e.roles.length>1)for(let n of e.roles)e.edges.some(e=>e.from===n.name||e.to===n.name)||t.push({level:`warning`,field:`role:${n.name}`,message:`${n.name} has no path: in a restricted team its members can't message anyone in the team`});return t}var ye=e=>e.some(e=>e.level===`error`),be=e=>({past:[],present:e,future:[]});function xe(e,t){return JSON.stringify(t)===JSON.stringify(e.present)?e:{past:[...e.past,e.present].slice(-100),present:t,future:[]}}function Se(e){return e.past.length===0?e:{past:e.past.slice(0,-1),present:e.past[e.past.length-1],future:[e.present,...e.future]}}function Ce(e){return e.future.length===0?e:{past:[...e.past,e.present],present:e.future[0],future:e.future.slice(1)}}function we(e,t){return{expectedRevision:t,title:e.title,description:e.description??null,mode:e.mode,roles:e.roles,entryRole:e.entryRole,edges:e.edges,tags:e.tags?.length?e.tags:null,metadata:e.metadata&&Object.keys(e.metadata).length?e.metadata:null,...e.projects?{projects:e.projects.length?e.projects:null}:{}}}function Te(e){let t=e.name.trim();if(!H.test(t))return{ok:!1,field:`name`,error:`The name is the team's address (#name): 2–40 lowercase letters, digits or dashes. It can't change later.`};let n=e.title.trim();if(!n||n.length>120)return{ok:!1,field:`title`,error:`Give the team a title (up to 120 characters)`};let r=e.entryRole.trim();if(!H.test(r))return{ok:!1,field:`entry`,error:`The entry role (for example pm) is 2–40 lowercase letters, digits or dashes`};let i=e.entryLabel?.trim();return{ok:!0,body:{name:t,title:n,mode:e.mode,roles:[{name:r,...i?{label:i}:{}}],entryRole:r,edges:[]}}}var Ee=e=>JSON.stringify(e,(e,t)=>R(t)?Object.fromEntries(Object.keys(t).sort().map(e=>[e,t[e]])):t);function De(e,t){return{added:[...t.keys()].filter(t=>!e.has(t)),removed:[...e.keys()].filter(e=>!t.has(e)),changed:[...t.keys()].filter(n=>e.has(n)&&Ee(e.get(n))!==Ee(t.get(n)))}}function Oe(e,t){let n=[`title`,`description`,`mode`,`entryRole`].filter(n=>(e[n]??``)!==(t[n]??``)),r=e=>new Map(e.roles.map(e=>[e.name,e])),i=e=>new Map(e.edges.map(e=>[`${e.from}>${e.to}`,{...e,kinds:[...e.kinds].sort()}])),a=(e=[],t=[])=>({added:t.filter(t=>!e.includes(t)),removed:e.filter(e=>!t.includes(e))});return{fields:n,roles:De(r(e),r(t)),edges:De(i(e),i(t)),tags:a(e.tags,t.tags),metadata:De(new Map(Object.entries(e.metadata??{})),new Map(Object.entries(t.metadata??{}))),projects:a(e.projects,t.projects)}}function ke(e){if(!R(e)||!R(e.diff))return;let t=e.diff,n=e=>({added:R(e)?V(e.added):[],removed:R(e)?V(e.removed):[],changed:R(e)?V(e.changed):[]}),r=e=>({added:R(e)?V(e.added):[],removed:R(e)?V(e.removed):[]});return{fields:V(t.fields),roles:n(t.roles),edges:n(t.edges),tags:r(t.tags),metadata:n(t.metadata),projects:r(t.projects)}}var Ae={title:`title`,description:`description`,mode:`communication (open/restricted)`,entryRole:`entry role`},je=e=>e.replace(`>`,` → `);function Me(e){let t=[];e.fields.length&&t.push(`Changed: ${e.fields.map(e=>Ae[e]??e).join(`, `)}`);let n=(e,n,r=e=>e)=>n.length&&t.push(`${e}: ${n.map(r).join(`, `)}`);return n(`Roles added`,e.roles.added),n(`Roles removed`,e.roles.removed),n(`Roles changed`,e.roles.changed),n(`Paths added`,e.edges.added,je),n(`Paths removed`,e.edges.removed,je),n(`Paths changed`,e.edges.changed,je),n(`Tags added`,e.tags.added),n(`Tags removed`,e.tags.removed),n(`Metadata added`,e.metadata.added),n(`Metadata removed`,e.metadata.removed),n(`Metadata changed`,e.metadata.changed),n(`Projects added`,e.projects.added),n(`Projects removed`,e.projects.removed),t}var Ne=e=>Me(e).length===0;function Pe(e){let t=e,n=typeof t?.message==`string`&&t.message?t.message:String(e);if(t?.status===409&&t.code===`conflict`){let e=B(t.details?.currentRevision);return{kind:`conflict`,message:`Someone changed this team${e===void 0?``:` (revision ${e} now)`}.`,...e===void 0?{}:{currentRevision:e},missing:[]}}return t?.status===403&&t.code===`needs_user`?{kind:`needs_user`,message:n,missing:(Array.isArray(t.details?.missing)?t.details.missing:[]).filter(R).map(e=>`${z(e.verb)??`?`}${z(e.directory)?` in ${e.directory}`:``}`)}:{kind:`error`,message:n,missing:[]}}function Fe(e){let t=R(e)?e.roster:void 0;if(!R(t)||!Array.isArray(t.roles))return;let n=t.roles.filter(R).map(e=>({role:String(e.role??``),entry:e.entry===!0,minMembers:B(e.minMembers)??0,maxMembers:B(e.maxMembers)??L.sessionsPerRole,vacant:e.vacant===!0,understaffed:e.understaffed===!0,launching:B(e.launching)??0,seats:(Array.isArray(e.seats)?e.seats:[]).filter(R).map(e=>R(e.staffing)?{s:e.staffing,presence:z(e.presence)??`unknown`}:void 0).filter(e=>!!e&&!!z(e.s.id)&&!!z(e.s.sessionID)).map(({s:e,presence:t})=>({staffingID:e.id,sessionID:e.sessionID,revision:B(e.revision)??1,generation:B(e.generation)??1,presence:t}))}));return{roles:n,seats:n.flatMap(e=>e.seats.map(t=>({sessionID:t.sessionID,role:e.role})))}}function Ie(e,t,n,r){let i={label:n.title||n.name,name:t.name,mode:n.mode,roles:n.roles.map(e=>e.name),entryRole:n.entryRole,tags:n.tags??[],...n.metadata?{metadata:n.metadata}:{}},a=e.nodes.some(e=>e.id===t.id),o=e.nodes.map(e=>{if(e.id===t.id){let{metadata:t,...n}=e;return{...n,...i}}if(e.kind!==`session`||!r)return e;let n=e.seats.filter(e=>e.teamID!==t.id),a=r.filter(t=>t.sessionID===e.id).map(e=>({teamID:t.id,role:e.role}));if(!a.length&&n.length===e.seats.length&&!e.teamIDs.includes(t.id))return e;let o=[...n,...a],s=[...new Set([...e.teamIDs.filter(e=>e!==t.id||a.length),...o.map(e=>e.teamID)])];return{...e,seats:o,teamIDs:s}});return a||o.push({id:t.id,kind:`team`,depth:0,workspaceIDs:[],teamIDs:[],harnesses:[],seats:[],projects:n.projects??[],...i}),{...e,nodes:o}}function Le(e,t){let n=`role:${t}:`;return e.startsWith(n)?e.slice(n.length):void 0}function Re(e,t,n){let r=Le(n,e);if(r===void 0)return;let i=Le(t,e);if(i!==void 0)return i===r?void 0:{type:`connect`,from:i,to:r};if(t.startsWith(`ses_`))return{type:`attach`,sessionID:t,role:r}}function ze(e){let t=e.repo.trim();if(!t.startsWith(`/`))return{ok:!1,field:`repo`,error:`Name the repository on the machine (an absolute path)`};let n=e.branch?.trim();if(e.mode===`worktree`&&!n)return{ok:!1,field:`branch`,error:`A worktree needs a branch name`};let r=e.remote?.trim();if(e.mode===`clone`&&!r)return{ok:!1,field:`remote`,error:`A clone needs the remote URL`};let i=e.name?.trim();if(i&&!H.test(i))return{ok:!1,field:`name`,error:`A session name is 2–40 lowercase letters, digits or dashes`};let a=e.profile?.trim()?/^(.+)@([0-9]+)$/.exec(e.profile.trim()):void 0;if(e.profile?.trim()&&!a)return{ok:!1,field:`profile`,error:`Choose a profile version`};let o=e.prompt?.trim();return{ok:!0,body:{role:e.role,launch:{workspace:{repo:t,mode:e.mode,...n&&e.mode===`worktree`?{branch:n}:{},...r&&e.mode===`clone`?{remote:r}:{}},...e.harness?{harness:e.harness}:{},...e.machine?{placement:{machine:e.machine}}:{},...a?{agentProfile:{profileID:a[1],version:Number(a[2])}}:{},...i?{name:i}:{},...o?{prompt:o}:{}}}}}var Be=[`low`,`normal`,`high`,`urgent`];function Ve(e){let t=e.title.trim();if(!t)return{ok:!1,field:`title`,error:`Give the task a title`};if(t.length>120||/\n/.test(t))return{ok:!1,field:`title`,error:`A title is one line of at most 120 characters`};let n=e.brief?.trim();if(n&&n.length>16e3)return{ok:!1,field:`brief`,error:`A brief is at most 16,000 characters`};let r=(e.criteria??``).split(`
|
|
4
4
|
`).map(e=>e.trim()).filter(Boolean);if(r.length>8)return{ok:!1,field:`criteria`,error:`At most 8 criteria`};if(r.some(e=>e.length>200))return{ok:!1,field:`criteria`,error:`A criterion is at most 200 characters`};let i=Be.find(t=>t===e.priority);return{ok:!0,body:{title:t,...n?{brief:n}:{},...i&&i!==`normal`?{priority:i}:{},...r.length?{criteria:r}:{}}}}var He=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Ue=e=>typeof e==`string`&&e.length>0?e:void 0,We=e=>typeof e==`number`&&Number.isFinite(e)?e:void 0,Ge=[`queued`,`routed`,`done`,`cancelled`,`failed`],Ke=[`open`,`in_progress`,`blocked`];function qe(e){if(!He(e)||!Ue(e.id)||typeof e.title!=`string`)return;let t=Ge.find(t=>t===e.status),n=We(e.createdAt);if(!t||n===void 0)return;let r=Ke.find(t=>t===e.progress),i={id:e.id,title:e.title,status:t,priority:Ue(e.priority)??`normal`,revision:We(e.revision)??1,createdAt:n,updatedAt:We(e.updatedAt)??n};r&&(i.progress=r);for(let t of[`sessionID`,`workspaceID`,`assignmentID`,`reason`,`lastError`,`ref`])Ue(e[t])&&(i[t]=e[t]);return i}function Je(e){let t=(He(e)&&Array.isArray(e.items)?e.items:[]).map(qe).filter(e=>!!e).sort((e,t)=>t.createdAt-e.createdAt),n=He(e)?Ue(e.cursor):void 0;return n?{items:t,cursor:n}:{items:t}}var Ye={queued:`Queued`,routed:`Routed`,in_progress:`In progress`,blocked:`Blocked`,done:`Done`,failed:`Failed`,cancelled:`Cancelled`};function Xe(e){return e.status===`routed`?e.progress===`in_progress`||e.progress===`blocked`?e.progress:`routed`:e.status}var Ze=e=>e.status===`queued`||e.status===`routed`;function Qe(e){let t=(...e)=>[`queued`,`routed`,`working`,`closed`].map((t,n)=>({step:t,state:e[n]}));switch(Xe(e)){case`queued`:return t(`current`,`todo`,`todo`,`todo`);case`routed`:return t(`done`,`current`,`todo`,`todo`);case`in_progress`:return t(`done`,`done`,`current`,`todo`);case`blocked`:return t(`done`,`done`,`blocked`,`todo`);case`done`:return t(`done`,`done`,`done`,`done`);default:return e.sessionID||e.assignmentID?t(`done`,`done`,`done`,`failed`):t(`done`,`skipped`,`skipped`,`failed`)}}function $e(e){if(!He(e))return;let t=t=>We(e[t])??0;return{queued:t(`queued`),routed:t(`routed`),done:t(`done`),cancelled:t(`cancelled`),failed:t(`failed`),open:t(`open`),inProgress:t(`inProgress`),blocked:t(`blocked`)}}var et=e=>e.queued+e.routed;function tt(e,t,n){return{...e,...t?{seatsFilled:t.seats.length}:{},vacantRoles:t?t.roles.filter(e=>e.vacant||!e.seats.length).map(e=>e.role):[],...n?{openIntake:et(n)}:{}}}function nt(e){return(He(e)&&Array.isArray(e.items)?e.items:[]).filter(He).map(e=>({version:We(e.version),publishedAt:We(e.publishedAt)})).filter(e=>e.version!==void 0&&e.publishedAt!==void 0).sort((e,t)=>t.version-e.version)}var rt=(e,t)=>t?e.nodes.find(e=>e.kind===`machine`&&e.machineID===t)?.label:void 0,it=e=>e.status!==`offline`&&e.status!==`ended`;function at(e,t){return e.seats.map(e=>{let n=t?.nodes.find(t=>t.id===e.sessionID&&t.kind===`session`),r=t&&n?rt(t,n.machineID):void 0;return{...e,online:e.presence===`online`,name:n?.label??e.sessionID,...r?{machine:r}:{},...n?.harness?{harness:n.harness}:{}}})}function ot(e,t){if(!e)return[];let n=t=>e.nodes.find(e=>e.id===t)?.label??t,r=t.query.trim().toLowerCase();return e.nodes.filter(e=>e.kind===`session`&&e.status!==`ended`).map(r=>{let i=rt(e,r.machineID),a=t.roster?t.roster.filter(e=>e.sessionID===r.id).map(e=>e.role):r.seats.filter(e=>e.teamID===t.teamID).map(e=>e.role),o=r.seats.filter(e=>e.teamID!==t.teamID).map(e=>({teamID:e.teamID,team:n(e.teamID),role:e.role}));return{sessionID:r.id,name:r.label,...i?{machine:i}:{},...r.harness?{harness:r.harness}:{},online:it(r),seated:a.includes(t.role),here:a,memberships:o,hay:[r.label,r.id,i,r.harness,...o.flatMap(e=>[e.team,e.role])].filter(Boolean).join(` `).toLowerCase()}}).filter(e=>!r||e.hay.includes(r)).sort((e,t)=>Number(t.online)-Number(e.online)||e.name.localeCompare(t.name)||(e.sessionID<t.sessionID?-1:1)).map(({hay:e,...t})=>t)}function st(e){if(e.visible)return e.openWork?5e3:3e4}function ct(e,t,n){return e>=n?e>n?`full (${e} of ${n})`:`full (${n})`:t>0&&e<t?`${e} of ${t} required`:`${P(e,`member`)} · up to ${n}`}var lt=[`msg`,`ask`,`reply`,`decision`,`launch`,`policy`],ut=[...lt,`denied`],dt=[`working`,`idle`,`needs-you`,`error`,`offline`,`ended`],G=e=>typeof e==`object`&&!!e&&!Array.isArray(e),K=e=>typeof e==`string`&&e.length>0?e:void 0,q=e=>typeof e==`number`&&Number.isFinite(e)?e:void 0,ft=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`&&e.length>0):[];function pt(e){if(!G(e))return;let t={};for(let[n,r]of Object.entries(e))typeof r==`number`&&Number.isFinite(r)&&r>0&&(t[n]=r);return Object.keys(t).length?t:void 0}function mt(e){if(!G(e))return;let t={};for(let[n,r]of Object.entries(e))n&&typeof r==`string`&&(t[n]=r);return Object.keys(t).length?t:void 0}function ht(e){return Array.isArray(e)?e.filter(e=>G(e)&&!!K(e.teamID)&&!!K(e.role)).map(e=>({teamID:e.teamID,role:e.role})):[]}var gt=new Set([`hub`,`machine`,`session`,`user`,`team`]),_t=new Set([`idle`,`working`,`blocked`,`error`,`offline`,`ended`]),J=(e,t)=>t===void 0?{}:{[e]:t};function vt(e){if(!G(e))return;let t=K(e.id),n=K(e.kind);if(!t||!n||!gt.has(n))return;let r=K(e.status),i=n===`session`&&e.concierge===!0,a=K(e.label)??t;return{id:t,kind:e.party===`app`?`app`:n,label:i&&!a.startsWith(`@`)?`@@concierge`:a,...J(`concierge`,i?!0:void 0),...J(`machineID`,K(e.machineID)),...J(`harness`,K(e.harness)),...J(`parentID`,K(e.parentID)),...J(`rootID`,K(e.rootID)),...J(`supervisorID`,K(e.supervisorID)),...J(`launchID`,K(e.launchID)),depth:q(e.depth)??0,...J(`status`,r&&_t.has(r)?r:void 0),...J(`online`,typeof e.online==`boolean`?e.online:void 0),roles:ft(e.roles),workspaceIDs:ft(e.workspaceIDs),teamIDs:ft(e.teamIDs),harnesses:ft(e.harnesses),...J(`project`,K(e.project)),...J(`lastSeen`,q(e.lastSeen)),tags:ft(e.tags),...J(`labels`,mt(e.labels)),seats:ht(e.seats),...J(`name`,K(e.name)),projects:ft(e.projects),...J(`mode`,e.mode===`open`||e.mode===`restricted`?e.mode:void 0),...J(`paused`,e.paused===!0||void 0),...J(`metadata`,mt(e.metadata)),...J(`entryRole`,K(e.entryRole))}}function yt(e,t){if(!G(e))return;let n=K(e.id),r=K(e.kind),i=K(e.from),a=K(e.to);if(n&&r&<.includes(r)&&i&&a&&t.has(i)&&t.has(a))return{id:n,kind:r,from:i,to:a,count:q(e.count)??0,lastAt:q(e.lastAt)??0,...J(`firstAt`,q(e.firstAt)),...J(`states`,pt(e.states)),...J(`delivery`,pt(e.delivery)),...J(`declined`,q(e.declined)||void 0),...J(`denied`,q(e.denied)||void 0),...J(`roleAddressed`,q(e.roleAddressed)||void 0),...J(`teamID`,K(e.teamID)),...J(`permitted`,typeof e.permitted==`boolean`?e.permitted:void 0),...J(`kinds`,ft(e.kinds).length?ft(e.kinds):void 0)}}function bt(e){if(!G(e)||e.v!==1||!Array.isArray(e.nodes)||!Array.isArray(e.edges))return;let t=new Map;for(let n of e.nodes){let e=vt(n);e&&!t.has(e.id)&&t.set(e.id,e)}t.has(`hub`)||t.set(`hub`,{id:`hub`,kind:`hub`,label:`Hub`,depth:0,roles:[],workspaceIDs:[],teamIDs:[],harnesses:[],tags:[],seats:[],projects:[]});let n=new Set(t.keys()),r=e.edges.map(e=>yt(e,n)).filter(e=>e!==void 0),i=q(e.at)??0,a=G(e.window)?{since:q(e.window.since)??0,until:q(e.window.until)??i}:{since:0,until:i},o=G(e.retention)?e.retention:{};return{at:i,window:a,nodes:[...t.values()],edges:r,truncated:o.truncated===!0,...J(`oldestAt`,q(o.oldestAt)),capped:e.capped===!0,hiddenMessages:G(e.hidden)?q(e.hidden.messages)??0:0}}function xt(e){switch(e.status){case`working`:case`idle`:case`error`:case`offline`:case`ended`:return e.status;case`blocked`:return`needs-you`}return e.online===!1?`offline`:void 0}var St={working:`Working`,idle:`Idle`,"needs-you":`Needs you`,error:`Error`,offline:`Offline`,ended:`Ended`},Ct={working:`--blue`,idle:`--faint`,"needs-you":`--warn`,error:`--err`,offline:`--line-2`,ended:`--faint`},wt={working:`pulse`,idle:`thin`,"needs-you":`thick`,error:`double`,offline:`broken`,ended:`none`},Tt=[`--accent`,`--blue`,`--violet`,`--orange`,`--ok`,`--warn`],Et=[`●`,`▲`,`■`,`◆`,`★`,`⬟`,`✚`,`⬢`],Dt=[`opencode`,`claude-code`,`codex`],Ot={opencode:`sphere`,"claude-code":`cube`,codex:`octahedron`},kt=e=>e.harness??`unknown`,At=e=>Ot[e]??(e===`unknown`?`dodecahedron`:`tetrahedron`),jt=e=>e===`unknown`?`Unknown harness`:F(e),Mt={sphere:`circle`,cube:`square`,octahedron:`diamond`,tetrahedron:`triangle`,dodecahedron:`pentagon`},Nt=[{kind:`msg`,label:`Message`,style:`solid`,color:`--accent`,description:`A message from one party to another; dashed while some are still queued or pending.`},{kind:`ask`,label:`Ask`,style:`solid`,color:`--blue`,description:`A question waiting for a reply; dashed while one is open.`},{kind:`reply`,label:`Reply`,style:`solid`,color:`--violet`,description:`Replies and declines to asks.`},{kind:`decision`,label:`Decision`,style:`solid`,color:`--warn`,description:`An ask to you, answered on the console; dashed while open.`},{kind:`launch`,label:`Launch`,style:`solid`,color:`--orange`,description:`Who started a session.`},{kind:`policy`,label:`Team path`,style:`dotted`,color:`--muted`,description:`A path a restricted team declares, with or without traffic: an arrowhead at one end is one-way, at both ends two-way; the kinds it permits are written on it.`},{kind:`denied`,label:`Denied attempt`,style:`dashed`,color:`--err`,description:`Messages a team's policy refused, marked with a cross and the count (only you see these).`}],Pt=()=>Nt,Ft=e=>Nt.find(t=>t.kind===e).label,It=e=>Nt.find(t=>t.kind===e).color,Lt={"1h":{ms:36e5,label:`Last hour`},"6h":{ms:216e5,label:`Last 6 hours`},"24h":{ms:864e5,label:`Last 24 hours`},"7d":{ms:6048e5,label:`Last 7 days`}},Rt={machine:`Machine`,harness:`Harness`,workspace:`Workspace`,team:`Team`,none:`Nothing`},zt={window:`24h`,groupBy:`machine`,tree:!0,kinds:new Set([`msg`,`ask`,`reply`,`decision`,`launch`,`denied`]),search:``},Bt=e=>`machine:${e}`,Vt=e=>e.kind===`hub`||e.kind===`user`||e.kind===`app`;function Ht(e,t){return e.nodes.filter(e=>e.kind===`machine`).sort((e,t)=>Number(t.online===!0)-Number(e.online===!0)||e.label.localeCompare(t.label)||(e.id<t.id?-1:1)).map((e,n)=>{let r=e.machineID??e.id.replace(/^machine:/,``);return{id:r,label:e.label,index:n,color:Tt[n%Tt.length],symbol:Et[n%Et.length],sessions:t.filter(e=>e.machineID===r).length,online:e.online===!0}})}function Ut(e){let t=new Map;for(let n of e)t.set(kt(n),(t.get(kt(n))??0)+1);let n=e=>Dt.includes(e)?Dt.indexOf(e):e===`unknown`?1e3:100;return[...t.keys()].sort((e,t)=>n(e)-n(t)||e.localeCompare(t)).map(e=>({id:e,label:jt(e),shape:At(e),sessions:t.get(e)}))}function Wt(e){return e.every(e=>e.kind===`policy`)?`dotted`:Zt(e)?`dashed`:`solid`}var Gt=e=>Math.round((.6+Math.min(5.4,Math.log2(1+Math.max(0,e))*1.2))*100)/100,Kt={holdMs:5e3,liveHalfLifeMs:45e3,idleHalfLifeMs:6e3,floor:.05};function qt(e,t){if(!e.lastAt)return 0;let n=Math.max(0,t-e.lastAt);if(n<=Kt.holdMs)return 1;if(n>9e5)return 0;let r=.5**((n-Kt.holdMs)/(e.live?Kt.liveHalfLifeMs:Kt.idleHalfLifeMs));return r<Kt.floor?0:r}function Jt(e,t,n){return n.reducedMotion||t<=0?0:Math.max(1,Math.round(t*Math.min(4,1+Math.floor(Math.log2(Math.max(1,e))))))}var Yt=e=>e===`dropped`||e===`expired`?`not delivered`:e,Xt=e=>e&&Object.keys(e).length?Object.entries(e).map(([e,t])=>`${Yt(e)} ${t}`).join(`, `):void 0,Zt=e=>e.some(e=>(e.delivery?.pending??0)+(e.delivery?.queued??0)>0||(e.states?.open??0)>0),Y=(e,t,n,r=!1)=>({id:`s|${e}|${t}`,source:e,target:t,kind:`structure`,structure:n,count:0,lastAt:0,width:.4,style:`solid`,particles:0,edgeIDs:[],...r?{bridge:!0}:{}});function Qt(e,t,n,r){let i=new Map;for(let n of e){if(n.kind===`policy`)continue;let e=t(n.from),r=t(n.to);if(e===void 0||r===void 0||e===r)continue;let a=`${n.kind}|${e}|${r}`,o=i.get(a)??{kind:n.kind,source:e,target:r,edges:[]};o.edges.push(n),i.set(a,o)}return[...i.entries()].map(([e,t])=>{let i=t.edges.reduce((e,t)=>e+t.count,0),a=Math.max(0,...t.edges.map(e=>e.lastAt)),o=Zt(t.edges)||t.edges.some(e=>r(e.from)||r(e.to));return{id:t.edges.length===1?t.edges[0].id:e,source:t.source,target:t.target,kind:t.kind,count:i,lastAt:a,width:Gt(i),style:Wt(t.edges),particles:Jt(i,qt({lastAt:a,live:o},n.now),n),live:o,edgeIDs:t.edges.map(e=>e.id)}})}function $t(e,t,n){let r=new Map,i=new Map;for(let a of e){if(a.kind!==`policy`)continue;let e=t(a.from),o=t(a.to);if(e!==void 0&&o!==void 0&&e!==o){if(n.has(`policy`)&&a.permitted!==!1){let[t,n]=e<o?[e,o]:[o,e],i=`${t}|${n}|${a.teamID??``}`,s=r.get(i)??{a:t,b:n,directions:new Set,edges:[]};s.directions.add(`${e}|${o}`),s.edges.push(a),r.set(i,s)}if(n.has(`denied`)&&(a.denied??0)>0){let t=`${e}|${o}`,n=i.get(t)??{source:e,target:o,edges:[]};n.edges.push(a),i.set(t,n)}}}let a=[];for(let[e,t]of r){let n=t.directions.size>1,[r,i]=n?[t.a,t.b]:t.directions.values().next().value.split(`|`),o=t.edges.reduce((e,t)=>e+t.count,0),s=[...new Set(t.edges.flatMap(e=>e.kinds??[]))].sort();a.push({id:t.edges.length===1?t.edges[0].id:`policy|${e}`,source:r,target:i,kind:`policy`,count:o,lastAt:Math.max(0,...t.edges.map(e=>e.lastAt)),width:Gt(o),style:`dotted`,particles:0,edgeIDs:t.edges.map(e=>e.id),twoWay:n,kinds:s})}for(let[e,t]of i){let n=t.edges.reduce((e,t)=>e+(t.denied??0),0);a.push({id:`denied|${e}`,source:t.source,target:t.target,kind:`denied`,count:n,denied:n,lastAt:Math.max(0,...t.edges.map(e=>e.lastAt)),width:Gt(n),style:`dashed`,particles:0,edgeIDs:t.edges.map(e=>e.id)})}return a.sort((e,t)=>e.kind<t.kind?-1:e.kind>t.kind?1:e.source<t.source?-1:e.source>t.source?1:e.target<t.target?-1:+(e.target>t.target))}function en(e,t=0,n=0){switch(e){case`hub`:return 14;case`machine`:case`cluster`:case`team`:return 7;case`role`:return 4.5;case`aggregate`:return Math.round((4+Math.log2(1+n)*2)*10)/10;case`user`:case`app`:return 5;default:return Math.round((3+Math.min(5,Math.log2(1+t)))*10)/10}}function tn(e){return e.split(/[\s,]+/).filter(Boolean).map(e=>{let t=e.indexOf(`=`);return t<=0?{key:t===0?e.slice(1):e}:{key:e.slice(0,t),value:e.slice(t+1)}}).filter(e=>e.key.length>0)}var X=(e,t)=>`role:${e}:${t}`,nn=`group:none`,rn={machine:`No machine`,harness:`Sessions`,workspace:`No workspace`,team:`No team`,none:`All sessions`},an=(e,t)=>e.label.localeCompare(t.label)||(e.id<t.id?-1:+(e.id>t.id));function on(e,t){let n=new Map(e.nodes.filter(e=>e.kind===`team`).map(e=>[e.id,e])),r=(e,t)=>e===t||n.get(e)?.name===t,[i,a]=t.role?t.role.split(`#`,2):[],o=t.project?.toLowerCase(),s=t.meta?tn(t.meta):[],c=(e,t)=>e!==void 0&&Object.prototype.hasOwnProperty.call(e,t.key)&&(t.value===void 0||e[t.key].toLowerCase()===t.value.toLowerCase());return e=>(!t.machine||e.machineID===t.machine)&&(!t.harness||kt(e)===t.harness)&&(!t.states?.size||xt(e)!==void 0&&t.states.has(xt(e)))&&(!t.team||e.teamIDs.some(e=>r(e,t.team)))&&(!i||e.seats.some(e=>e.role===i&&(!a||r(e.teamID,a)))||!a&&e.roles.some(e=>e===i||e.split(`.`)[0]===i))&&(o===void 0||e.project?.toLowerCase()===o)&&(!t.workspace||e.workspaceIDs.includes(t.workspace))&&(!t.tag||e.tags.includes(t.tag)||e.teamIDs.some(e=>n.get(e)?.tags.includes(t.tag)))&&s.every(t=>c(e.labels,t)||e.teamIDs.some(e=>c(n.get(e)?.metadata,t)))}var sn=e=>!!(e.machine||e.harness||e.states?.size||e.team||e.role||e.project||e.workspace||e.tag||e.meta?.trim());function cn(e,t,n){let r=n.maxNodes??600,i=new Map(e.nodes.map(e=>[e.id,e])),a=e=>i.get(e)?.status===`working`,o=e.nodes.filter(e=>e.kind===`session`).filter(on(e,t)),s=new Set(o.map(e=>e.id)),c=Ht(e,o),l=new Map(c.map(e=>[e.id,e.index])),u=new Map(c.map(e=>[e.id,e.label])),d=e.nodes.filter(Vt),f=t.groupBy===`machine`?e.nodes.filter(e=>e.kind===`machine`&&(!t.machine||e.machineID===t.machine)):[];f.sort((e,t)=>(l.get(e.machineID??``)??1e9)-(l.get(t.machineID??``)??1e9));let p=new Set(f.map(e=>e.id)),m=e.nodes.filter(e=>e.kind===`team`),h=new Set(m.map(e=>e.id)),g=t.team?new Set(m.filter(e=>e.id===t.team||e.name===t.team).map(e=>e.id)):void 0,_=t.groupBy===`team`,v=_?m.filter(e=>(!g||g.has(e.id))&&(!sn(t)||o.some(t=>t.teamIDs.includes(e.id)))).sort(an):[],y=new Set(v.map(e=>e.id)),b=e=>{let t=e.roles.length?[...e.roles]:[...new Set(o.flatMap(t=>t.seats.filter(t=>t.teamID===e.id).map(e=>e.role)))].sort();return e.entryRole&&t.includes(e.entryRole)?[e.entryRole,...t.filter(t=>t!==e.entryRole)]:t},x=new Map(v.map(e=>[e.id,b(e)])),S=new Map;if(_){for(let t of e.nodes)if(t.kind===`session`)for(let e of t.seats)S.set(X(e.teamID,e.role),(S.get(X(e.teamID,e.role))??0)+1)}let C=e=>s.has(e)||i.has(e)&&Vt(i.get(e))||p.has(e),w=e=>e.kind===`policy`?t.kinds.has(`policy`)&&e.permitted!==!1||t.kinds.has(`denied`)&&(e.denied??0)>0:t.kinds.has(e.kind),T=e.edges.filter(e=>w(e)&&C(e.from)&&C(e.to)),E=new Map;for(let e of T)if(e.kind!==`policy`)for(let t of[e.from,e.to])E.set(t,(E.get(t)??0)+e.count);let D=new Map,O=e=>e.teamIDs.find(e=>y.has(e)),k=e=>{switch(t.groupBy){case`machine`:return e.machineID&&p.has(Bt(e.machineID))?Bt(e.machineID):`hub`;case`harness`:{let t=kt(e),n=`group:harness:${t}`;return D.has(n)||D.set(n,{id:n,kind:`cluster`,label:jt(t),shape:At(t),size:en(`cluster`),match:!1,dim:!1}),n}case`workspace`:{let t=e.workspaceIDs[0];if(!t)return`hub`;let n=`group:workspace:${t}`;return D.has(n)||D.set(n,{id:n,kind:`cluster`,label:t,size:en(`cluster`),match:!1,dim:!1}),n}case`team`:return O(e)??`hub`;case`none`:return`hub`}},A=e=>{let t=O(e);if(t===void 0)return;let n=e.seats.filter(e=>e.teamID===t);return n.find(e=>e.role===i.get(t)?.entryRole)??n[0]},j=e=>e.parentID!==void 0&&s.has(e.parentID)?e.parentID:void 0,M=e=>{let t=e;for(let e=0;e<64;e++){let e=j(t);if(e===void 0)break;t=i.get(e)}return t},N=e=>{let n=e;for(let e=0;e<64&&!(_&&O(n)!==void 0);e++){let e=t.tree?j(n):void 0;if(e===void 0)break;n=i.get(e)}let r=k(n),a=r===`hub`?nn:r;if(!_||a===nn)return{group:a};let o=A(n);return o?{group:a,section:X(o.teamID,o.role)}:{group:a}},ee=e=>{let t=e.teamIDs.filter(e=>h.has(e)).length;return t>1?t:void 0},te=(e,t)=>({id:e.id,kind:`session`,label:e.label,...J(`machine`,e.machineID===void 0?void 0:l.get(e.machineID)),harness:kt(e),shape:At(kt(e)),...J(`ring`,xt(e)),size:en(`session`,E.get(e.id)??0),match:!1,dim:!1,...J(`folded`,t),...J(`teams`,ee(e)),...J(`seat`,_?A(e)?.role:void 0)}),P=e=>({id:e.id,kind:`team`,label:e.label,size:en(`team`),match:!1,dim:!1,...J(`mode`,e.mode),...J(`paused`,e.paused)}),F=e=>[...d.map(e=>({id:e.id,kind:e.kind,label:e.label,size:en(e.kind),match:!1,dim:!1})),...f.map(e=>({id:e.id,kind:`machine`,label:e.label,...J(`machine`,e.machineID===void 0?void 0:l.get(e.machineID)),...J(`ring`,e.online===!1?`offline`:void 0),size:en(`machine`),match:!1,dim:!1})),...v.map(P),...e?v.flatMap(e=>x.get(e.id).map(t=>({id:X(e.id,t),kind:`role`,label:t,size:en(`role`),match:!1,dim:!1,team:e.id,entry:t===e.entryRole,staffed:S.get(X(e.id,t))??0,vacant:!S.get(X(e.id,t))}))):[]],I=e=>[...d.filter(e=>e.id!==`hub`).map(e=>Y(`hub`,e.id,`party`)),...f.map(e=>Y(`hub`,e.id,`group`)),...v.map(e=>Y(`hub`,e.id,`group`)),...e?v.flatMap(e=>x.get(e.id).map(t=>Y(e.id,X(e.id,t),`team`))):[]],L=(e,t,n)=>{for(let r of n){let n=D.get(r);n&&(e.push(n),t.push(Y(`hub`,r,`group`)))}},ne=(e,n,r,i)=>{let a=i&&t.tree?j(e):void 0;a!==void 0&&n.push(Y(a,e.id,`tree`));let o=_?A(e):void 0;if(o)n.push(Y(X(o.teamID,o.role),e.id,`seat`));else if(a===void 0){let t=k(e);r.add(t),n.push(Y(t,e.id,`group`))}if(_)for(let t of e.seats)t!==o&&y.has(t.teamID)&&x.get(t.teamID).includes(t.role)&&n.push(Y(X(t.teamID,t.role),e.id,`seat`,!0))},R=new Map,z=`full`,B=F(!0),V=I(!0),H=new Set;for(let e of o)B.push(te(e)),ne(e,V,H,!0),R.set(e.id,N(e));L(B,V,H),V.push(...Qt(T,e=>e,n,a),...$t(T,e=>e,t.kinds));let U=!1;if(B.length>r){z=`roots`;let e=new Map;for(let t of o){let n=M(t);e.set(n.id,(e.get(n.id)??0)+(n.id===t.id?0:1))}B=F(!0),V=I(!0),H.clear(),R.clear();for(let[t,n]of e){let e=i.get(t);B.push(te(e,n||void 0)),ne(e,V,H,!1),R.set(t,N(e))}L(B,V,H);let c=e=>s.has(e)?M(i.get(e)).id:e;if(V.push(...Qt(T,c,n,a),...$t(T,c,t.kinds)),B.length>r){if(t.groupBy===`none`)U=!0;else{z=`groups`;let e=new Map,c=e=>`agg:${k(M(e))}`;for(let t of o)e.set(c(t),(e.get(c(t))??0)+1);B=F(!1),V=I(!1),H.clear(),R.clear();for(let[t,n]of e){let e=t.slice(4);H.add(e);let r=D.get(e)??B.find(t=>t.id===e);B.push({id:t,kind:`aggregate`,label:`${n} sessions${r&&r.id!==`hub`?` · ${r.label}`:``}`,...J(`machine`,r?.machine),size:en(`aggregate`,0,n),match:!1,dim:!1,folded:n}),V.push(Y(e,t,`group`)),R.set(t,{group:e===`hub`?nn:e})}L(B,V,H);let l=e=>s.has(e)?c(i.get(e)):e;V.push(...Qt(T,l,n,a),...$t(T,l,t.kinds)),B.length>r&&(U=!0)}}}let W=t.search.trim().toLowerCase(),re=0;return W&&(B=B.map(e=>{let t=i.get(e.id),n=e=>Object.entries(e??{}).map(([e,t])=>`${e}=${t}`),r=[e.label,e.id,...t?.roles??[],...(t?.seats??[]).map(e=>e.role),t?.project??``,t?.name??``,...t?.tags??[],...n(t?.labels),...n(t?.metadata),t?.kind===`session`&&t.machineID?u.get(t.machineID)??``:``].join(`
|