.fy-scene,:root{color-scheme:light;--brand:#2d47fe;--brand-700:#3043e3;--brand-950:#131b53;--brand-50:#ebf5ff;--brand-100:#dbebff;--accent:#0090ff;--accent-hover:#0588f0;--accent-text:#0d74ce;--accent-wash:#e6f4fe;--accent-wash-hover:#d5efff;--accent-border:#acd8fc;--text-strong:#1c2024;--text-secondary:#60646c;--text-decorative:#8b8d98;--page:#f9f9fb;--surface:#ffffff;--surface-sunken:#f0f0f3;--surface-zebra:#f9f9fb;--hover:#f0f0f3;--divider:#e8e8ec;--border:#d9d9e0;--border-dashed:#cdced6;--n200:#dde1e8;--n300:#c9ced8;--n400:#b2b8c7;--success:#46a758;--success-text:#2a7e3b;--success-wash:#e9f6e9;--warning:#ffc53d;--warning-text:#ab6400;--warning-wash:#fff7c2;--danger:#e54d2e;--danger-text:#d13415;--danger-wash:#feebe7;--danger-wash-hover:#ffdcd3;--p-me:#2d47fe;--role-engineer:#ff6a00;--role-designer:#a855f7;--role-orchestrator:var(--brand);--role-qa:var(--success-text);--on-fill:#ffffff;--logo-text:#131b53;--tooltip-bg:#131b53;--scrim:rgba(19,27,83,0.35);--code-bg:rgba(0,0,0,0.06);--press:rgba(0,0,0,0.08);--iframe-bg:#ffffff;--radius-card:12px;--radius-control:8px;--shadow-card:0 1px 2px rgba(0,0,0,0.05);--shadow-lift:0 24px 64px rgba(19,27,83,0.28);--shadow-menu:0 4px 16px rgba(0,0,0,0.12);--ease:cubic-bezier(0.22,0.61,0.36,1);--control-h:32px;--topbar-h:53px}:root[data-theme=dark]{color-scheme:dark;--brand:#2d47fe;--brand-700:#4a5eff;--brand-950:#dbe2ff;--brand-50:#151d4a;--brand-100:#1d2766;--accent:#0090ff;--accent-hover:#3b9eff;--accent-text:#70b8ff;--accent-wash:#0d2847;--accent-wash-hover:#003362;--accent-border:#104d87;--text-strong:#edeef0;--text-secondary:#b0b4ba;--text-decorative:#7b7f87;--page:#111113;--surface:#18191b;--surface-sunken:#212225;--surface-zebra:#151618;--hover:#272a2d;--divider:#2e3135;--border:#3a3f44;--border-dashed:#484d53;--n200:#3a3f46;--n300:#4a5058;--n400:#6b727c;--success:#46a758;--success-text:#71d083;--success-wash:#132d1c;--warning:#ffc53d;--warning-text:#ffca16;--warning-wash:#302008;--danger:#e54d2e;--danger-text:#ff9592;--danger-wash:#3c181a;--danger-wash-hover:#4e1e22;--on-fill:#ffffff;--logo-text:#edeef0;--tooltip-bg:#3a3f46;--scrim:rgba(0,0,0,0.6);--code-bg:rgba(255,255,255,0.1);--press:rgba(255,255,255,0.12);--shadow-card:0 1px 2px rgba(0,0,0,0.4);--shadow-lift:0 24px 64px rgba(0,0,0,0.6);--shadow-menu:0 4px 16px rgba(0,0,0,0.5)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--brand:#2d47fe;--brand-700:#4a5eff;--brand-950:#dbe2ff;--brand-50:#151d4a;--brand-100:#1d2766;--accent:#0090ff;--accent-hover:#3b9eff;--accent-text:#70b8ff;--accent-wash:#0d2847;--accent-wash-hover:#003362;--accent-border:#104d87;--text-strong:#edeef0;--text-secondary:#b0b4ba;--text-decorative:#7b7f87;--page:#111113;--surface:#18191b;--surface-sunken:#212225;--surface-zebra:#151618;--hover:#272a2d;--divider:#2e3135;--border:#3a3f44;--border-dashed:#484d53;--n200:#3a3f46;--n300:#4a5058;--n400:#6b727c;--success:#46a758;--success-text:#71d083;--success-wash:#132d1c;--warning:#ffc53d;--warning-text:#ffca16;--warning-wash:#302008;--danger:#e54d2e;--danger-text:#ff9592;--danger-wash:#3c181a;--danger-wash-hover:#4e1e22;--on-fill:#ffffff;--logo-text:#edeef0;--tooltip-bg:#3a3f46;--scrim:rgba(0,0,0,0.6);--code-bg:rgba(255,255,255,0.1);--press:rgba(255,255,255,0.12);--shadow-card:0 1px 2px rgba(0,0,0,0.4);--shadow-lift:0 24px 64px rgba(0,0,0,0.6);--shadow-menu:0 4px 16px rgba(0,0,0,0.5)}}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--page);color:var(--text-strong);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;line-height:1.5;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}.muted,.small-id{color:var(--text-secondary)}.small-id{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap-any{overflow-wrap:anywhere}.spacer{flex:1 1;min-width:0}.mono{font-family:ui-monospace,SF Mono,Liberation Mono,monospace}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);inset-inline-start:50%;transform:translateX(-50%);background:var(--tooltip-bg);color:#fff;font-size:13px;font-weight:500;line-height:1.4;padding:4px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:90}[data-tip]:focus-visible:after,[data-tip]:hover:after{opacity:1}[data-tip].tip-up:after{top:auto;bottom:calc(100% + 6px)}[data-tip].tip-end:after{inset-inline-start:auto;inset-inline-end:0;transform:none}.soon{cursor:not-allowed}.btn.soon,.btn.soon:hover,.soon.tb-btn,.soon.tb-btn:hover{background:var(--surface);color:color-mix(in srgb,var(--text-strong) 50%,transparent);border-color:color-mix(in srgb,var(--border) 60%,transparent)}.btn-primary.soon,.btn-primary.soon:hover{background:rgb(45 71 254/.5);color:#fff;border-color:transparent}.topbar{min-height:var(--topbar-h);display:flex;gap:10px;flex-wrap:wrap;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--divider);position:relative;z-index:20}.logo,.topbar{align-items:center}.logo{display:inline-flex;gap:8px;font-family:HT Equilibra,Inter,sans-serif;font-weight:500;font-size:17px;line-height:1;color:var(--logo-text)}.logo:hover{text-decoration:none}.logo img{display:block}.logo img,.logo-mark{width:26px;height:26px}.logo-mark{border-radius:7px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.menu-wrap{position:relative}.proj{height:var(--control-h);max-width:220px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius-control);padding-inline:10px;font-weight:500;color:var(--text-strong);background:var(--surface);cursor:pointer}.proj:hover{background:var(--hover)}.proj .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.proj .car{color:var(--text-secondary);flex-shrink:0;display:inline-flex}.menu{position:absolute;top:calc(100% + 6px);inset-inline-start:0;z-index:70;min-width:220px;max-width:320px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-menu);padding:6px;display:flex;flex-direction:column;gap:2px}.menu.end{inset-inline-start:auto;inset-inline-end:0}.menu-label{padding:4px 8px;font-weight:600;color:var(--text-secondary)}.menu-item{min-height:var(--control-h);display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;border:0;background:transparent;text-align:start;cursor:default;color:var(--text-strong);overflow-wrap:anywhere}a.menu-item,button.menu-item{cursor:pointer}a.menu-item:hover,button.menu-item:hover{background:var(--hover);text-decoration:none}.menu-item .check{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--accent-text);display:inline-flex;flex-shrink:0}.menu-sep{height:1px;background:var(--divider);margin:4px 0}.menu-who{padding:4px 8px;display:flex;flex-direction:column;min-width:0}.menu-who b{font-weight:600;overflow-wrap:anywhere}.menu-who span{color:var(--text-secondary);overflow-wrap:anywhere}.people{display:flex;align-items:center}.av{width:26px;height:26px;border-radius:50%;color:#fff;font-size:13px;font-weight:600;line-height:1;display:inline-grid;place-items:center;border:2px solid var(--surface);-webkit-margin-start:-6px;margin-inline-start:-6px;position:relative;flex:none;background:var(--p-me)}.people .av:first-child,button.av{-webkit-margin-start:0;margin-inline-start:0}.av.on:after{content:"";position:absolute;inset-inline-end:-1px;bottom:-1px;width:8px;height:8px;border-radius:50%;background:var(--success);border:2px solid var(--surface)}.av.grey{background:var(--n300)}button.av{cursor:pointer;padding:0;border-color:transparent}button.av:hover{box-shadow:0 0 0 3px var(--accent-wash)}.people.soon-people{cursor:not-allowed;border-radius:999px}.count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding-inline:5px;-webkit-margin-start:6px;margin-inline-start:6px;border-radius:999px;background:rgba(255,255,255,.22);font-size:13px;font-weight:600}.page{max-width:1200px;margin-inline:auto;padding:16px 16px 24px;display:flex;flex-direction:column;gap:12px}.page-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-head .grow{flex:1 1;min-width:0}.title{font-size:17px;font-weight:700;color:var(--text-strong);overflow-wrap:anywhere}.row{align-items:center;gap:8px;flex-wrap:wrap}.row,.stack{display:flex}.stack{flex-direction:column;gap:6px}.btn{height:var(--control-h);min-width:var(--control-h);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding-inline:12px;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .15s}a.btn:hover{text-decoration:none}.btn:disabled{cursor:not-allowed;background:var(--surface-sunken);color:var(--text-secondary);border-color:var(--border)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-700)}.btn-primary:disabled{background:rgb(45 71 254/.5);color:#fff;border-color:transparent}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text-strong);font-weight:500}.btn-secondary:hover:not(:disabled){background:var(--hover)}.btn-ghost{color:var(--accent-text)}.btn-ghost:hover:not(:disabled){background:var(--accent-wash)}.btn-danger-soft{background:var(--danger-wash);color:var(--danger-text)}.btn-danger-soft:hover:not(:disabled){background:var(--danger-wash-hover)}.btn-icon{height:28px;width:28px;min-width:28px;padding:0}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-weight:600}.input,.select{height:var(--control-h);width:100%;padding-inline:12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);font-size:13px;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:0}.input::placeholder,.textarea::placeholder{color:var(--text-secondary)}.textarea{width:100%;min-height:40px;max-height:200px;resize:none;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:13px;line-height:1.4;transition:border-color .15s}.input:disabled,.textarea:disabled{background:var(--surface-sunken);cursor:not-allowed}.search{position:relative;flex:1 1;min-width:180px;max-width:360px}.search .input{-webkit-padding-start:32px;padding-inline-start:32px}.search svg{position:absolute;inset-inline-start:10px;top:9px;color:var(--text-secondary);pointer-events:none}.filter{position:relative;height:var(--control-h);min-width:150px;max-width:280px;display:inline-flex;align-items:center;gap:6px;padding-inline:12px 8px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);font-weight:600}.filter:hover{background:var(--hover)}.filter .cap,.filter .div{flex-shrink:0}.filter .div{width:1px;height:14px;background:var(--divider)}.filter select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;min-width:0;flex:1 1;height:100%;font-weight:600;cursor:pointer;-webkit-padding-end:16px;padding-inline-end:16px;text-overflow:ellipsis}.filter select:focus-visible{outline-offset:6px}.filter:after{content:"";position:absolute;inset-inline-end:12px;top:11px;width:6px;height:6px;-webkit-border-end:1.5px solid var(--text-secondary);border-inline-end:1.5px solid var(--text-secondary);-webkit-border-after:1.5px solid var(--text-secondary);border-block-end:1.5px solid var(--text-secondary);transform:rotate(45deg);pointer-events:none}.filter.narrowed{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-text)}.filter.compact{min-width:0;max-width:150px;padding-inline:10px 8px;font-weight:500}.filter.compact select{font-weight:500}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:12px}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding-inline:10px;border-radius:999px;font-size:13px;font-weight:500;background:var(--surface-sunken);color:var(--text-secondary);white-space:nowrap;max-width:100%}.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.chip-success{background:var(--success-wash);color:var(--success-text)}.chip-warning{background:var(--warning-wash);color:var(--warning-text)}.chip-danger{background:var(--danger-wash);color:var(--danger-text)}.chip-accent{background:var(--accent-wash);color:var(--accent-text)}.chip-branch{max-width:260px;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:24px;font-family:ui-monospace,SF Mono,Liberation Mono,monospace}.chip-model{background:var(--surface);border:1px dashed var(--border);color:var(--accent-text);cursor:not-allowed;height:28px}.model-box{flex-direction:column;gap:2px}.model-box,.model-row{display:flex;min-width:0}.model-row{align-items:center;gap:8px}.chip-model.pick{cursor:pointer;height:var(--control-h);border:1px dashed var(--border)}.chip-model.pick:hover,.chip-model.pick[aria-expanded=true]{background:var(--accent-wash)}.chip-model:not(.pick){cursor:default}.model-name{overflow:hidden;text-overflow:ellipsis;max-width:200px}.cost-chip{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.model-hint{font-size:13px;color:var(--text-secondary);overflow-wrap:anywhere}.model-menu{min-width:260px;max-width:340px}.model-opt{min-height:var(--control-h);padding-block:6px;cursor:pointer}.model-opt.active,.model-opt:hover{background:var(--hover)}.model-opt:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.model-opt-text{display:flex;flex-direction:column;min-width:0;flex:1 1}.model-opt-top{display:flex;align-items:center;gap:8px}.model-opt-top b{font-weight:600;overflow-wrap:anywhere}.cost-hint{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.cost-hint,.model-opt-note{color:var(--text-secondary)}.model-opt-note{overflow-wrap:anywhere}.link-btn{border:0;background:transparent;padding:0;color:var(--accent-text);font:inherit;cursor:pointer;text-decoration:underline}.sys-line{align-self:center;max-width:100%;text-align:center;color:var(--text-secondary);overflow-wrap:anywhere;padding:2px 8px}.table-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.table-scroll{overflow:auto;max-height:calc(100vh - 220px)}table.tbl{width:100%;border-collapse:collapse}.tbl th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-sunken);border-bottom:1px solid var(--divider);padding:0 12px;text-align:start;font-weight:600;color:var(--text-secondary);white-space:nowrap}.tbl td{padding:8px 12px;vertical-align:top;border-top:1px solid var(--divider)}.tbl tbody tr:first-child td{border-top:0}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr.clickable:hover{background:var(--hover)}.tbl td.num{text-align:end}.tbl .primary{font-weight:600;color:var(--text-strong);overflow-wrap:anywhere}.sort-btn{display:inline-flex;align-items:center;gap:6px;height:var(--control-h);width:100%;background:none;border:0;padding:0;cursor:pointer;font-weight:600;color:var(--text-secondary)}.sort-btn.active{color:var(--text-strong)}.sort-btn .arrow{color:var(--text-decorative)}.sort-btn.active .arrow{color:var(--accent-text)}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:32px 12px;color:var(--text-secondary)}.empty .mark{width:32px;height:32px;border-radius:10px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.empty .msg{font-weight:600;color:var(--text-strong)}.banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:10px;background:var(--danger-wash);color:var(--danger-text);font-weight:500}.banner.warn{background:var(--warning-wash);color:var(--warning-text)}.banner .grow{flex:1 1;min-width:0;overflow-wrap:anywhere}.skel{background:var(--surface-sunken);border-radius:6px;height:16px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{background:var(--divider)}}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand);animation:spin .8s linear infinite;display:inline-block;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes blink{to{opacity:.35}}@keyframes dot{30%{transform:translateY(-3px);background:var(--brand)}}@media (prefers-reduced-motion:reduce){.msg,.pane,.skel,.spinner,.tab .live,.typing i{animation:none!important}.btn{transition:none}}.backdrop{position:fixed;inset:0;z-index:80;background:var(--scrim);align-items:center;justify-content:center}.backdrop,.modal{display:flex;padding:16px}.modal{width:100%;max-width:440px;background:var(--surface);border-radius:var(--radius-card);border:1px solid var(--border);box-shadow:var(--shadow-lift);flex-direction:column;gap:12px}.modal h2{font-size:15px;font-weight:600}.modal-foot{display:flex;justify-content:flex-end;gap:8px}.login-wrap{min-height:calc(100vh - var(--topbar-h));display:flex;align-items:center;justify-content:center;padding:16px}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px;padding:20px}.code-input{letter-spacing:.3em;text-align:center;font-weight:600}.ws-page{height:100vh;display:flex;flex-direction:column;overflow:hidden}.tabbar{display:flex;align-items:flex-end;gap:12px;padding:8px 16px 0;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.group{display:flex;align-items:flex-end;gap:2px;padding-inline:4px;border-radius:10px 10px 0 0;position:relative;flex:none}.group:before{content:"";position:absolute;inset-inline:0;top:0;height:3px;border-radius:3px;background:var(--gc,var(--p-me));opacity:.9}.group .owner{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--text-secondary);padding-block:10px 8px;padding-inline:2px 6px;white-space:nowrap;max-width:180px}.group .owner .nm{overflow:hidden;text-overflow:ellipsis}.group .owner .av{width:22px;height:22px;margin:0;border-width:0;background:var(--gc,var(--p-me))}.tab{display:flex;align-items:center;gap:6px;height:36px;padding-inline:11px;margin-top:6px;border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;color:var(--text-secondary);white-space:nowrap;font-weight:500;transition:background-color .15s,color .15s}.tab:hover{background:var(--surface-sunken);text-decoration:none}.tab.on{background:var(--page);color:var(--text-strong);border-color:var(--border);margin-bottom:-1px;height:37px}.tab .tab-title{max-width:200px;overflow:hidden;text-overflow:ellipsis}.tab .live{width:7px;height:7px;border-radius:50%;background:var(--warning);animation:blink 1s infinite alternate;flex-shrink:0}.tab .live.idle{background:var(--n300);animation:none}.tab .live.ready{background:var(--success);animation:none}.tab .live.bad{background:var(--danger);animation:none}.tab .agents{font-size:13px;font-weight:500;padding-inline:6px;border-radius:999px;background:var(--accent-wash);color:var(--accent-text)}.addtab{margin:6px 0 6px 2px;width:28px;height:28px;border-radius:8px;border:1px dashed var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0}.addtab:hover{background:var(--surface-sunken)}.addtab{-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:0;margin-inline-end:0}.tab .lock{color:var(--text-decorative);font-weight:500}.tab .viewers{display:inline-flex;align-items:center;-webkit-padding-start:5px;padding-inline-start:5px}.tab .vav{width:20px;height:20px;border:0;-webkit-margin-start:-5px;margin-inline-start:-5px;box-shadow:0 0 0 2px var(--surface)}.tab.on .vav{box-shadow:0 0 0 2px var(--page)}.tab .viewers .vav:first-child{-webkit-margin-start:0;margin-inline-start:0}.tab .vav.more{background:var(--text-decorative)}.pwrap{display:inline-flex;-webkit-margin-start:-6px;margin-inline-start:-6px;border-radius:999px}.people .pwrap:first-child{-webkit-margin-start:0;margin-inline-start:0}.pwrap .av{margin:0}.menu-wrap .av-badge{position:absolute;top:-6px;inset-inline-end:-6px;min-width:18px;height:18px;padding-inline:4px;border-radius:999px;background:var(--danger);color:#fff;font-size:13px;font-weight:600;line-height:18px;text-align:center;pointer-events:none;box-shadow:0 0 0 2px var(--surface)}.toasts{position:fixed;inset-inline-end:16px;bottom:16px;z-index:85;width:min(360px,calc(100vw - 32px))}.toast,.toasts{display:flex;flex-direction:column;gap:8px}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-menu);padding:12px;animation:rise .2s ease}.toast-err,.toast-text{overflow-wrap:anywhere}.toast-err{color:var(--danger-text)}.toast-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.toast-more{text-align:center;color:var(--text-secondary)}.pane.watching{border-style:dashed}.joinbar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:40px}.joinbar-row .msg{flex:1 1;min-width:0;overflow-wrap:anywhere;font-weight:500}.person-cell{display:inline-flex;align-items:center;gap:6px;min-width:0}.person-cell .av{width:22px;height:22px;margin:0;border-width:0}.sub{display:flex;align-items:center;gap:10px;padding:8px 16px;flex-wrap:wrap}.sub .ftitle{font-weight:600;font-size:15px;min-width:0;max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px}.seg,.seg button{background:var(--surface)}.seg button{height:30px;border:0;padding-inline:11px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background-color .15s}.seg button:first-child{border-start-start-radius:7px;border-end-start-radius:7px}.seg button:last-child{border-start-end-radius:7px;border-end-end-radius:7px}.seg button+button{-webkit-border-start:1px solid var(--border);border-inline-start:1px solid var(--border)}.seg button.on{background:var(--accent-wash);color:var(--accent-text)}.seg button.soon,.seg button.soon:hover{background:var(--surface);color:var(--text-decorative)}.panes{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-gap:12px;gap:12px;padding:0 16px 12px;position:relative}.pane{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;box-shadow:var(--shadow-card);animation:paneIn .2s var(--ease)}@keyframes paneIn{0%{opacity:.85;transform:translateY(4px)}}.phead{gap:8px;padding:8px 12px;border-bottom:1px solid var(--divider);flex-wrap:wrap}.agent-badge,.phead{display:flex;align-items:center}.agent-badge{gap:6px;font-weight:600}.agent-badge .dot{width:9px;height:9px;border-radius:50%;background:var(--role-engineer);flex-shrink:0}.phead .sess{max-width:260px;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:24px}.pbody{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(300px,40%) minmax(0,1fr)}.chat{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--surface);-webkit-border-end:1px solid var(--divider);border-inline-end:1px solid var(--divider)}.chat,.chat-scroll>*{min-width:0}.chat-scroll{flex:1 1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;padding:12px;display:flex;flex-direction:column;gap:10px}.msg{max-width:92%;padding:8px 10px;border-radius:12px;line-height:1.45;animation:rise .25s var(--ease);overflow-wrap:anywhere;min-width:0}.msg.me{align-self:flex-end;background:var(--brand);color:#fff;border-end-end-radius:4px;white-space:pre-wrap}.msg.ai{align-self:flex-start;background:var(--surface-sunken);border-end-start-radius:4px}.msg .who{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:2px}.agent-text{max-width:100%;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:6px}.agent-text p{margin:0}.agent-text ol,.agent-text ul{margin:0;-webkit-padding-start:20px;padding-inline-start:20px}.agent-text code,.md-code{background:var(--code-bg);border-radius:4px;padding:0 4px;font-weight:500}.agent-text code,.agent-text pre,.md-code{font-family:ui-monospace,SF Mono,Liberation Mono,monospace}.agent-text pre{margin:0;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-control);padding:8px 12px;overflow-x:auto;white-space:pre}.agent-text pre code{background:none;padding:0;font-weight:400}.tool{align-self:flex-start;max-width:100%;min-width:0}.tool-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;height:var(--control-h);padding-inline:10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;font-weight:500}.tool-chip:hover{background:var(--hover)}.tool-chip .name{font-weight:600;flex-shrink:0;color:var(--accent-text)}.tool-chip .target{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tool-chip .caret{flex-shrink:0;color:var(--text-secondary);transition:transform .15s}.tool-chip[aria-expanded=true] .caret{transform:rotate(90deg)}.tool-chip.failed{border-color:var(--danger)}.tool-detail{margin-top:6px;border:1px solid var(--divider);border-radius:10px;background:var(--surface-zebra);padding:8px 12px;display:flex;flex-direction:column;gap:6px}.tool-detail .lbl{font-weight:600;color:var(--text-secondary)}.tool-detail pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,Liberation Mono,monospace;max-height:240px;overflow:auto}.card-line{border-radius:10px;padding:6px 10px;display:flex;gap:8px;align-items:flex-start;overflow-wrap:anywhere}.card-line .grow{flex:1 1;min-width:0}.card-line.red{background:var(--danger-wash);color:var(--danger-text)}.card-line.amber{background:var(--warning-wash);color:var(--warning-text)}.card-line.green{background:var(--success-wash);color:var(--success-text)}.card-line strong{font-weight:600}.typing{display:inline-flex;gap:3px;align-items:center}.typing i{width:5px;height:5px;border-radius:50%;background:var(--n400);animation:dot 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.working{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);background:var(--surface-sunken);border-radius:12px;border-end-start-radius:4px;padding:8px 12px}.composer,.composer-row>*{min-width:0}.composer{border-top:1px solid var(--divider);padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}.composer-row{display:flex;gap:6px;align-items:flex-end}.composer .textarea{height:40px;min-height:40px;flex:1 1}.composer-note{color:var(--text-secondary)}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.att{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;min-height:32px;padding-inline:4px 2px;border:0;border-radius:999px;background:var(--accent-wash);color:var(--accent-text);font-weight:600}.att svg{flex-shrink:0}.att .lbl{min-width:0;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att .chip-thumb,.att .thumb{width:24px;height:24px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--surface)}.att .spinner{flex-shrink:0}.att-note{font-weight:500;color:var(--text-secondary);white-space:nowrap}.att-x{width:28px;height:28px;padding:0;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.att-x:hover{background:var(--press)}.msg-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}button.att.on-dark{cursor:pointer;-webkit-padding-end:10px;padding-inline-end:10px;background:rgba(255,255,255,.18);color:#fff}button.att.on-dark:hover{background:rgba(255,255,255,.28)}.chip-big{width:100%;max-height:50vh;object-fit:contain;border-radius:8px;border:1px solid var(--divider);background:var(--surface-sunken)}.chip-items{margin:0;-webkit-padding-start:20px;padding-inline-start:20px;max-height:160px;overflow:auto;overflow-wrap:anywhere}.pv-hint{position:absolute;top:8px;inset-inline-start:50%;transform:translateX(-50%);z-index:2;pointer-events:none;max-width:calc(100% - 16px);padding:4px 12px;border-radius:999px;background:var(--brand);color:#fff;font-weight:600;box-shadow:var(--shadow-card);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[dir=rtl] .pv-hint{transform:translateX(50%)}.pv-note{padding:6px 12px;background:var(--surface);border-bottom:1px solid var(--divider)}.hint,.pv-note{color:var(--text-secondary)}.hint b{font-weight:600;color:var(--text-strong)}.preview{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--page)}.bbar{gap:6px;padding:6px 8px;border-bottom:1px solid var(--divider);background:var(--surface);flex-wrap:wrap}.bbar,.url{display:flex;align-items:center}.url{flex:1 1 140px;min-width:0;gap:8px;height:28px;background:var(--surface-sunken);border-radius:999px;padding-inline:12px;color:var(--text-secondary)}.url .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;direction:ltr;text-align:start}.url .sdot{width:8px;height:8px;border-radius:50%;background:var(--n300);flex-shrink:0}.url .sdot.ready{background:var(--success)}.url .sdot.busy{background:var(--warning);animation:blink 1s infinite alternate}.url .sdot.error{background:var(--danger)}.tb-btn{display:inline-flex;align-items:center;gap:4px;height:var(--control-h);border:1px solid var(--border);background:var(--surface);border-radius:8px;padding-inline:10px;font-weight:600;color:var(--text-strong);cursor:pointer;transition:background-color .15s;white-space:nowrap}.tb-btn.icon{width:28px;height:28px;padding:0;justify-content:center}a.tb-btn:hover{text-decoration:none}.tb-btn:hover{background:var(--hover)}.tb-btn:disabled{cursor:not-allowed;color:var(--text-decorative);background:var(--surface)}.tb-btn svg{width:14px;height:14px}.tb-btn.on{background:var(--brand);border-color:var(--brand);color:#fff}.preview.expanded{position:fixed;inset:12px;z-index:60;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-lift);overflow:hidden;animation:grow .25s var(--ease)}@keyframes grow{0%{opacity:0;transform:scale(.96)}}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:59;animation:rise .2s var(--ease)}.frame{position:relative;flex:1 1;min-height:0;overflow:hidden;margin:10px;border-radius:10px;border:1px solid var(--divider)}.frame,.frame iframe{background:var(--iframe-bg)}.frame iframe{width:100%;height:100%;border:0;display:block}.pv-state{position:absolute;inset:0;justify-content:center;padding:16px;background:var(--page);overflow:auto}.pipe,.pv-state{display:flex;align-items:center}.pipe{gap:8px;padding:10px 16px;background:var(--surface);border-top:1px solid var(--divider);flex-wrap:wrap}.pipe .lbl{font-weight:600;-webkit-margin-end:4px;margin-inline-end:4px}.stages{gap:8px;flex-wrap:wrap;border-radius:8px}.stage,.stages{display:inline-flex;align-items:center}.stage{gap:6px;font-weight:500;color:var(--text-secondary)}.stage .s{width:18px;height:18px;border-radius:50%;border:2px solid var(--n300);background:var(--surface);display:grid;place-items:center;font-size:13px;line-height:1;font-weight:700;flex-shrink:0;transition:all .3s var(--ease)}.stage.done .s{background:var(--success);border-color:var(--success);color:#fff}.stage.now .s{border-color:var(--warning);box-shadow:0 0 0 4px rgb(255 197 61/.25)}.stage.stuck .s{border-color:var(--danger);box-shadow:0 0 0 4px rgb(229 77 46/.2)}.stage.skip .s{border-style:dashed}.stage.now,.stage.stuck{color:var(--text-strong);font-weight:600}.stage.stuck{color:var(--danger-text)}.stage-note{font-weight:500;color:var(--text-secondary)}.arrow{width:18px;height:2px;background:var(--n200);border-radius:1px}.needs-you{height:auto;min-height:24px;padding-block:2px;white-space:normal;border-radius:12px;overflow-wrap:anywhere}.panes.split{grid-template-columns:repeat(2,minmax(0,1fr))}.link-line{position:absolute;inset-inline:0;top:10px;margin-inline:auto;width:-moz-fit-content;width:fit-content;max-width:min(640px,calc(100% - 32px));z-index:20;background:var(--tooltip-bg);color:#fff;font-weight:500;padding:6px 14px;border-radius:12px;box-shadow:var(--shadow-menu);animation:rise .25s var(--ease)}.handoff,.link-line{overflow-wrap:anywhere}.handoff{align-self:stretch;border:1px solid var(--accent-border);background:var(--accent-wash);color:var(--accent-text);border-radius:10px;padding:8px 10px}.handoff b{color:var(--text-strong);font-weight:600}.handoff-next{margin-top:2px;color:var(--text-secondary)}.plan-card{align-self:stretch;border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere;box-shadow:var(--shadow-card)}.plan-title{font-weight:600}.plan-card ul{margin:0;-webkit-padding-start:20px;padding-inline-start:20px}.plan-foot{display:flex;justify-content:flex-end}.question-card{align-self:stretch;border:1px solid var(--accent-border);background:var(--surface);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere;box-shadow:var(--shadow-card)}.question-card.done{background:var(--surface-sunken);border-color:var(--divider);box-shadow:none}.question-card .chip{align-self:flex-start}.q-text{font-weight:600}.q-chose{color:var(--text-secondary)}.q-opts{display:flex;flex-direction:column;gap:6px}.q-opt{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;text-align:start;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);cursor:pointer}button.q-opt:hover:not(:disabled){background:var(--accent-wash);border-color:var(--accent)}button.q-opt:disabled{cursor:not-allowed;color:var(--text-secondary)}.q-opt.on{background:var(--accent-wash);border-color:var(--accent)}.q-opt-text{display:flex;flex-direction:column;min-width:0}.q-box{width:18px;height:18px;border-radius:4px;border:2px solid var(--n300);display:grid;place-items:center;flex-shrink:0;font-size:13px;line-height:1;font-weight:700;color:#fff}.q-opt.on .q-box{background:var(--accent);border-color:var(--accent)}.q-other{cursor:default;padding-block:6px}.q-other .input{flex:1 1;min-width:0}.bug-list{margin:4px 0 0;-webkit-padding-start:20px;padding-inline-start:20px}.queued-note{margin-top:2px;opacity:.85;white-space:normal}.role-pick{max-width:210px}.role-pick .role-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.composer-row{flex-wrap:wrap}.composer-row .textarea{flex:1 1 140px}.ship-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));grid-gap:12px;gap:12px;align-items:start}.ship-col{min-width:0;background:var(--surface-sunken);border:1px solid var(--divider);border-radius:var(--radius-card);padding:10px;display:flex;flex-direction:column;gap:10px}.ship-col-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-strong)}.ship-col-n{display:inline-grid;place-items:center;min-width:24px;height:24px;padding-inline:6px;border-radius:999px;background:var(--surface);color:var(--text-secondary);font-weight:600}.ship-col-empty{padding:8px 4px}.ship-list{list-style:none;margin:0;padding:0}.ship-card,.ship-list{display:flex;flex-direction:column;gap:10px}.ship-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:12px;min-width:0}.ship-title{font-weight:600;color:var(--text-strong)}.ship-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.ship-summary{color:var(--text-strong)}.ship-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ship-clash{background:var(--warning-wash);color:var(--warning-text);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.ship-clash b{font-weight:600}.ship-clash-inline{color:var(--warning-text);background:var(--warning-wash);border-radius:10px;padding:8px 10px}.ship-ok{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--success-text);font-weight:500}.ship-back{background:var(--danger-wash);color:var(--danger-text);border-radius:10px;padding:8px 10px}.commit-line{flex-wrap:wrap;align-items:center}@media (max-width:1100px){.ws-page{height:auto;min-height:100vh;overflow:visible}.panes.split{grid-template-rows:none;grid-auto-rows:minmax(640px,auto);min-height:0}.panes.split,.panes.split .pbody{grid-template-columns:minmax(0,1fr)}.panes.split .pbody{grid-template-rows:minmax(360px,1fr) minmax(360px,1fr)}.panes.split .chat{-webkit-border-end:0;border-inline-end:0;-webkit-border-after:1px solid var(--divider);border-block-end:1px solid var(--divider)}}@media (max-width:900px){.ws-page{height:auto;min-height:100vh;overflow:visible}.panes{min-height:820px}.pbody{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(360px,1fr) minmax(360px,1fr)}.chat{-webkit-border-end:0;border-inline-end:0;-webkit-border-after:1px solid var(--divider);border-block-end:1px solid var(--divider)}}@media (max-width:680px){.hide-sm{display:none}.sub .ftitle{max-width:100%;white-space:normal}}