:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f6f3;--surface:#fff;--surface-2:#f0efeb;--surface-3:#e7e6e1;--border:#e2e1dc;--border-strong:#cfcdc6;--text:#1d1d1b;--text-2:#55544f;--text-3:#8a8983;--focus:#3b5bdb;--accent:#3b5bdb;--accent-fg:#fff;--accent-soft:#e8ecfb;--danger:#c0262d;--danger-fg:#fff;--danger-soft:#fbe9e9;--warn:#a8610a;--warn-soft:#fbf0dc;--ok:#1f7a43;--ok-soft:#e3f3e8;--st-inbox:#6b6f76;--st-inbox-bg:#ecedef;--st-queued:#4a55c9;--st-queued-bg:#e8e9fa;--st-running:#0a74b8;--st-running-bg:#e0f0fa;--st-waiting:#a8610a;--st-waiting-bg:#fbf0dc;--st-review:#7a3fc4;--st-review-bg:#f1e8fb;--st-done:#1f7a43;--st-done-bg:#e3f3e8;--st-failed:#c0262d;--st-failed-bg:#fbe9e9;--st-cancelled:#7c7a74;--st-cancelled-bg:#efeeea;--dev-online:#1f9d55;--dev-offline:#a3a29c;--sc-read:#6b6f76;--sc-read-bg:transparent;--sc-suggest:#a8610a;--sc-suggest-bg:#fbf0dc;--sc-act:#fff;--sc-act-bg:#3b5bdb;--bud-ok:#3b5bdb;--bud-warn:#d08a12;--bud-over:#c0262d;--bud-track:#e7e6e1;--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-24:24px;--lh-tight:1.3;--lh:1.5;--fw-r:400;--fw-m:500;--fw-b:600;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--r-sm:4px;--r:6px;--r-lg:10px;--r-pill:999px;--shadow-1:0 1px 2px #1414120f;--shadow-2:0 4px 16px #1414121a;--topbar-h:48px;--nav-w:196px;--tabbar-h:56px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121211;--surface:#1a1a19;--surface-2:#222220;--surface-3:#2b2b29;--border:#2e2e2b;--border-strong:#3d3d39;--text:#ecebe6;--text-2:#b0afa8;--text-3:#7d7c76;--focus:#8ea2f2;--accent:#7d94f0;--accent-fg:#0f1220;--accent-soft:#232a45;--danger:#f06a6f;--danger-fg:#1a0b0c;--danger-soft:#3a1c1e;--warn:#e7a94a;--warn-soft:#3a2c14;--ok:#5cc98a;--ok-soft:#173123;--st-inbox:#a6a9b0;--st-inbox-bg:#2a2b2e;--st-queued:#9aa2f2;--st-queued-bg:#262947;--st-running:#5cb6ee;--st-running-bg:#15303f;--st-waiting:#e7a94a;--st-waiting-bg:#3a2c14;--st-review:#be98f2;--st-review-bg:#30233f;--st-done:#5cc98a;--st-done-bg:#173123;--st-failed:#f06a6f;--st-failed-bg:#3a1c1e;--st-cancelled:#9a9890;--st-cancelled-bg:#2b2a27;--dev-online:#4fd18a;--dev-offline:#6e6d68;--sc-read:#a6a9b0;--sc-suggest:#e7a94a;--sc-suggest-bg:#3a2c14;--sc-act:#0f1220;--sc-act-bg:#7d94f0;--bud-ok:#7d94f0;--bud-warn:#e7a94a;--bud-over:#f06a6f;--bud-track:#2b2b29;--shadow-1:0 1px 2px #0006;--shadow-2:0 6px 20px #00000080}}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:var(--fw-r) var(--fs-14)/var(--lh) var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--mono);font-size:.92em}h1,h2,h3,h4{font-weight:var(--fw-b);line-height:var(--lh-tight);margin:0}h1{font-size:var(--fs-20)}h2{font-size:var(--fs-16)}h3{font-size:var(--fs-14)}h4{font-size:var(--fs-13)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.sm{font-size:var(--fs-12)}.xs{font-size:var(--fs-11)}svg.i{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{grid-template-columns:var(--nav-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;min-height:100vh;display:grid}.topbar{z-index:20;align-items:center;gap:var(--s3);padding:0 var(--s4);height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);grid-column:1/-1;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--s2);font-weight:var(--fw-b);font-size:var(--fs-14);color:var(--text);letter-spacing:.01em;display:flex}.brand-mark{border-radius:var(--r-sm);background:var(--text);width:20px;height:20px;color:var(--bg);font:var(--fw-b) 11px/1 var(--mono);place-items:center;display:grid}.env-tag{font:var(--fs-11)/1 var(--mono);color:var(--text-3);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px 7px}.topbar .spacer{flex:1}.devchips{align-items:center;gap:var(--s1);display:flex}.devchips .devsum{cursor:pointer;background:var(--surface);color:inherit;display:none}.devchips .chips{gap:var(--s1);display:flex}.devchip{border:1px solid var(--border);border-radius:var(--r-pill);height:26px;font-size:var(--fs-12);color:var(--text-2);background:var(--surface);white-space:nowrap;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.devchip b{font:var(--fw-m) var(--fs-12) var(--mono);color:var(--text)}.dot{background:var(--dev-online);border-radius:50%;flex:none;width:8px;height:8px}.dot.off{box-shadow:inset 0 0 0 1.5px var(--dev-offline);background:0 0}.estop{border-radius:var(--r);border:1.5px solid var(--danger);height:30px;color:var(--danger);font:var(--fw-b) var(--fs-12)/1 var(--mono);letter-spacing:.08em;cursor:pointer;background:0 0;padding:0 12px}.estop:hover{background:var(--danger);color:var(--danger-fg)}.avatar{background:var(--surface-3);width:28px;height:28px;color:var(--text);font-size:var(--fs-12);font-weight:var(--fw-b);border-radius:50%;flex:none;place-items:center;display:grid}.nav{top:var(--topbar-h);height:calc(100vh - var(--topbar-h));padding:var(--s3) var(--s2);border-right:1px solid var(--border);background:var(--surface);grid-row:2;position:sticky;overflow:auto}.nav a{border-radius:var(--r);height:32px;color:var(--text-2);font-size:var(--fs-13);align-items:center;gap:10px;padding:0 10px;display:flex}.nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav a[aria-current=page]{background:var(--surface-2);color:var(--text);font-weight:var(--fw-m)}.nav .count{font:var(--fw-m) var(--fs-11)/1 var(--mono);border-radius:var(--r-pill);background:var(--surface-3);color:var(--text-2);margin-left:auto;padding:3px 6px}.nav .count.hot{background:var(--accent);color:var(--accent-fg)}.nav hr{border:0;border-top:1px solid var(--border);margin:var(--s2) 6px}.nav .more{display:none}.main{min-width:0;padding:var(--s5) var(--s6) var(--s8);grid-row:2}.pagehead{align-items:center;gap:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.pagehead h1{margin-right:auto}.btn{border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface);height:30px;color:var(--text);font:var(--fw-m) var(--fs-13)/1 var(--font);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.sm{height:26px;font-size:var(--fs-12);padding:0 9px}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.badge{border-radius:var(--r-pill);height:20px;font:var(--fw-m) var(--fs-11)/1 var(--mono);white-space:nowrap;align-items:center;gap:4px;padding:0 7px;display:inline-flex}.st{background:var(--st-c-bg);color:var(--st-c)}.st:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.st-inbox{--st-c:var(--st-inbox);--st-c-bg:var(--st-inbox-bg)}.st-queued{--st-c:var(--st-queued);--st-c-bg:var(--st-queued-bg)}.st-running{--st-c:var(--st-running);--st-c-bg:var(--st-running-bg)}.st-waiting{--st-c:var(--st-waiting);--st-c-bg:var(--st-waiting-bg)}.st-review{--st-c:var(--st-review);--st-c-bg:var(--st-review-bg)}.st-done{--st-c:var(--st-done);--st-c-bg:var(--st-done-bg)}.st-failed{--st-c:var(--st-failed);--st-c-bg:var(--st-failed-bg)}.st-cancelled{--st-c:var(--st-cancelled);--st-c-bg:var(--st-cancelled-bg);text-decoration:line-through}.sc{border:1px solid}.sc-read{color:var(--sc-read);background:var(--sc-read-bg)}.sc-suggest{color:var(--sc-suggest);background:var(--sc-suggest-bg);border-color:#0000}.sc-act{color:var(--sc-act);background:var(--sc-act-bg);border-color:#0000}.tag{border-radius:var(--r-sm);background:var(--surface-2);height:20px;color:var(--text-2);font:var(--fs-11)/1 var(--mono);white-space:nowrap;align-items:center;padding:0 6px;display:inline-flex}.tag.lead{background:var(--accent-soft);color:var(--accent);font-family:var(--font)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.panel>header{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);display:flex}.panel>header h2{font-size:var(--fs-13);margin-right:auto}.panel .body{padding:var(--s3) var(--s4)}.kv{gap:6px var(--s4);font-size:var(--fs-13);grid-template-columns:max-content 1fr;margin:0;display:grid}.kv dt{color:var(--text-3)}.kv dd{min-width:0;margin:0}.alert{align-items:center;gap:var(--s2);border-radius:var(--r);font-size:var(--fs-13);padding:8px 12px;display:flex}.alert.warn{background:var(--warn-soft);color:var(--warn)}.alert.danger{background:var(--danger-soft);color:var(--danger)}[data-b]{position:relative}[data-b]:hover:after,[data-b]:focus-visible:after{content:"→ 行为：" attr(data-b);z-index:50;border-radius:var(--r);background:var(--text);width:max-content;max-width:260px;color:var(--bg);font:var(--fw-r) var(--fs-11)/1.45 var(--font);white-space:normal;text-align:left;box-shadow:var(--shadow-2);pointer-events:none;letter-spacing:0;padding:6px 8px;text-decoration:none;position:absolute;top:calc(100% + 6px);left:0}[data-b].tip-r:hover:after{left:auto;right:0}.annot{font-size:var(--fs-11);color:var(--text-3);border-left:2px solid var(--border-strong);margin-top:var(--s3);padding-left:8px}.tcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);color:var(--text);padding:10px 12px;display:block}.tcard:hover{border-color:var(--border-strong);text-decoration:none}.tcard+.tcard{margin-top:var(--s2)}.tcard .row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tcard .tid{font:var(--fw-m) var(--fs-11)/1 var(--mono);color:var(--text-3)}.tcard h3{font-size:var(--fs-13);font-weight:var(--fw-m);margin:6px 0 4px}.tcard .meta{font-size:var(--fs-12);color:var(--text-2)}.tcard .meta b{font:var(--fw-m) var(--fs-12) var(--mono);color:var(--text)}.tcard .reason{font-size:var(--fs-12);color:var(--st-waiting);margin-top:6px}.tcard .foot{border-top:1px dashed var(--border);font-size:var(--fs-11);color:var(--text-3);align-items:center;gap:6px;margin-top:8px;padding-top:8px;display:flex}.tcard .foot .btn{margin-left:auto}.board{gap:var(--s3);grid-template-columns:repeat(6,minmax(176px,1fr));align-items:start;padding-bottom:4px;display:grid;overflow-x:auto}.col{background:var(--surface-2);border-radius:var(--r-lg);padding:var(--s2);min-height:160px}.col>header{align-items:center;gap:6px;padding:4px 4px 10px;display:flex}.col>header .n{font:var(--fs-11)/1 var(--mono);color:var(--text-3);margin-left:auto}.col .empty{font-size:var(--fs-12);color:var(--text-3);text-align:center;padding:var(--s6) 0}.colswitch{display:none}.tl{margin:0;padding:0;list-style:none}.tl li{gap:0 var(--s2);padding-bottom:var(--s3);font-size:var(--fs-13);grid-template-columns:72px 16px 1fr;display:grid;position:relative}.tl li:last-child{padding-bottom:0}.tl time{font:var(--fs-12)/20px var(--mono);color:var(--text-3);text-align:right}.tl .node{justify-content:center;display:flex;position:relative}.tl .node:before{content:"";top:14px;bottom:calc(-1 * var(--s3));background:var(--border-strong);width:1px;position:absolute}.tl li:last-child .node:before{display:none}.tl .node i{background:var(--st-c,var(--text-3));width:9px;height:9px;box-shadow:0 0 0 3px var(--surface);z-index:1;border-radius:50%;margin-top:6px}.tl .node i.pause{box-shadow:inset 0 0 0 2px var(--st-waiting), 0 0 0 3px var(--surface);background:0 0;border-radius:2px}.tl .what{line-height:20px}.tl .what small{font-size:var(--fs-12);color:var(--text-2);line-height:var(--lh);display:block}.env{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.env+.env{margin-top:var(--s2)}.env .head{align-items:center;gap:var(--s2);background:var(--surface-2);font-size:var(--fs-13);flex-wrap:wrap;padding:8px 12px;display:flex}.env .hop{font:var(--fw-b) var(--fs-12)/1 var(--mono);border-radius:var(--r-sm);background:var(--text);color:var(--bg);padding:4px 6px}.env .path{font-family:var(--mono);font-size:var(--fs-12)}.env .verdict{margin-left:auto}.env .fields{font:var(--fs-11)/1.4 var(--mono);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.env .fields div{border-top:1px solid var(--border);overflow-wrap:anywhere;min-width:0;padding:6px 12px}.env .fields div span{color:var(--text-3);font-family:var(--font);display:block}.env.rejected{border-color:var(--danger)}.env.rejected .head{background:var(--danger-soft)}.env .why{border-top:1px solid var(--danger);color:var(--danger);font-size:var(--fs-12);padding:8px 12px}.ok-t{color:var(--ok)}.bad-t{color:var(--danger)}.appr{gap:var(--s3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);grid-template-columns:auto 1fr auto;align-items:center;padding:10px 12px;display:grid}.appr+.appr{margin-top:var(--s2)}.appr .kind{font:var(--fw-m) var(--fs-11)/1 var(--mono);border-radius:var(--r-sm);background:var(--warn-soft);color:var(--warn);padding:5px 7px}.appr .title{font-size:var(--fs-13);font-weight:var(--fw-m)}.appr .sub{font-size:var(--fs-12);color:var(--text-2)}.appr .acts{gap:6px;display:flex}.appr.decided .kind{background:var(--surface-2);color:var(--text-2)}.devcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);gap:var(--s3);flex-direction:column;display:flex}.devcard.off{background:var(--surface-2)}.devcard .h{align-items:center;gap:var(--s2);display:flex}.devcard .h h2{font:var(--fw-b) var(--fs-16)/1 var(--mono)}.devcard .h .state{font-size:var(--fs-13);color:var(--text-2)}.devcard .h .wait{margin-left:auto}.caps{flex-wrap:wrap;gap:4px;display:flex}.switch{align-items:center;gap:var(--s2);font-size:var(--fs-13);cursor:pointer;display:inline-flex}.switch input{appearance:none;border-radius:var(--r-pill);background:var(--surface-3);cursor:pointer;width:32px;height:18px;margin:0;transition:background .15s;position:relative}.switch input:after{content:"";background:var(--surface);width:14px;height:14px;box-shadow:var(--shadow-1);border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(14px)}.bud{gap:var(--s3);font-size:var(--fs-13);grid-template-columns:120px 1fr 180px;align-items:center;padding:8px 0;display:grid}.bud+.bud{border-top:1px solid var(--border)}.bud .who{font:var(--fw-m) var(--fs-12) var(--mono)}.bud .bar{border-radius:var(--r-pill);background:var(--bud-track);height:8px;position:relative;overflow:hidden}.bud .bar i{height:100%;width:var(--p);background:var(--bud-ok);border-radius:inherit;display:block}.bud .bar:after{content:"";background:var(--text-3);opacity:.5;width:1px;position:absolute;top:-2px;bottom:-2px;left:80%}.bud.warn .bar i{background:var(--bud-warn)}.bud.over .bar i{background:var(--bud-over);width:100%}.bud .num{text-align:right;font:var(--fs-12) var(--mono);color:var(--text-2)}.bud.warn .num b{color:var(--warn)}.bud.over .num b{color:var(--danger)}.kbr{border-top:1px solid var(--border);padding:10px 0}.kbr .src{font:var(--fs-12) var(--mono);color:var(--text-2)}.kbr p{font-size:var(--fs-13);margin:4px 0 0}.kbr mark{background:var(--warn-soft);color:inherit;border-radius:2px;padding:0 2px}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tabs button{height:36px;color:var(--text-2);font:var(--fw-m) var(--fs-13)/1 var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 12px}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--text)}.tabs .n{font:var(--fs-11) var(--mono);color:var(--text-3);margin-left:4px}[role=tabpanel][hidden]{display:none}.needs{margin-bottom:var(--s4)}.needs>header .n{font:var(--fw-m) var(--fs-12)/1 var(--mono);color:var(--text-3);margin-right:auto}.needs>header h2{margin-right:0}.need{gap:var(--s2) var(--s3);padding:10px var(--s4);border-top:1px solid var(--border);font-size:var(--fs-13);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.needs>header+.need{border-top:0}.need .what{min-width:0}.need .what .mono,.need .what .faint{font-size:var(--fs-12)}.need .act{align-items:center;gap:6px;display:flex}.need .kind{font:var(--fw-m) var(--fs-11)/1 var(--mono);border-radius:var(--r-sm);white-space:nowrap;background:var(--surface-3);color:var(--text-2);padding:5px 7px}.need .kind.k-warn{background:var(--warn-soft);color:var(--warn)}.need .kind.k-review{background:var(--st-review-bg);color:var(--st-review)}.need .kind.k-danger{background:var(--danger-soft);color:var(--danger)}.needs-empty{margin:0 0 var(--s4);font-size:var(--fs-13);color:var(--text-3)}.askrow{align-items:center;gap:var(--s2);border-radius:var(--r);background:var(--warn-soft);color:var(--text);font-size:var(--fs-13);flex-wrap:wrap;padding:8px 10px;display:flex}.askrow .q{flex:200px;min-width:0}.askrow .q span{font-size:var(--fs-11);color:var(--warn);display:block}.oneline{gap:var(--s2);align-items:center;display:flex}.oneline input{border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);min-width:0;height:30px;color:var(--text);font:var(--fs-13) var(--font);flex:auto;padding:0 10px}.srcline{align-items:center;gap:var(--s2);padding-bottom:var(--s3);border-bottom:1px solid var(--border);font-size:var(--fs-13);flex-wrap:wrap;display:flex}.srcline .lbl{color:var(--text-3)}.inputs{padding:var(--s3) 0}.inputs .empty{padding:var(--s4) 0;font-size:var(--fs-13);color:var(--text-3);margin:0}.inp{gap:var(--s2) var(--s3);border-top:1px solid var(--border);font-size:var(--fs-13);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:baseline;padding:8px 0;display:grid}.inp:first-child{border-top:0}.inp time,.inp .who{font:var(--fs-12) var(--mono);color:var(--text-3)}.ib-read{background:var(--ok-soft);color:var(--ok)}.ib-pending{background:var(--surface-3);color:var(--text-2)}.ib-sent{background:var(--accent-soft);color:var(--accent)}.ib-back{background:var(--warn-soft);color:var(--warn)}.sendin{padding-top:var(--s3);border-top:1px solid var(--border)}.sendin .hint{font-size:var(--fs-11);color:var(--text-3);margin-top:6px}@media (width<=767px),(height<=480px){.app{grid-template-columns:1fr;grid-template-rows:var(--topbar-h) 1fr}.topbar{padding:0 var(--s3);gap:var(--s2)}.env-tag{display:none}.devchips{position:relative}.devchips .devsum{border:1px solid var(--border);border-radius:var(--r-pill);align-items:center;gap:5px;height:28px;padding:0 8px;display:flex}.devchips .chips{display:none}.devchips.open .chips{padding:var(--s2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:absolute;top:34px;right:0}.nav{z-index:30;height:var(--tabbar-h);padding:0 4px env(safe-area-inset-bottom);border-right:0;border-top:1px solid var(--border);justify-content:space-around;display:flex;position:fixed;inset:auto 0 0;overflow:visible}.nav a{height:100%;font-size:var(--fs-11);flex-direction:column;flex:1;justify-content:center;gap:2px;padding:0 4px}.nav a.desk,.nav hr{display:none}.nav .more{display:flex}.nav .desk-t{display:none}.nav .count{margin:0;padding:2px 5px;position:absolute;transform:translate(10px,-12px)}.nav a{position:relative}.main{padding:var(--s4) var(--s4) calc(var(--tabbar-h) + var(--s6))}.board{scroll-snap-type:x mandatory;gap:var(--s3);margin:0 calc(-1 * var(--s4));padding:0 var(--s4);scrollbar-width:none;overscroll-behavior-x:contain;display:flex;overflow-x:auto}.board::-webkit-scrollbar{display:none}.col{scroll-snap-align:center;flex:0 0 100%}.colswitch{scrollbar-width:none;margin-bottom:var(--s3);gap:4px;display:flex;overflow-x:auto}.colswitch button{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-2);font:var(--fw-m) var(--fs-12)/1 var(--mono);cursor:pointer;flex:none;padding:0 10px}.colswitch button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.bud{grid-template-columns:96px 1fr}.bud .num{text-align:left;grid-column:1/-1}.env .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.appr{grid-template-columns:auto 1fr}.appr .acts{grid-column:1/-1}.need{padding:10px var(--s3);grid-template-columns:auto minmax(0,1fr)}.need .act{grid-column:2/-1}.need .kind{align-self:start}.inp{grid-template-columns:auto minmax(0,1fr) auto}.inp .body{grid-area:2/1/auto/-1}}:root{--overlay:color-mix(in srgb, var(--text) 35%, transparent)}@media (prefers-color-scheme:dark){:root{--overlay:color-mix(in srgb, var(--bg) 70%, transparent)}}.toolbar{align-items:center;gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.toolbar .alert{flex:360px}.side{align-items:center;gap:var(--s3);margin-top:var(--s3);font-size:var(--fs-12);color:var(--text-3);display:flex}.side .badge{opacity:.9}.side button.badge{cursor:pointer;font-family:var(--mono);border:0}.side button.badge:hover,.side button.badge[aria-pressed=true]{opacity:1;box-shadow:inset 0 0 0 1px}.sidelist{margin-top:var(--s3);background:var(--surface-2);border-radius:var(--r-lg);padding:var(--s2)}.sidelist>header{align-items:center;gap:6px;padding:4px 4px 10px;display:flex}.sidelist>header .n{font:var(--fs-11)/1 var(--mono);color:var(--text-3)}.sidelist>header .btn{margin-left:auto}.sidelist .empty{font-size:var(--fs-12);color:var(--text-3);text-align:center;padding:var(--s4) 0}.sidelist .cards{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start;display:grid}.sidelist .cards .tcard+.tcard{margin-top:0}.filter{position:relative}.filter>.btn .n{font:var(--fw-m) var(--fs-11)/1 var(--mono);border-radius:var(--r-pill);background:var(--accent);color:var(--accent-fg);padding:2px 6px}.filter>.btn[aria-pressed=true]{border-color:var(--accent)}.filterpop{z-index:40;width:240px;padding:var(--s3);gap:var(--s3);box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);right:0}.filterpop .acts{justify-content:flex-end;gap:6px;display:flex}.toolbar.filtered{gap:6px}.col>header .badge{font-size:var(--fs-12);height:22px}@media (width<=767px),(height<=480px){.pagehead .sub{display:none}.toolbar .alert{flex-basis:100%;order:3}}.main.split-host{padding:0}.split{height:calc(100vh - var(--topbar-h));grid-template-columns:300px minmax(0,1fr);display:grid}.list{border-right:1px solid var(--border);background:var(--surface);overflow:auto}.list .search{z-index:2;padding:var(--s3);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.list .search input{border:1px solid var(--border-strong);border-radius:var(--r);background:var(--bg);width:100%;height:30px;color:var(--text);font:var(--fs-13) var(--font);padding:0 10px}.grp{padding:var(--s3) var(--s3) 4px;font-size:var(--fs-11);color:var(--text-3);align-items:center;gap:6px;display:flex}.li{gap:2px var(--s2);padding:8px var(--s3);color:var(--text);border-left:2px solid #0000;grid-template-columns:34px 1fr auto;align-items:center;display:grid}.li:hover{background:var(--surface-2);text-decoration:none}.li[aria-current=true]{background:var(--accent-soft);border-left-color:var(--accent)}.li .tid{font:var(--fw-m) var(--fs-11)/1 var(--mono);color:var(--text-3)}.li .t{font-size:var(--fs-13);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.li .w{font:var(--fs-11) var(--mono);color:var(--text-3);grid-column:2/4}.li .badge{height:18px}.detail{padding:var(--s5) var(--s6) var(--s8);min-width:0;overflow:auto}.crumb{font-size:var(--fs-12);color:var(--text-3);margin-bottom:var(--s2);align-items:center;gap:6px;display:flex}.crumb .back{display:none}.dh{gap:var(--s3);flex-wrap:wrap;align-items:flex-start;display:flex}.dh .ttl{flex:320px;min-width:0}.dh h1{font-size:var(--fs-20)}.dh .badges{margin-top:var(--s2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dh .facts{margin-top:var(--s2);font-size:var(--fs-12);color:var(--text-2)}.dh .facts b{font:var(--fw-m) var(--fs-12) var(--mono);color:var(--text)}.dh .acts{flex-wrap:wrap;gap:6px;display:flex}.detail .tabs{margin-top:var(--s5)}.tabpanel{padding-top:var(--s4)}.grid2{gap:var(--s3);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;display:grid}.stack>*+*{margin-top:var(--s3)}.report .state{font:var(--fw-b) var(--fs-12) var(--mono);color:var(--st-done)}.report p{font-size:var(--fs-13);margin:6px 0 0}.human{margin-top:var(--s3);border-radius:var(--r);background:var(--surface-2);font-size:var(--fs-13);padding:8px 10px}.human span{font-size:var(--fs-11);color:var(--text-3);display:block}.orig{font:var(--fs-13) var(--mono);background:var(--surface-2);border-radius:var(--r);white-space:pre-wrap;overflow-wrap:anywhere;padding:8px 10px}.child{gap:4px var(--s2);font-size:var(--fs-13);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.child .crep{font-size:var(--fs-12);color:var(--text-2);grid-column:2/-1;margin-top:-2px}.handoff{margin-top:var(--s3);border:1px dashed var(--border-strong);border-radius:var(--r);font-size:var(--fs-13);gap:var(--s2);flex-direction:column;padding:8px 10px;display:flex}.handoff .hh{font-weight:var(--fw-b);font-size:var(--fs-12)}.handoff .hh .mono{font-weight:var(--fw-r);color:var(--text-2)}.handoff .hs>span{font-size:var(--fs-11);color:var(--text-3);margin-bottom:2px;display:block}.handoff ol,.handoff ul{margin:0;padding-left:18px}.handoff ul.mono{font-size:var(--fs-12)}.kbr .src .who{color:var(--text-3)}.audit{gap:var(--s2);border-radius:var(--r);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-12);grid-column:1/-1;align-items:baseline;padding:6px 8px;display:flex}.audit .mono{color:var(--text-3)}.sum{gap:var(--s4);margin-bottom:var(--s4);font-size:var(--fs-12);color:var(--text-2);flex-wrap:wrap;display:flex}.sum b{font:var(--fw-b) var(--fs-16) var(--mono);color:var(--text);display:block}.msgs{gap:var(--s2);flex-direction:column;display:flex}.msg{border-radius:var(--r-lg);background:var(--surface-2);font-size:var(--fs-13);padding:8px 10px}.msg .who{font:var(--fw-m) var(--fs-11) var(--mono);color:var(--text-3);margin-bottom:2px}.msg.sys{border:1px dashed var(--border-strong);background:0 0}.msg.tool{border:1px solid var(--border);font-family:var(--mono);font-size:var(--fs-12);background:0 0}.art{gap:var(--s3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);grid-template-columns:auto 1fr auto;align-items:center;padding:10px 12px;display:grid}.art .n{font:var(--fw-m) var(--fs-13) var(--mono)}@media (width<=1100px){.grid2{grid-template-columns:1fr}}@media (width<=767px),(height<=480px){.split{grid-template-columns:1fr;height:auto}.list{border-right:0;display:none}.split.show-list .list{display:block}.split.show-list .detail{display:none}.detail{padding:var(--s4) var(--s4) calc(var(--tabbar-h) + var(--s6));overflow:visible}.crumb .back{display:inline-flex}.crumb .path{display:none}.dh .acts{width:100%}.detail .tabs{margin-left:calc(-1 * var(--s4));margin-right:calc(-1 * var(--s4));padding:0 var(--s4)}}.devgrid{gap:var(--s3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.devcard .run{font-size:var(--fs-13);border-radius:var(--r);background:var(--surface-2);padding:8px 10px}.devcard.off .run{background:var(--surface)}.devcard .run .mono{color:var(--text-3)}.devcard .obs{border-top:1px solid var(--border);padding-top:var(--s3)}.devcard .obs p{font-size:var(--fs-12);color:var(--text-2);margin:4px 0 0}.wait-badge{background:var(--st-waiting-bg);color:var(--st-waiting)}h2.sec{margin:var(--s8) 0 var(--s3);align-items:center;gap:var(--s2);display:flex}h2.sec .sm{font-weight:var(--fw-r)}.budstate{font-size:var(--fs-11)}@media (width<=1100px){.devgrid{grid-template-columns:1fr 1fr}}@media (width<=767px),(height<=480px){.devgrid{grid-template-columns:1fr}}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{background:var(--surface)}.btn.primary:disabled:hover{background:var(--accent)}.page-loading{color:var(--text-3);font-size:var(--fs-13);padding:var(--s6) 0}.page-error{margin-bottom:var(--s3)}.empty-state{padding:var(--s8) var(--s4);text-align:center;color:var(--text-3);font-size:var(--fs-13)}section.block+section.block{margin-top:var(--s6)}.block>h2{align-items:center;gap:var(--s2);margin-bottom:var(--s3);display:flex}.block>h2 .faint{font:var(--fw-r) var(--fs-12) var(--mono)}.app.estopped{grid-template-rows:var(--topbar-h) auto 1fr}.app.estopped .nav,.app.estopped .main{grid-row:3}.estop-banner{top:var(--topbar-h);z-index:19;align-items:center;gap:var(--s3);padding:8px var(--s4);background:var(--danger);color:var(--danger-fg);font-weight:var(--fw-b);font-size:var(--fs-13);grid-area:2/1/auto/-1;display:flex;position:sticky}.estop-banner .btn{color:var(--danger-fg);border-color:var(--danger-fg);background:0 0;margin-left:auto}.estop.on{background:var(--danger);color:var(--danger-fg)}.moremenu{display:none}@media (width<=767px),(height<=480px){.moremenu.open{z-index:31;right:var(--s2);bottom:calc(var(--tabbar-h) + var(--s2));min-width:168px;padding:var(--s2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:fixed}.moremenu a{border-radius:var(--r);height:36px;color:var(--text-2);font-size:var(--fs-13);align-items:center;gap:10px;padding:0 10px;display:flex}.moremenu a[aria-current=page]{background:var(--surface-2);color:var(--text)}.moremenu .count{font:var(--fw-m) var(--fs-11)/1 var(--mono);border-radius:var(--r-pill);background:var(--surface-3);color:var(--text-2);margin-left:auto;padding:3px 6px}.nav button.more{height:100%;color:var(--text-2);font:var(--fs-11) var(--font);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:0 4px}}.nav button.more{display:none}@media (width<=767px),(height<=480px){.nav button.more{display:flex}}.tcard h3 a{color:inherit}.tcard .meta+.meta{margin-top:4px}.tcard .meta.rep{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.modal-back{z-index:60;background:var(--overlay);padding:8vh var(--s4) var(--s4);place-items:start center;display:grid;position:fixed;inset:0;overflow:auto}.modal{width:min(560px,100%);box-shadow:var(--shadow-2)}.modal .body{gap:var(--s3);flex-direction:column;display:flex}.modal footer{justify-content:flex-end;gap:var(--s2);padding:var(--s3) var(--s4);border-top:1px solid var(--border);display:flex}.field{font-size:var(--fs-13);flex-direction:column;gap:4px;display:flex}.field>span{color:var(--text-2);font-size:var(--fs-12)}.field>span small{color:var(--text-3)}.input,.field input,.field textarea,.field select{border:1px solid var(--border-strong);border-radius:var(--r);background:var(--bg);width:100%;min-height:32px;color:var(--text);font:var(--fs-13) var(--font);padding:6px 10px}.field textarea{resize:vertical;min-height:96px;font-family:var(--mono)}.field select{font-family:var(--mono)}.seg{border:1px solid var(--border-strong);border-radius:var(--r);align-self:flex-start;display:inline-flex;overflow:hidden}.seg label{height:30px;font:var(--fw-m) var(--fs-12)/1 var(--mono);color:var(--text-2);cursor:pointer;align-items:center;padding:0 12px;display:inline-flex}.seg label+label{border-left:1px solid var(--border-strong)}.seg input{opacity:0;pointer-events:none;position:absolute}.seg label:has(input:checked){background:var(--accent);color:var(--accent-fg)}.seg label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:-2px}.form-error{margin:0}.login-wrap{min-height:100vh;padding:var(--s4);place-items:center;display:grid}.login{width:min(360px,100%)}.login .body{gap:var(--s3);padding:var(--s4);flex-direction:column;display:flex}.login .brand{margin-bottom:var(--s1)}.chat .compose{gap:var(--s2);padding:var(--s3) var(--s4);border-top:1px solid var(--border);display:flex}.chat .compose input{border:1px solid var(--border-strong);border-radius:var(--r);background:var(--bg);min-width:0;height:32px;color:var(--text);font:var(--fs-13) var(--font);flex:1;padding:0 10px}.chat .log{min-height:240px;max-height:62vh;overflow-y:auto}.chat .entered{margin:0}.chat .alert+.entered{margin-top:var(--s2)}.need>.oneline{grid-column:1/-1}a.kbr{color:inherit;display:block}a.kbr:hover .src{color:var(--text)}.inp .body small{font-size:var(--fs-11);margin-right:4px}.searchbar{gap:var(--s2);margin-bottom:var(--s4);display:flex}.searchbar input{border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);min-width:0;height:32px;color:var(--text);font:var(--fs-13) var(--font);flex:1;padding:0 10px}.kbgrp>h3{margin:var(--s4) 0 var(--s2)}.kbgrp>h3 .faint{font:var(--fw-r) var(--fs-12) var(--mono)}.kbr .src{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.kbr button.open{all:unset;cursor:pointer;font:var(--fw-m) var(--fs-12) var(--mono);color:var(--text)}.kbr button.open:hover{text-decoration:underline}.kbr pre{margin:var(--s2) 0 0;border-radius:var(--r);background:var(--surface-2);font:var(--fs-12)/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;padding:8px 10px}.kbr .kv{margin-top:var(--s2)}.tblwrap{overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:var(--fs-13)}.tbl th{text-align:left;font-weight:var(--fw-m);font-size:var(--fs-12);color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px}.tbl td{border-bottom:1px solid var(--border);vertical-align:top;padding:8px 12px}.tbl tr:last-child td{border-bottom:0}.tbl td.mono{white-space:nowrap}.tbl tr.err td{color:var(--danger);background:var(--danger-soft)}.mitem+.mitem{margin-top:var(--s3)}.mitem h2{font:var(--fw-b) var(--fs-13) var(--mono)}.smoke{gap:var(--s2);flex-wrap:wrap;display:flex}.mtl{font-size:var(--fs-13);margin:0;padding:0;list-style:none}.mtl li{gap:var(--s2);grid-template-columns:72px 1fr;display:grid}.mtl time{font:var(--fs-12)/20px var(--mono);color:var(--text-3);text-align:right}.art+.art{margin-top:var(--s2)}.art .acts{align-items:center;gap:6px;display:flex}.badge.paused{background:var(--danger-soft);color:var(--danger)}.badge.neutral{background:var(--surface-2);color:var(--text-2)}.appr .kindbox{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.appr .kindbox small{font:var(--fs-11)/1 var(--mono);color:var(--text-3)}.appr.evt .kind{background:var(--surface-2);color:var(--text-2)}.estop-banner .estop-t{white-space:nowrap}.estop-banner .estop-why{font-weight:var(--fw-r)}@media (width<=767px),(height<=480px){.estop-banner .estop-why{display:none}}.need .what a.mono{color:var(--text)}.need .what a.mono:hover{text-decoration:underline}
