:where(:root,[data-theme=light],.light){--ui-bg: #f3f2f0;--ui-surface: #ffffff;--ui-sunken: #f5f5f4;--ui-hover: #f0efee;--ui-selected: #e7e5e4;--ui-line: #e7e5e4;--ui-rule: #f0efee;--ui-control-edge: #d6d3d1;--ui-text: #1c1917;--ui-text-soft: #57534e;--ui-text-muted: #6b645f;--ui-accent: #c2410c;--ui-on-accent: #ffffff;--ui-accent-tint: #fff7ed;--ui-accent-ink: #9a3412;--ui-focus-ring: var(--ui-accent);--ui-brand: #f36f21;--ui-ok: #15803d;--ui-ok-bg: #f0fdf4;--ui-warn: #b45309;--ui-warn-bg: #fffbeb;--ui-err: #b91c1c;--ui-err-bg: #fef2f2;--ui-run: #1d4ed8;--ui-run-bg: #eff6ff;--ui-hue-blue: #1f5fbf;--ui-hue-peach: #a8461a;--ui-hue-lilac: #5b3fc0;--ui-hue-mint: #0f7a5a;--ui-hue-rose: #b3262f;--ui-hue-sky: #0b6f8f;--ui-hue-teal: #0f6e6a;--ui-hue-ochre: #7f6200;--ui-radius: 12px;--ui-radius-pill: 999px;--ui-radius-round: 50%;--ui-font-sans: "IBM Plex Sans", -apple-system, system-ui, "Segoe UI", sans-serif;--ui-font-display: "Bricolage Grotesque", var(--ui-font-sans);--ui-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--ui-text-xs: 12px;--ui-text-sm: 14px;--ui-text-md: 16px;--ui-text-lg: 22px;--ui-weight-regular: 400;--ui-weight-medium: 500;--ui-weight-strong: 600;--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-5: 20px;--ui-space-6: 24px;--ui-space-8: 32px;--ui-space-10: 40px;--ui-page-gap: var(--ui-space-3);--ui-control-sm: 28px;--ui-control-md: 32px;--ui-control-lg: 36px;--ui-sidebar-w: 240px;--ui-rail-w: 60px;--ui-conv-w: 272px;--ui-header-h: 56px;--ui-float-shadow: 0 12px 32px rgb(28 25 23 / .12), 0 2px 6px rgb(28 25 23 / .06);--ui-scrim: rgb(28 25 23 / .32);--ui-duration-fast: .12s;--ui-duration-base: .2s;--ui-ease: cubic-bezier(.2, 0, 0, 1);color-scheme:light}:where([data-theme=dark],.dark){--ui-bg: #0b0b0d;--ui-surface: #17171a;--ui-sunken: #1e1e22;--ui-hover: #232328;--ui-selected: #2a2a30;--ui-line: #26262b;--ui-rule: #1f1f23;--ui-control-edge: #3a3a41;--ui-text: #ededef;--ui-text-soft: #b4b4bb;--ui-text-muted: #9a9aa3;--ui-accent: #f0782a;--ui-on-accent: #0e0e10;--ui-accent-tint: #2a1c12;--ui-accent-ink: #fdba74;--ui-focus-ring: var(--ui-accent);--ui-ok: #4ade80;--ui-ok-bg: #0f2418;--ui-warn: #fbbf24;--ui-warn-bg: #2a2110;--ui-err: #f87171;--ui-err-bg: #2c1414;--ui-run: #60a5fa;--ui-run-bg: #121f36;--ui-hue-blue: #8bb8ff;--ui-hue-peach: #ffaa7f;--ui-hue-lilac: #bba9ff;--ui-hue-mint: #62d8b0;--ui-hue-rose: #ff8d96;--ui-hue-sky: #6fd0f0;--ui-hue-teal: #5fd0c8;--ui-hue-ochre: #f0cc5a;--ui-float-shadow: 0 12px 32px rgb(0 0 0 / .5), 0 2px 6px rgb(0 0 0 / .3);--ui-scrim: rgb(0 0 0 / .55);color-scheme:dark}@media (prefers-reduced-motion: reduce){:where(:root){--ui-duration-fast: 0ms;--ui-duration-base: 0ms}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-2);height:var(--ui-control-md);padding:0 var(--ui-space-3);border:1px solid transparent;border-radius:var(--ui-radius);background:transparent;color:var(--ui-text);font:var(--ui-weight-medium) var(--ui-text-sm) / 1 var(--ui-font-sans);white-space:nowrap;cursor:pointer;transition:background-color var(--ui-duration-fast) var(--ui-ease),border-color var(--ui-duration-fast) var(--ui-ease),color var(--ui-duration-fast) var(--ui-ease)}.ui-btn:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:2px}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn--sm{height:var(--ui-control-sm);padding:0 var(--ui-space-2);font-size:var(--ui-text-xs)}.ui-btn--lg{height:var(--ui-control-lg);padding:0 var(--ui-space-4)}.ui-btn--primary{background:var(--ui-accent);color:var(--ui-on-accent)}.ui-btn--primary:hover:not(:disabled){background:color-mix(in oklab,var(--ui-accent) 88%,var(--ui-text))}.ui-btn--secondary{background:var(--ui-surface);border-color:var(--ui-control-edge)}.ui-btn--secondary:hover:not(:disabled),.ui-btn--ghost:hover:not(:disabled){background:var(--ui-hover)}.ui-btn--ghost{color:var(--ui-text-soft)}.ui-btn--danger{background:var(--ui-surface);border-color:var(--ui-control-edge);color:var(--ui-err)}.ui-btn--danger:hover:not(:disabled){background:var(--ui-err-bg)}.ui-icon-btn{width:var(--ui-control-md);padding:0}.ui-icon-btn.ui-btn--sm{width:var(--ui-control-sm)}.ui-icon-btn.ui-btn--lg{width:var(--ui-control-lg)}.ui-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--ui-space-6);background:var(--ui-scrim)}.ui-modal{display:flex;flex-direction:column;width:min(400px,100%);max-height:calc(100vh - 2 * var(--ui-space-6));border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--ui-float-shadow);color:var(--ui-text);font-family:var(--ui-font-sans)}.ui-modal--md{width:min(600px,100%)}.ui-modal--lg{width:min(1100px,100%)}.ui-modal--xl{width:min(1500px,96vw)}.ui-modal-head{display:flex;align-items:flex-start;gap:var(--ui-space-3);padding:var(--ui-space-4) var(--ui-space-4) var(--ui-space-3) var(--ui-space-5)}.ui-modal-head-text{flex:1;min-width:0}.ui-modal-title{margin:0;font-size:var(--ui-text-md);font-weight:var(--ui-weight-strong);line-height:1.4}.ui-modal-subtitle{margin:var(--ui-space-1) 0 0;color:var(--ui-text-soft);font-size:var(--ui-text-sm)}.ui-modal-body{flex:1;min-height:0;overflow-y:auto;padding:0 var(--ui-space-5) var(--ui-space-4);font-size:var(--ui-text-sm);line-height:1.55}.ui-modal-foot{display:flex;justify-content:flex-end;gap:var(--ui-space-2);padding:var(--ui-space-3) var(--ui-space-5);border-top:1px solid var(--ui-rule)}.ui-confirm-error{margin:var(--ui-space-3) 0 0;padding:var(--ui-space-2) var(--ui-space-3);border-radius:var(--ui-radius);background:var(--ui-err-bg);color:var(--ui-err);font-size:var(--ui-text-sm)}.ui-confirm-message{margin:0;color:var(--ui-text-soft)}.ui-confirm-details{display:flex;flex-direction:column;gap:var(--ui-space-2);margin:var(--ui-space-3) 0 0;padding:var(--ui-space-3);border-radius:var(--ui-radius);background:var(--ui-sunken)}.ui-confirm-detail{display:grid;grid-template-columns:minmax(96px,auto) 1fr;gap:var(--ui-space-3)}.ui-confirm-detail dt{color:var(--ui-text-muted)}.ui-confirm-detail dd{margin:0;overflow-wrap:anywhere}.ui-confirm-from{color:var(--ui-text-muted)}.ui-menu{z-index:1100;display:flex;flex-direction:column;min-width:200px;max-width:320px;overflow-y:auto;padding:var(--ui-space-1);border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--ui-float-shadow);font-family:var(--ui-font-sans)}.ui-menu-entry{display:contents}.ui-menu-rule{height:1px;margin:var(--ui-space-1) var(--ui-space-2);background:var(--ui-rule)}.ui-menu-item{display:flex;align-items:center;gap:var(--ui-space-2);min-height:var(--ui-control-md);padding:0 var(--ui-space-3);border:0;border-radius:var(--ui-radius);background:transparent;color:var(--ui-text);font:var(--ui-text-sm) var(--ui-font-sans);text-align:left;cursor:pointer}.ui-menu-item:hover:not(:disabled):not([aria-disabled=true]){background:var(--ui-hover)}.ui-menu-item:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:-2px;background:var(--ui-selected)}.ui-menu-item:disabled{color:var(--ui-text-muted);cursor:not-allowed}.ui-menu-item--danger{color:var(--ui-err)}.ui-menu-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.ui-menu-item--hint{padding-block:var(--ui-space-2)}.ui-menu-hint{max-width:280px;color:var(--ui-text-soft);font-size:var(--ui-text-xs);white-space:normal}.ui-menu-item[aria-checked=true]{background:var(--ui-selected);font-weight:var(--ui-weight-medium)}.ui-avatar{display:inline-grid;flex:none;place-items:center;width:30px;height:30px;border-radius:var(--ui-radius-round);background:var(--ui-selected);color:var(--ui-text);font:var(--ui-weight-strong) var(--ui-text-xs) / 1 var(--ui-font-sans);object-fit:cover;-webkit-user-select:none;user-select:none}.ui-avatar--sm{width:24px;height:24px;font-size:10px}.ui-avatar--lg{width:52px;height:52px;font-size:var(--ui-text-lg)}.ui-avatar--me{background:var(--ui-accent-tint);color:var(--ui-accent-ink)}.ui-avatar--blue{background:color-mix(in srgb,var(--ui-hue-blue) 10%,var(--ui-surface));color:var(--ui-hue-blue)}.ui-avatar--peach{background:color-mix(in srgb,var(--ui-hue-peach) 10%,var(--ui-surface));color:var(--ui-hue-peach)}.ui-avatar--lilac{background:color-mix(in srgb,var(--ui-hue-lilac) 10%,var(--ui-surface));color:var(--ui-hue-lilac)}.ui-avatar--mint{background:color-mix(in srgb,var(--ui-hue-mint) 10%,var(--ui-surface));color:var(--ui-hue-mint)}.ui-avatar--rose{background:color-mix(in srgb,var(--ui-hue-rose) 10%,var(--ui-surface));color:var(--ui-hue-rose)}.ui-avatar--sky{background:color-mix(in srgb,var(--ui-hue-sky) 10%,var(--ui-surface));color:var(--ui-hue-sky)}.ui-avatar--teal{background:color-mix(in srgb,var(--ui-hue-teal) 10%,var(--ui-surface));color:var(--ui-hue-teal)}.ui-avatar--ochre{background:color-mix(in srgb,var(--ui-hue-ochre) 10%,var(--ui-surface));color:var(--ui-hue-ochre)}.ui-input{display:block;width:100%;height:var(--ui-control-lg);padding:0 var(--ui-space-3);border:1px solid var(--ui-control-edge);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);font:var(--ui-text-sm) / 1.5 var(--ui-font-sans)}.ui-input--area{height:auto;padding:var(--ui-space-2) var(--ui-space-3);resize:vertical}.ui-input::placeholder{color:var(--ui-text-muted)}.ui-input:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:1px}.ui-input[aria-invalid=true]{border-color:var(--ui-err)}.ui-input:disabled{background:var(--ui-sunken);color:var(--ui-text-muted);cursor:not-allowed}.ui-select{display:inline-flex;align-items:center;gap:var(--ui-space-2);height:var(--ui-control-md);min-width:120px;padding:0 var(--ui-space-2) 0 var(--ui-space-3);border:1px solid var(--ui-control-edge);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);font:var(--ui-text-sm) var(--ui-font-sans);text-align:left;cursor:pointer}.ui-select--field{width:100%;height:var(--ui-control-lg)}.ui-select:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:2px}.ui-select:disabled{opacity:.5;cursor:not-allowed}.ui-select svg{flex:none;color:var(--ui-text-muted)}.ui-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-value--placeholder{color:var(--ui-text-muted)}.ui-select-list{max-width:480px}.ui-select-group{padding:var(--ui-space-2) var(--ui-space-3) var(--ui-space-1);color:var(--ui-text-muted);font-size:var(--ui-text-xs);font-weight:var(--ui-weight-medium)}.ui-select-option{justify-content:space-between}.ui-select-option--active{outline:2px solid var(--ui-focus-ring);outline-offset:-2px;background:var(--ui-selected)}.ui-select-option[aria-selected=true]{font-weight:var(--ui-weight-medium)}.ui-select-option[aria-disabled=true]{color:var(--ui-text-muted);cursor:not-allowed}.ui-nav{display:flex;flex-direction:column;gap:var(--ui-space-2);width:var(--ui-sidebar-w);flex:none;padding:var(--ui-space-3) var(--ui-space-2);font-family:var(--ui-font-sans)}.ui-nav-title{padding:0 var(--ui-space-2);color:var(--ui-text);font-size:var(--ui-text-md);font-weight:var(--ui-weight-strong)}.ui-nav-search{display:flex;align-items:center;gap:var(--ui-space-2);height:var(--ui-control-md);margin:0 var(--ui-space-1);padding:0 var(--ui-space-2);border:1px solid var(--ui-control-edge);border-radius:var(--ui-radius);color:var(--ui-text-muted)}.ui-nav-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ui-text);font:var(--ui-text-sm) var(--ui-font-sans);outline:none}.ui-nav-search:focus-within{border-color:var(--ui-focus-ring)}.ui-nav-empty{margin:0;padding:0 var(--ui-space-2);color:var(--ui-text-muted);font-size:var(--ui-text-sm)}.ui-nav-list,.ui-nav-group{display:flex;flex-direction:column;gap:2px}.ui-nav-rule{height:1px;margin:var(--ui-space-2) var(--ui-space-2);background:var(--ui-rule)}.ui-nav-row{display:flex;align-items:center;gap:var(--ui-space-3);height:34px;padding:0 var(--ui-space-3);border:0;border-radius:var(--ui-radius);background:transparent;color:var(--ui-text-soft);font:var(--ui-text-sm) var(--ui-font-sans);text-align:left;cursor:pointer}.ui-nav-row:hover:not(:disabled){background:var(--ui-hover)}.ui-nav-row:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:-2px}.ui-nav-row:disabled{opacity:.5;cursor:not-allowed}.ui-nav-row--active,.ui-nav-row--active:hover:not(:disabled){background:var(--ui-selected);color:var(--ui-text);font-weight:var(--ui-weight-medium)}.ui-nav-icon{display:inline-flex;flex:none}.ui-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-nav-count{color:var(--ui-text-muted);font-size:var(--ui-text-xs);font-variant-numeric:tabular-nums}.ui-nav-count--waiting{min-width:18px;padding:0 var(--ui-space-1);border-radius:var(--ui-radius-pill);background:var(--ui-accent);color:var(--ui-on-accent);font-weight:var(--ui-weight-strong);line-height:18px;text-align:center}.ui-page-header{display:flex;flex-direction:column;gap:var(--ui-space-4);font-family:var(--ui-font-sans)}.ui-page-header-row{display:flex;align-items:flex-start;gap:var(--ui-space-4)}.ui-page-header-text{flex:1;min-width:0}.ui-page-title{margin:0;color:var(--ui-text);font-family:var(--ui-font-display);font-size:24px;font-weight:var(--ui-weight-strong);letter-spacing:-.01em;line-height:30px}.ui-page-description{margin:var(--ui-space-1) 0 0;color:var(--ui-text-soft);font-size:var(--ui-text-sm)}.ui-page-actions{display:flex;flex:none;flex-wrap:wrap;gap:var(--ui-space-2)}.ui-page-tabs{display:flex;gap:18px;box-shadow:inset 0 -1px 0 var(--ui-line)}.ui-page-tab{position:relative;height:36px;padding:0;border:0;background:transparent;color:var(--ui-text-soft);font:var(--ui-weight-medium) var(--ui-text-sm) var(--ui-font-sans);cursor:pointer}.ui-page-tab em{margin-left:5px;color:var(--ui-text-muted);font-style:normal;font-variant-numeric:tabular-nums}.ui-page-tab--active{color:var(--ui-text)}.ui-page-tab--active:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--ui-text)}.ui-page-tab:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:2px}.ui-toast-stack{position:fixed;right:var(--ui-space-4);bottom:var(--ui-space-4);z-index:1200;display:flex;flex-direction:column;gap:var(--ui-space-2);width:min(380px,calc(100vw - 2 * var(--ui-space-4)));pointer-events:none}.ui-toast{display:flex;align-items:flex-start;gap:var(--ui-space-3);padding:var(--ui-space-3) var(--ui-space-2) var(--ui-space-3) var(--ui-space-4);border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--ui-float-shadow);color:var(--ui-text);font:var(--ui-text-sm) / 1.45 var(--ui-font-sans);pointer-events:auto}.ui-toast-icon{display:inline-flex;flex:none;margin-top:2px;color:var(--ui-run)}.ui-toast--ok .ui-toast-icon{color:var(--ui-ok)}.ui-toast--warn .ui-toast-icon{color:var(--ui-warn)}.ui-toast--err{background:var(--ui-err-bg)}.ui-toast--err .ui-toast-icon{color:var(--ui-err)}.ui-toast-text{flex:1;min-width:0}.ui-toast-text b{font-weight:var(--ui-weight-strong)}.ui-toast-text p{margin:2px 0 0;color:var(--ui-text-soft);overflow-wrap:anywhere}.ui-empty{display:flex;flex-direction:column;align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-10) var(--ui-space-6);color:var(--ui-text-soft);font:var(--ui-text-sm) / 1.5 var(--ui-font-sans);text-align:center}.ui-empty--inline{align-items:flex-start;padding:var(--ui-space-4) 0;text-align:left}.ui-empty-icon{display:inline-flex;color:var(--ui-text-muted)}.ui-empty-title{margin:0;color:var(--ui-text);font-weight:var(--ui-weight-medium)}.ui-empty-message{max-width:48ch;margin:0}.ui-empty-action{margin-top:var(--ui-space-2)}.ui-table-wrap{overflow:auto;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface)}.ui-table{width:100%;border-collapse:collapse;color:var(--ui-text);font:var(--ui-text-sm) / 1.45 var(--ui-font-sans);table-layout:fixed}.ui-table th{position:sticky;top:0;z-index:1;height:36px;padding:0 var(--ui-space-4);background:var(--ui-sunken);color:var(--ui-text-muted);font-size:var(--ui-text-xs);font-weight:var(--ui-weight-medium);text-align:left}.ui-table td{height:46px;padding:var(--ui-space-2) var(--ui-space-4);border-top:1px solid var(--ui-rule);overflow-wrap:anywhere;vertical-align:middle}.ui-table .ui-table-end{text-align:right;font-variant-numeric:tabular-nums}.ui-table-sort{display:inline-flex;align-items:center;gap:var(--ui-space-1);padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.ui-table-sort-icon{opacity:0}.ui-table-sort:hover .ui-table-sort-icon,.ui-table-sort:focus-visible .ui-table-sort-icon,.ui-table-sort-icon--asc,.ui-table-sort-icon--desc{opacity:1}.ui-table-sort-icon--asc{transform:rotate(180deg)}.ui-table-row--link{cursor:pointer}.ui-table-row--link:hover td{background:var(--ui-hover)}.ui-table-row--link:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:-2px}.ui-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 var(--ui-space-2);border-radius:var(--ui-radius-pill);background:var(--ui-hover);color:var(--ui-text-soft);font:var(--ui-weight-medium) var(--ui-text-xs) / 1 var(--ui-font-sans);white-space:nowrap}.ui-pill-dot{width:6px;height:6px;border-radius:var(--ui-radius-round);background:currentColor}.ui-pill--ok{background:var(--ui-ok-bg);color:var(--ui-ok)}.ui-pill--run{background:var(--ui-run-bg);color:var(--ui-run)}.ui-pill--warn{background:var(--ui-warn-bg);color:var(--ui-warn)}.ui-pill--err{background:var(--ui-err-bg);color:var(--ui-err)}.ui-pill--waiting{background:var(--ui-accent-tint);color:var(--ui-accent-ink)}.ui-seg{display:inline-flex;gap:2px;padding:3px;border-radius:var(--ui-radius);background:var(--ui-sunken)}.ui-seg-option{height:26px;padding:0 var(--ui-space-3);border:0;border-radius:var(--ui-radius);background:transparent;color:var(--ui-text-soft);font:var(--ui-weight-medium) var(--ui-text-sm) var(--ui-font-sans);cursor:pointer}.ui-seg-option:hover:not(:disabled):not(.ui-seg-option--on){color:var(--ui-text)}.ui-seg-option--on{background:var(--ui-surface);box-shadow:0 0 0 1px var(--ui-control-edge);color:var(--ui-text)}.ui-seg-option:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:1px}.ui-seg-option:disabled{opacity:.5;cursor:not-allowed}.ui-layer{display:contents}body{margin:0}.app-root.web{--bg:var(--ui-bg);--bg-soft:var(--ui-surface);--bg-alt:var(--ui-sunken);--bg-hover:var(--ui-hover);--selected:var(--ui-selected);--border:var(--ui-line);--rule:var(--ui-rule);--border-strong:var(--ui-control-edge);--frame-line:#E4E2DF;--text:var(--ui-text);--text-soft:var(--ui-text-soft);--muted:var(--ui-text-muted);--accent:var(--ui-accent);--accent-hover:#A8380A;--accent-strong:var(--ui-accent-ink);--on-accent:var(--ui-on-accent);--accent-tint:var(--ui-accent-tint);--accent-tint-2:#FFEDD5;--accent-edge:#FED7AA;--brand-mark:var(--ui-brand);--knob:#FFFFFF;--ok:var(--ui-ok);--warn:var(--ui-warn);--bad:var(--ui-err);--run:var(--ui-run);--ok-tint:var(--ui-ok-bg);--warn-tint:var(--ui-warn-bg);--bad-tint:var(--ui-err-bg);--run-tint:var(--ui-run-bg);--hue-blue-ink:var(--ui-hue-blue);--hue-peach-ink:var(--ui-hue-peach);--hue-lavender-ink:var(--ui-hue-lilac);--hue-rose-ink:var(--ui-hue-rose);--hue-mint-ink:var(--ui-hue-mint);--hue-sky-ink:var(--ui-hue-sky);--hue-teal-ink:var(--ui-hue-teal);--hue-lime-ink:#4a7a12;--hue-butter-ink:var(--ui-hue-ochre);--hue-pink-ink:#a3236f;--hue-sand-ink:#7a5a2e;--hue-slate-ink:#3d5068;--tk-input:#2f70bb;--tk-write:#b06d0c;--tk-output:#16855d;--float-shadow:0 12px 32px rgba(28,25,23,.12),0 2px 6px rgba(28,25,23,.06);--fill-neutral:#57534E;--fill-ok:#15803D;--fill-accent:#C2410C;--fill-bad:#B91C1C;--on-solid:#FFFFFF;--on-fill:#FFFFFF;--overlay:rgba(28,25,23,.4);--logo-ground:#FFFFFF;--ado-state-new:#b2b2b2;--ado-state-done:#339933;--ado-state-active:#007acc;--ado-state-removed:#cc293d;--term-bg:#111113;--term-fg:#E4E4E7;--term-dim:#8B8B94;--term-strong:#FFFFFF;--term-ok:#4ADE80;--term-bad:#F87171;--term-warn:#FBBF24;--term-run:#7CB7FF;--term-note:#C4B5FD;--term-brief:#93C5FD;--term-msg:#5EEAD4;--term-bad-ink:#FECACA;--term-raise:rgba(255,255,255,.06);--term-bad-tint:rgba(248,113,113,.14);--term-warn-tint:rgba(251,191,36,.14);--radius:var(--ui-radius);--radius-pill:var(--ui-radius-pill);--sidebar-w:228px;--sheet-inset:8px;--type-caption2:12px;--type-caption:12px;--type-footnote:12px;--type-subhead:13px;--type-callout:14px;--type-body:14px;--type-headline:16px;--type-title3:16px;--type-title2:22px;--type-title1:22px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--control-h-2xs:22px;--control-h-xs:28px;--control-h-sm:32px;--control-h:32px;--control-h-lg:36px;--motion-enter:.24s;--motion-ease:cubic-bezier(.16,1,.3,1);--chip:32px;--chip-lg:44px;--font-sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Bricolage Grotesque","IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;font:14px/20px var(--font-sans);letter-spacing:0;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;height:var(--frame-h,100vh);overflow:hidden}.app-root.web[data-theme=dark]{--frame-line:#26262B;--accent-hover:#F48F4E;--accent-tint-2:#3A2414;--accent-edge:#5A3414;--hue-lime-ink:#a8d86a;--hue-pink-ink:#f08acb;--hue-sand-ink:#d8b88a;--hue-slate-ink:#a9b8cc;--tk-input:#5b9ff0;--tk-write:#d4900a;--tk-output:#22b07e;--float-shadow:0 12px 32px rgba(0,0,0,.5);--fill-neutral:#3A3A41;--on-fill:#0E0E10;--overlay:rgba(0,0,0,.6)}.app-root.web a{color:var(--text);text-decoration-color:var(--border-strong)}.app-root.web a:hover{color:var(--accent)}.app-root.web,.app-root.web *{box-sizing:border-box}:where(.app-root.web) :where(button,select){font-family:inherit;color:inherit}.app-root.web :where(button,a,input,select,textarea,[contenteditable]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .glass{background:var(--bg-soft);border:1px solid var(--border);box-shadow:none}.app-root.web[data-theme=dark] .glass{box-shadow:none}.app-root.web .w-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:40;width:var(--sidebar-w);display:flex;flex-direction:column;border-width:0 1px 0 0}.app-root.web .w-logo{display:flex;align-items:center;gap:12px;padding:28px 24px 24px}.app-root.web .w-logo-mark{width:40px;height:40px;border-radius:var(--radius);display:grid;place-items:center;background:var(--logo-ground);box-shadow:none;flex-shrink:0}.app-root.web .w-logo-name{display:block;font-size:1.2rem;font-weight:600;color:var(--text);letter-spacing:-.02em;line-height:1.2}.app-root.web .w-logo-sub{display:block;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}.app-root.web .w-nav{flex:1;overflow-y:auto;padding:0 12px}.app-root.web .w-nav-sec{padding:0 12px;margin:14px 0 4px;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}.app-root.web .w-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;border:0;border-radius:var(--radius);background:transparent;color:var(--text-soft);font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.app-root.web .w-nav-item svg{width:20px;height:20px;flex-shrink:0;color:var(--muted)}.app-root.web .w-nav-item:hover{background:var(--bg-alt);color:var(--text)}.app-root.web .w-nav-item.active{background:var(--bg-soft);color:var(--text);font-weight:600}.app-root.web .w-nav-item .count-badge{margin-left:auto}.app-root.web .w-beta{display:inline-flex;align-items:center;margin-left:6px;padding:1px 7px;border-radius:var(--radius-pill);font-size:var(--type-caption);font-weight:500;line-height:1.5;letter-spacing:.02em;vertical-align:middle;background:var(--bg-hover);color:var(--text-soft)}.app-root.web .pane-title .w-beta{font-size:12px;margin-left:8px}.app-root.web .w-user{display:flex;align-items:center;gap:10px;padding:16px 20px 24px;border-top:1px solid var(--border)}.app-root.web .w-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;color:var(--accent-strong);background:var(--accent-tint);flex-shrink:0}.app-root.web .w-user-mail{display:block;font-size:.75rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .w-user-role{display:block;font-size:12px;color:var(--muted);text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .w-user-text{min-width:0}.app-root.web .w-main{margin-left:var(--sidebar-w);height:var(--frame-h,100vh);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}.app-root.web .w-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:60px;padding:10px 24px;border-width:0 0 1px;border-radius:0}.app-root.web .w-mlogo{display:none}.app-root.web .w-crumb{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-soft);min-width:0}.app-root.web .w-project{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-soft);font-weight:600;color:var(--text);cursor:pointer}.app-root.web .w-project svg{width:14px;height:14px;color:var(--muted)}.app-root.web .w-crumb strong{color:var(--text);font-weight:600}.app-root.web .w-top-spacer{flex:1;min-width:8px}.app-root.web .w-icon-btn{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-soft);cursor:pointer;flex-shrink:0}.app-root.web .w-icon-btn:hover{background:var(--bg-alt)}.app-root.web .w-icon-btn svg{width:18px;height:18px}.app-root.web .tb-bell-dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.app-root.web .demo-bar{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 6px 0 8px;border-radius:var(--radius);border:1px dashed var(--border-strong);background:var(--bg-soft);min-width:0;flex-wrap:nowrap}.app-root.web .demo-tag{font-size:var(--type-caption2);font-weight:600;letter-spacing:.08em;color:var(--text-soft);background:var(--bg-hover);padding:3px 6px;border-radius:var(--radius-pill);flex-shrink:0}.app-root.web .demo-label{font-size:var(--type-caption);color:var(--text-soft);font-weight:600;white-space:nowrap}.app-root.web .demo-select{height:28px;max-width:200px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-soft);font-size:var(--type-subhead);font-weight:600;padding:0 6px;max-width:240px;min-width:0;cursor:pointer}.app-root.web .demo-sep{width:1px;height:20px;background:var(--border-strong);flex-shrink:0}.app-root.web .demo-reset{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:var(--radius);background:transparent;color:var(--text-soft);cursor:pointer;flex-shrink:0}.app-root.web .demo-reset:hover{background:color-mix(in oklab,var(--text) 8%,transparent);color:var(--text)}.app-root.web .demo-reset svg{width:16px;height:16px}.app-root.web .w-content{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:28px 32px 56px}.app-root.web .w-page{display:flex;flex-direction:column;gap:20px;min-width:0}.app-root.web .w-bottom{display:none}.app-root.web .count-badge{min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);display:inline-grid;place-items:center;font-size:var(--type-caption);font-weight:600;background:var(--accent);color:var(--on-accent)}.app-root.web .w-kv{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:16px;align-items:center;padding:.65rem 0}.app-root.web .w-kv+.w-kv{border-top:1px solid var(--border)}.app-root.web .w-kv-k{font-size:var(--type-subhead);color:var(--text-soft);font-weight:600}.app-root.web .w-kv-v{font-size:var(--type-callout);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1023px){.app-root.web .demo-tag{order:1}.app-root.web .demo-select{order:2}.app-root.web .demo-reset{order:3}.app-root.web .demo-bar .seg{order:4}.app-root.web .demo-sep{display:none}.app-root.web .seg-btn{padding:0 8px}.app-root.web .w-kv{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.app-root.web .w-kv-k{grid-column:1 / -1}}.app-root.web .pane-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.app-root.web .pane-text{flex:1 1 320px;min-width:0}.app-root.web .pane-title{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.01em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .pane-titleline{display:flex;align-items:baseline;gap:0 8px;min-width:0}.app-root.web .pane-titleline .pane-title{min-width:0;flex:0 1 auto}.app-root.web .pane-back{padding:0;border:0;background:transparent;color:var(--text-soft);font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.2;cursor:pointer;flex-shrink:0}.app-root.web .pane-back:hover{color:var(--accent)}.app-root.web .pane-sep{width:16px;height:16px;color:var(--muted);align-self:center;flex-shrink:0}.app-root.web .pane-desc{margin:6px 0 0;font-size:.875rem;color:var(--text-soft)}.app-root.web .pane-aside{flex-shrink:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.app-root.web .pane-meta{font-size:var(--type-subhead);color:var(--muted)}.app-root.web .pane-body{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;padding:0 24px;min-width:0}.app-root.web .pane-foot{position:sticky;bottom:16px;z-index:5;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border);box-shadow:none}.app-root.web .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border-radius:var(--radius);border:1px solid transparent;background:transparent;font-size:.875rem;font-weight:500;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease}.app-root.web .btn svg{width:16px;height:16px;flex-shrink:0}.app-root.web .btn-ghost{color:var(--text)}.app-root.web .btn-ghost:hover{background:var(--bg-alt)}.app-root.web .btn-xs{height:28px;padding:0 10px;font-size:.78rem}.app-root.web .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.app-root.web .dw-sec{padding:var(--space-5) 0;border-top:1px solid var(--border-strong)}.app-root.web .dw-sec:first-child{border-top:none}.app-root.web .dw-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.app-root.web .dw-sec-title{margin:0;font-size:var(--type-headline);font-weight:600}.app-root.web .dw-sec-meta{font-size:var(--type-subhead);color:var(--muted)}.app-root.web .dw-type{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:var(--radius);font-size:var(--type-caption);font-weight:600;flex-shrink:0}.app-root.web .dw-id{font-family:var(--font-mono);font-size:var(--type-subhead);font-weight:600;color:var(--text-soft);flex-shrink:0}.app-root.web .dw-key{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:var(--radius);font-family:inherit;font-variant-numeric:tabular-nums;font-size:var(--type-caption);font-weight:600;flex-shrink:0}.app-root.web .dw-mail{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px 0 3px;border-radius:var(--radius);font-size:var(--type-subhead);background:color-mix(in oklab,var(--text) 6%,transparent);border:1px solid var(--border);white-space:nowrap}.app-root.web .dw-mail-av{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:600}.app-root.web .dw-mails{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.app-root.web .dw-tag{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:var(--radius);font-size:var(--type-caption);font-weight:600;white-space:nowrap}.app-root.web .dw-tag svg{width:13px;height:13px}.app-root.web .dw-tag--off{color:var(--text-soft)}.app-root.web .dw-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted)}.app-root.web .dw-dot--gate{background:var(--accent)}.app-root.web .dw-dot--ask{background:var(--text-soft);animation:dw-pulse 1.4s ease-in-out 3}.app-root.web .dw-dot--human{background:var(--fill-neutral)}.app-root.web .dw-chevron{width:18px;height:18px;color:var(--muted);flex-shrink:0}.app-root.web .dw-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:3rem 1rem;color:var(--text-soft);text-align:center}.app-root.web .dw-empty svg{width:40px;height:40px;color:var(--ok)}.app-root.web .dw-rows>*+*{border-top:1px solid var(--border)}.app-root.web .dw-note{font-size:var(--type-footnote);color:var(--muted);margin:0}.app-root.web .dw-label{font-size:var(--type-caption);font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-soft)}.app-root.web .dw-mono{font-family:var(--font-mono);font-size:var(--type-subhead)}.app-root.web .dw-line{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.app-root.web .dw-board{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);min-height:100%}.app-root.web .dw-col{padding:var(--space-5) var(--space-5) var(--space-5) 0;min-width:0}.app-root.web .dw-col--right{padding:var(--space-5) 0 var(--space-5) var(--space-5);border-left:1px solid var(--border-strong)}.app-root.web .dw-search-wrap{position:relative}.app-root.web .dw-search-wrap svg{position:absolute;left:10px;top:9px;width:14px;height:14px;color:var(--muted)}.app-root.web .dw-search{width:100%;height:var(--control-h-sm);padding:0 var(--space-3) 0 2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font-size:var(--type-callout);margin-bottom:var(--space-3)}.app-root.web .dw-tickets{display:flex;flex-direction:column;gap:var(--space-2)}.app-root.web .dw-ticket{padding:.7rem .8rem;cursor:grab;-webkit-user-select:none;user-select:none;animation:dw-rise var(--motion-enter) var(--motion-ease) backwards}.app-root.web .dw-ticket:active{cursor:grabbing}.app-root.web .dw-ticket.is-dragging{opacity:.35}.app-root.web .dw-ticket.is-blocked{cursor:not-allowed;opacity:.62}.app-root.web .dw-ticket.is-shake{animation:dw-shake .45s ease}.app-root.web .dw-ticket-top{display:flex;align-items:center;gap:var(--space-2);min-width:0}.app-root.web .dw-ticket-state{font-size:var(--type-caption);color:var(--muted)}.app-root.web .dw-grip{margin-left:auto;width:16px;height:16px;color:var(--muted);flex-shrink:0}.app-root.web .dw-ticket-title{margin-top:6px;font-size:var(--type-callout);font-weight:600;line-height:1.35}.app-root.web .dw-ticket-why{display:flex;gap:6px;align-items:flex-start;margin-top:6px;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .dw-ticket-why svg{width:13px;height:13px;margin-top:2px;flex-shrink:0}.app-root.web .dw-ticket-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:8px}.app-root.web .dw-meta{font-size:var(--type-footnote);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:212px;padding:var(--space-6);border-radius:var(--radius);border:2px dashed var(--border-strong);background:var(--bg-alt);text-align:center;overflow:hidden;transition:transform var(--motion-enter) var(--motion-ease),background .2s ease,border-color .2s ease}.app-root.web .dw-drop>*{pointer-events:none}.app-root.web .dw-drop.is-over{border-style:solid;border-color:var(--accent);background:color-mix(in oklab,var(--accent) 13%,transparent)}.app-root.web .dw-drop-icon{width:52px;height:52px;border-radius:var(--radius);display:grid;place-items:center;color:var(--on-solid);background:var(--fill-neutral);margin-bottom:6px;transition:transform var(--motion-enter) var(--motion-ease)}.app-root.web .dw-drop-icon svg{width:26px;height:26px}.app-root.web .dw-drop-title{font-size:var(--type-headline);font-weight:600}.app-root.web .dw-drop-sub{font-size:var(--type-subhead);color:var(--text-soft);max-width:46ch}.app-root.web .dw-drop-card{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;width:min(360px,100%);padding:.8rem .9rem;text-align:left;animation:dw-absorb .7s var(--motion-ease) both}.app-root.web .dw-ripple{position:absolute;left:50%;top:50%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;border:2px solid var(--run);animation:dw-ripple 1.1s ease-out 3;pointer-events:none}.app-root.web .dw-ripple--2{animation-delay:.35s}.app-root.web .dw-drop-status{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:var(--type-subhead);font-weight:600;color:var(--text)}.app-root.web .dw-spin{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in oklab,var(--run) 25%,transparent);border-top-color:var(--run);animation:dw-spin .8s linear infinite;flex-shrink:0}.app-root.web .dw-nostart{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--border-strong);background:color-mix(in oklab,var(--text) 4%,transparent);font-size:var(--type-callout);color:var(--text-soft)}.app-root.web .dw-nostart svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}.app-root.web .dw-run{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);width:100%;padding:.75rem var(--space-2);border:0;border-radius:var(--radius);background:transparent;text-align:left;cursor:pointer}.app-root.web .dw-run:hover{background:color-mix(in oklab,var(--text) 5%,transparent)}.app-root.web .dw-run.is-new{animation:dw-rise .5s var(--motion-ease) backwards;background:var(--run-tint)}.app-root.web .dw-run-title{min-width:0;font-size:var(--type-callout);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-run-node{display:inline-flex;align-items:center;gap:6px;font-size:var(--type-subhead);font-weight:600;white-space:nowrap}.app-root.web .dw-prog{width:84px;height:6px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--text) 10%,transparent);overflow:hidden}.app-root.web .dw-prog>span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--run);transition:width .6s var(--motion-ease)}.app-root.web .dw-dag-box{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab,var(--bg-soft) 45%,transparent);overflow-x:auto;overflow-y:hidden}.app-root.web .dw-dag-box--sm .dw-dag{padding:12px 14px}.app-root.web .dw-dag-box--sm .dw-node{width:148px;padding:.45rem .6rem;gap:2px;cursor:pointer}.app-root.web .dw-dag-box--sm .dw-dag-arrow{width:22px}.app-root.web .dw-dag-box--sm .dw-dag-stack{gap:8px;padding:6px}.app-root.web .dw-dag{display:flex;align-items:center;width:max-content;min-width:100%;padding:16px 18px}.app-root.web .dw-dag-col{display:flex;align-items:center;flex-shrink:0}.app-root.web .dw-dag-arrow{width:34px;height:2px;background:var(--border-strong);position:relative;flex-shrink:0}.app-root.web .dw-dag-arrow:after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:7px solid var(--border-strong);border-right:0}.app-root.web .dw-dag-stack{display:flex;flex-direction:column;gap:10px;padding:8px;border-radius:var(--radius)}.app-root.web .dw-dag-stack.is-par{border:1px dashed var(--border-strong);padding:6px 8px 8px}.app-root.web .dw-par-label{font-size:var(--type-caption2);font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted);text-align:center}.app-root.web .dw-node{position:relative;width:180px;padding:.6rem .7rem;border-radius:var(--radius);border:1.5px solid color-mix(in oklab,var(--text-soft) 35%,transparent);background:var(--bg-soft);display:flex;flex-direction:column;gap:3px;font:inherit;color:var(--text);text-align:left;transition:border-color .2s ease,box-shadow .2s ease}.app-root.web button.dw-node{cursor:pointer}.app-root.web button.dw-node:hover{box-shadow:none}.app-root.web .dw-node-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.app-root.web .dw-node-name{font-size:var(--type-subhead);font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-node-line{font-size:var(--type-caption);color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-node-prog{height:4px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--text) 10%,transparent);overflow:hidden;margin-top:4px}.app-root.web .dw-node-prog>span{display:block;height:100%;background:var(--run);transition:width .5s var(--motion-ease)}.app-root.web .dw-node.is-rec{border-color:var(--accent);border-width:2px}.app-root.web .dw-node.is-human{border-style:dashed;border-color:color-mix(in oklab,var(--fill-neutral) 75%,transparent)}.app-root.web .dw-node.is-red{border-color:var(--bad);background:color-mix(in oklab,var(--bad) 7%,var(--bg-soft))}.app-root.web .dw-node.s-done{border-color:color-mix(in oklab,var(--ok) 45%,transparent)}.app-root.web .dw-node.s-gate{border-color:var(--accent);border-width:2px}.app-root.web .dw-node.s-run,.app-root.web .dw-node.s-check{border-color:var(--run);border-width:2px}.app-root.web .dw-node.s-ask{border-color:var(--text-soft);border-width:2px}.app-root.web .dw-node.s-human{border-color:var(--fill-neutral);border-width:2px;border-style:dashed}.app-root.web .dw-node.s-queued{opacity:.55}.app-root.web .dw-state{display:inline-flex;align-items:center;gap:5px;font-size:var(--type-caption);font-weight:600;color:var(--text-soft);white-space:nowrap}.app-root.web .dw-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .dw-legend span{display:inline-flex;align-items:center;gap:6px}.app-root.web .dw-sw{width:16px;height:11px;border-radius:var(--radius);background:var(--bg-alt);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--text) 14%,transparent)}.app-root.web .dw-sw--rec{background:var(--accent-tint)}.app-root.web .dw-sw--human{background:var(--bg-alt)}.app-root.web .dw-sw--red{background:var(--bad-tint)}.app-root.web .dw-wait{display:flex;align-items:center;gap:var(--space-3);padding:.8rem 1rem;border-radius:var(--radius)}.app-root.web .dw-wait-ico{display:grid;place-items:center;flex-shrink:0}.app-root.web .dw-wait-ico svg{width:17px;height:17px}.app-root.web .dw-wait-text{flex:1;min-width:0;font-size:var(--type-callout);line-height:1.45}.app-root.web .dw-wait-text strong{display:block;font-size:var(--type-body)}.app-root.web .dw-budget{display:inline-flex;align-items:center;gap:8px;font-size:var(--type-caption);font-weight:600;color:var(--text-soft);white-space:nowrap}.app-root.web .dw-budget-bar{width:96px;height:6px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--text) 10%,transparent);overflow:hidden}.app-root.web .dw-budget-bar>span{display:block;height:100%;background:var(--fill-ok);transition:width .5s var(--motion-ease)}.app-root.web .dw-budget-bar.is-warn>span{background:var(--fill-accent)}.app-root.web .dw-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.app-root.web .dw-split>:first-child{padding-right:var(--space-5)}.app-root.web .dw-split>:last-child{padding-left:var(--space-5);border-left:1px solid var(--border-strong)}.app-root.web .dw-node-hd{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.app-root.web .dw-node-hd-name{font-size:var(--type-headline);font-weight:600}.app-root.web .dw-term{display:flex;flex-direction:column;gap:1px;padding:.6rem .75rem;border-radius:var(--radius);background:var(--term-bg);color:var(--term-fg);font-family:var(--font-mono);font-size:12px;line-height:1.6;min-height:120px;max-height:250px;overflow-y:auto}.app-root.web .dw-term-line{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;animation:dw-rise .3s var(--motion-ease) backwards}.app-root.web .dw-term-t,.app-root.web .dw-term-empty{color:var(--term-dim)}.app-root.web .dw-term-cursor{display:inline-block;width:7px;height:13px;background:var(--term-run);vertical-align:-2px;animation:dw-blink 1s steps(2) infinite}.app-root.web .dw-dod{display:flex;flex-direction:column;gap:6px}.app-root.web .dw-dod-item{display:flex;gap:8px;align-items:center;font-size:var(--type-subhead)}.app-root.web .dw-check{width:18px;height:18px;border-radius:var(--radius);border:1.5px solid var(--border-strong);display:grid;place-items:center;flex-shrink:0;color:var(--on-solid);transition:background .2s ease,border-color .2s ease}.app-root.web .dw-check svg{width:12px;height:12px;opacity:0;transform:scale(.5);transition:opacity .2s ease,transform .25s var(--motion-ease)}.app-root.web .dw-check.is-ok{background:var(--fill-ok);border-color:var(--fill-ok)}.app-root.web .dw-check.is-ok svg{opacity:1;transform:none}.app-root.web .dw-docs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,208px));gap:12px}.app-root.web .dw-doc{display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-height:216px;padding:14px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-doc.is-done{background:var(--ok-tint)}.app-root.web .dw-doc.is-off{opacity:.55}.app-root.web .dw-doc-mark{flex-shrink:0;display:grid;place-items:center;width:20px;height:20px;margin-top:1px;color:var(--text-soft)}.app-root.web .dw-doc.is-done .dw-doc-mark{color:var(--ok)}.app-root.web .dw-doc-mark{position:relative}.app-root.web .dw-doc-mark svg{width:16px;height:16px}.app-root.web .dw-doc-mark .dw-fmt-icon{width:17px;height:20px}.app-root.web .dw-fmt-icon{flex-shrink:0;display:block}.app-root.web .dw-fmt-icon.is-faded{opacity:.38;filter:saturate(.35)}.app-root.web .dw-doc-tick{position:absolute;right:-5px;bottom:-4px;display:grid;place-items:center;width:12px;height:12px;border-radius:50%;background:var(--ok);color:var(--on-fill);box-shadow:0 0 0 2px var(--ok-tint)}.app-root.web .dw-doc-tick svg{width:8px;height:8px}.app-root.web .dw-doc-body{display:flex;flex-direction:column;gap:2px;min-width:0}.app-root.web .dw-doc-name{font-size:var(--type-callout);font-weight:600;line-height:1.35;display:flex;flex-direction:column;align-items:flex-start;gap:2px;overflow-wrap:anywhere}.app-root.web .dw-doc-body .dw-meta-wrap{font-size:var(--type-footnote);line-height:1.4;overflow-wrap:anywhere}.app-root.web .dw-doc-open{padding:0;border:0;background:transparent;font:inherit;color:var(--text);text-align:left;cursor:pointer}.app-root.web .dw-doc-open:hover{color:var(--accent)}.app-root.web .dw-doc-open:hover{text-decoration:underline}.app-root.web .dw-doc-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.app-root.web .dw-doc-fmt{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.app-root.web .dw-pick-id:has(.dw-pick-docs){flex-wrap:wrap;row-gap:2px}.app-root.web .dw-pick-docs{flex-basis:100%;font-size:12px;color:var(--text-soft);white-space:normal;overflow-wrap:anywhere;display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px}.app-root.web .dw-pick-doc{display:inline-flex;align-items:center;gap:4px}.app-root.web .dw-pick-doc .dw-fmt-icon{width:12px;height:14px}.app-root.web .dw-files{display:flex;flex-wrap:wrap;gap:8px}.app-root.web .dw-file{display:inline-flex;align-items:center;gap:8px;height:var(--control-h-sm);padding:0 12px;border-radius:var(--radius);border:1px solid var(--border-strong);font-size:var(--type-subhead);font-weight:600;background:color-mix(in oklab,var(--bg-soft) 70%,transparent)}.app-root.web .dw-file svg{width:15px;height:15px;color:var(--text-soft)}.app-root.web .dw-q{display:flex;align-items:center;gap:var(--space-3);padding:.45rem 0;font-size:var(--type-callout)}.app-root.web .dw-q+.dw-q{border-top:1px solid var(--border)}.app-root.web .dw-q-state{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .dw-q-state svg{width:15px;height:15px}.app-root.web .dw-q-state.is-yes{color:var(--ok)}.app-root.web .dw-log{display:flex;flex-direction:column;max-height:420px;overflow-y:auto}.app-root.web .dw-log-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:var(--space-3);align-items:flex-start;padding:.55rem 0;animation:dw-rise .3s var(--motion-ease) backwards}.app-root.web .dw-log-row+.dw-log-row{border-top:1px solid var(--border)}.app-root.web .dw-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:600;color:var(--on-solid)}.app-root.web .dw-av--dw{background:var(--fill-neutral);border-radius:var(--radius)}.app-root.web .dw-av--person{background:var(--fill-neutral)}.app-root.web .dw-log-who{font-size:var(--type-subhead);font-weight:600}.app-root.web .dw-log-text{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .dw-log-time{font-size:var(--type-caption);color:var(--muted);white-space:nowrap;font-family:var(--font-mono)}.app-root.web .dw-child{display:flex;align-items:center;gap:var(--space-3);padding:.45rem 0;font-size:var(--type-subhead)}.app-root.web .dw-child+.dw-child{border-top:1px solid var(--border)}.app-root.web .dw-wiki-path{display:block;font-weight:600;margin-bottom:4px;word-break:break-word}.app-root.web .dw-wiki-fm{display:block;font-family:var(--font-mono);font-size:12px;color:var(--text-soft)}.app-root.web .dw-wiki-fm:first-of-type{margin-top:2px}.app-root.web .dw-wiki-h{display:block;font-weight:600;margin-top:2px}.app-root.web .dw-wiki-sep{display:block;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.app-root.web .dw-page{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-3);row-gap:4px;align-items:center;padding:.5rem 0;font-size:var(--type-subhead)}.app-root.web .dw-page>.dw-tag{grid-column:2;justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-page+.dw-page{border-top:1px solid var(--border)}.app-root.web .dw-page-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-child-state{margin-left:auto;font-size:var(--type-caption);font-weight:600;color:var(--text-soft)}.app-root.web .dw-inbox-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:var(--space-3);align-items:center;width:100%;padding:.75rem var(--space-2);border:0;border-radius:var(--radius);background:transparent;text-align:left;cursor:pointer;animation:dw-rise var(--motion-enter) var(--motion-ease) backwards}.app-root.web .dw-inbox-row:hover{background:color-mix(in oklab,var(--text) 5%,transparent)}.app-root.web .dw-inbox-title{display:block;font-size:var(--type-callout);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-inbox-sub{display:block;font-size:var(--type-subhead);color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-bubble{padding:.8rem 1rem;border-radius:var(--radius);border:1px solid color-mix(in oklab,var(--text-soft) 30%,transparent);background:color-mix(in oklab,var(--text-soft) 6%,transparent);font-size:var(--type-body);line-height:1.55}.app-root.web .dw-edit{min-height:72px;padding:.7rem .85rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-soft);font-size:var(--type-callout);line-height:1.6;white-space:pre-line;color:var(--text)}.app-root.web .dw-edit:focus{border-color:var(--accent);outline:none}.app-root.web .dw-inline{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:color-mix(in oklab,var(--text) 4%,transparent);animation:dw-rise var(--motion-enter) var(--motion-ease) backwards}.app-root.web .dw-ac{display:flex;gap:var(--space-3);align-items:flex-start;padding:.45rem 0;font-size:var(--type-callout)}.app-root.web .dw-ac+.dw-ac{border-top:1px solid var(--border)}.app-root.web .dw-ac svg{width:18px;height:18px;flex-shrink:0;color:var(--fill-ok);margin-top:2px}.app-root.web .dw-ac-ev{display:block;font-size:var(--type-footnote);color:var(--muted)}.app-root.web .dw-thread{border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .85rem;display:flex;flex-direction:column;gap:8px;background:color-mix(in oklab,var(--bg-soft) 60%,transparent)}.app-root.web .dw-thread-head{display:flex;align-items:center;gap:8px;font-size:var(--type-subhead);font-weight:600}.app-root.web .dw-thread-text{font-size:var(--type-callout)}.app-root.web .dw-thread-reply{margin-left:.5rem;padding:.4rem .75rem;border-radius:var(--radius);background:color-mix(in oklab,var(--text-soft) 8%,transparent);font-size:var(--type-callout);color:var(--text-soft)}.app-root.web .dw-pr{display:flex;flex-direction:column;gap:var(--space-3)}.app-root.web .dw-pr-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.app-root.web .dw-pr-title{font-size:var(--type-headline);font-weight:600}.app-root.web .dw-why{font-size:var(--type-footnote);color:var(--muted)}.app-root.web .dw-banner{display:flex;gap:var(--space-3);align-items:flex-start;padding:.8rem 1rem;border-radius:var(--radius);font-size:var(--type-callout);line-height:1.5}.app-root.web .dw-banner svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}.app-root.web .dw-sso-band{flex:none;align-items:center;margin-bottom:16px}.app-root.web .dw-sso-band span{flex:1}.app-root.web .dw-banner--bad{background:var(--bad-tint);border:1px solid color-mix(in oklab,var(--bad) 30%,transparent);color:var(--bad);margin:0 0 12px}.app-root.web .dw-wiki{padding:.8rem 1rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-soft);font-size:var(--type-callout);line-height:1.6}.app-root.web .dw-wiki-add{color:var(--ok);background:var(--ok-tint);display:block;padding:0 6px;border-radius:var(--radius)}.app-root.web .dw-stack{display:flex;flex-direction:column;gap:var(--space-4)}.app-root.web .dw-stack>*{flex-shrink:0}.app-root.web .tk-modal .ui-modal-head{padding-left:var(--space-6);padding-right:var(--space-6)}@media (max-width:640px){.app-root.web .dw-pick-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:auto;max-height:none;border:0;border-radius:0}}.app-root.web .modal-foot{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border)}.app-root.web .modal-foot-note{margin-right:auto;font-size:var(--type-footnote);color:var(--muted);max-width:52ch}.app-root.web .dw-pf{display:flex;flex-direction:column}.app-root.web .dw-pf-row{display:flex;gap:var(--space-3);align-items:flex-start;padding:.75rem 0;animation:dw-rise var(--motion-enter) var(--motion-ease) backwards}.app-root.web .dw-pf-row+.dw-pf-row{border-top:1px solid var(--border)}.app-root.web .dw-pf-ico{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;margin-top:1px;color:var(--on-solid)}.app-root.web .dw-pf-ico svg{width:14px;height:14px}.app-root.web .dw-pf-ico.is-done{background:var(--fill-ok);animation:dw-pop .3s var(--motion-ease)}.app-root.web .dw-pf-ico.is-warn{background:var(--fill-accent);animation:dw-pop .3s var(--motion-ease)}.app-root.web .dw-pf-ico.is-wait{border:2px solid var(--border-strong)}.app-root.web .dw-pf-title{font-size:var(--type-callout);font-weight:600}.app-root.web .dw-pf-detail{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .dw-diff{display:flex;flex-direction:column;gap:4px;margin:4px 0 0;padding-left:1.1rem;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .dw-alt{display:flex;align-items:center;gap:var(--space-3);padding:.6rem .8rem;border-radius:var(--radius);border:1px dashed var(--border-strong);font-size:var(--type-subhead)}.app-root.web .dw-alt svg{width:16px;height:16px;flex-shrink:0}.app-root.web .dw-alt-text{flex:1;min-width:0}.app-root.web .dw-pick{display:flex;flex-direction:column;gap:6px}.app-root.web .dw-pick-head,.app-root.web .dw-pick-main{display:grid;grid-template-columns:minmax(170px,1fr) 122px 246px minmax(0,1.3fr) 36px;align-items:center;column-gap:var(--space-4)}.app-root.web .dw-pick-head{padding:0 var(--space-3);font-size:var(--type-footnote);color:var(--muted)}.app-root.web .dw-pick-row{display:flex;flex-direction:column;gap:6px;padding:.55rem var(--space-3);border-radius:var(--radius);background:var(--bg-alt);transition:background .4s ease}.app-root.web .dw-pick-row.is-red{background:var(--bad-tint)}.app-root.web .dw-pick-row.is-hot{background:var(--bg-alt)}.app-root.web .dw-pick-id{display:flex;align-items:center;gap:var(--space-2);min-width:0}.app-root.web .dw-pick-name{font-size:var(--type-callout);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-pick-main>.seg{justify-self:start}.app-root.web .dw-pick-tags{display:flex;flex-wrap:wrap;gap:4px 6px;min-width:0}.app-root.web .dw-pick-more{width:32px;padding:0;font-size:1.1rem;line-height:1;justify-self:end}.app-root.web .dw-pick-more[aria-expanded=true],.app-root.web .dw-pick-more.has-value{background:var(--bg-alt)}.app-root.web .dw-pick-msgs{display:flex;flex-direction:column;gap:2px}.app-root.web .dw-rec{display:block;font-size:var(--type-footnote);color:var(--accent-strong)}.app-root.web .dw-red-msg{display:block;font-size:var(--type-footnote);font-weight:600;color:var(--bad)}.app-root.web .dw-pick-more-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:var(--space-3);align-items:end;padding-top:6px;animation:dw-rise var(--motion-enter) var(--motion-ease) backwards}.app-root.web .dw-pick-field{display:flex;flex-direction:column;gap:4px;min-width:0}.app-root.web .dw-pick-field .dw-search,.app-root.web .dw-pick-acc .dw-search{margin-bottom:0;padding-left:var(--space-3)}.app-root.web .dw-pick-field textarea.dw-search{height:auto;min-height:56px;padding-top:6px;resize:vertical;font-family:inherit}.app-root.web .dw-pick-acc{display:grid;grid-template-columns:auto minmax(0,1fr) auto 72px;align-items:center;gap:var(--space-3);padding:.7rem var(--space-3);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-pick-acc .dw-pick-quorum{margin-bottom:0}.app-root.web .dw-pick-notes{margin:0;padding:.6rem var(--space-3) .6rem 2rem;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-pick-cap{font-size:var(--type-footnote);color:var(--muted)}.app-root.web .dw-flows{display:flex;flex-direction:column;gap:6px;padding:.6rem var(--space-3);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-flow-row,.app-root.web .dw-flow-single{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.app-root.web .dw-flow-chip{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:var(--radius-pill);padding:.3rem .8rem;font:inherit;font-size:var(--type-footnote);background:var(--bg-soft);color:var(--text);cursor:pointer}.app-root.web .dw-flow-chip.active{background:var(--bg-alt);font-weight:600}.app-root.web .dw-flow-mark{font-weight:600;color:var(--accent)}.app-root.web .dw-pick-add{display:flex;flex-direction:column;gap:8px;padding:.7rem var(--space-3);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-pick-add-after{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--type-footnote)}.app-root.web .dw-flows .dw-flow-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:stretch;gap:8px}.app-root.web .dw-flow-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:.6rem .75rem;border:0;border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s ease}.app-root.web .dw-flow-opt:hover{background:color-mix(in oklab,var(--bg-alt) 55%,var(--bg-soft))}.app-root.web .dw-flow-opt.active{background:var(--bg-alt);box-shadow:inset 0 0 0 1.5px var(--text)}.app-root.web .dw-flow-opt-name{display:inline-flex;align-items:center;gap:4px;font-size:var(--type-callout);font-weight:600}.app-root.web .dw-flow-opt-sub{display:flex;flex-direction:column;gap:2px;font-size:var(--type-footnote);color:var(--text-soft);line-height:1.35}.app-root.web .dw-flow-cost{font-weight:600;color:var(--text)}.app-root.web .dw-flow-cost.is-none{font-weight:400;font-style:italic;color:var(--muted)}.app-root.web .dw-know{display:flex;gap:14px;padding:.85rem var(--space-4);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-know-ico{flex-shrink:0;width:30px;height:30px;padding:6px;border-radius:var(--radius);background:var(--bg-soft);color:var(--text-soft)}.app-root.web .dw-know-body{display:flex;flex-direction:column;gap:6px;min-width:0}.app-root.web .dw-know-title{margin:0;font-size:var(--type-headline,1rem);font-weight:600;color:var(--text)}.app-root.web .dw-know-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:4px;font-size:var(--type-subhead)}.app-root.web .dw-know-still{margin:0;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .dw-output{display:grid;grid-template-columns:auto minmax(0,1fr) 220px;gap:var(--space-2) 14px;align-items:start;padding:.85rem var(--space-4);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-output-ico{display:inline-flex;color:var(--text);margin-top:2px}.app-root.web .dw-output-ico svg{width:18px;height:18px}.app-root.web .dw-output-text{display:flex;flex-direction:column;gap:2px;min-width:0}.app-root.web .dw-output-title{font-size:var(--type-callout);font-weight:600;color:var(--text)}.app-root.web .dw-output-line{margin:0;font-size:var(--type-footnote);line-height:1.5;color:var(--text-soft);overflow-wrap:anywhere}.app-root.web .dw-output-line.is-strong{color:var(--text);font-weight:600}.app-root.web .dw-output .dw-search{margin-bottom:0;padding-left:var(--space-3)}@media (max-width:640px){.app-root.web .dw-output{grid-template-columns:auto minmax(0,1fr)}.app-root.web .dw-output .dw-search{grid-column:1 / -1}}.app-root.web .dw-exports{display:flex;flex-direction:column;gap:var(--space-2);padding:.85rem var(--space-4);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-exports-head{display:flex;align-items:center;gap:10px;min-width:0}.app-root.web .dw-exports-head .dw-output-title{flex:1 1 auto;min-width:0}.app-root.web .dw-exports-head .dw-output-ico{margin-top:0}.app-root.web .dw-export-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.app-root.web .dw-export{display:flex;flex-direction:column;gap:4px;min-width:0;padding-top:var(--space-2);border-top:1px solid var(--border)}.app-root.web .dw-export-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.app-root.web .dw-export-name{min-width:0;font-size:var(--type-callout);font-weight:600;color:var(--text);overflow-wrap:anywhere}.app-root.web .dw-export-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:var(--type-footnote)}.app-root.web .dw-export-field{display:flex;flex-direction:column;gap:4px;min-width:0}.app-root.web .dw-export-cost{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0;padding:.75rem var(--space-3);border-radius:var(--radius);background:var(--bg-alt);font-size:var(--type-footnote)}.app-root.web .dw-export-cost dt{font-weight:600;color:var(--text)}.app-root.web .dw-export-cost dd{margin:0;color:var(--text-soft);overflow-wrap:anywhere}@media (max-width:640px){.app-root.web .dw-export-cost{grid-template-columns:minmax(0,1fr)}.app-root.web .dw-export-cost dd{margin-bottom:4px}}.app-root.web .dw-link{padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--text);cursor:pointer;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}.app-root.web .dw-link:hover{color:var(--accent);text-decoration-color:currentColor}.app-root.web .dw-pick-sum{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:.7rem var(--space-3);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-pick-sum-text{display:flex;flex-direction:column;gap:2px;min-width:0}.app-root.web .dw-pick-sum-text>span{font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .dw-pick-sum .btn{flex-shrink:0}.app-root.web .dw-help-pair{display:inline-flex;align-items:center;gap:2px}.app-root.web .dw-pick-estimate{display:block;color:var(--text);font-weight:600}.app-root.web .dw-acc-people{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.app-root.web .dw-acc-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px 0 4px;border-radius:var(--radius-pill);background:var(--bg-soft);font-size:var(--type-footnote);font-weight:600}.app-root.web .dw-acc-chip.is-you{padding:0 10px;color:var(--accent-strong,var(--accent))}.app-root.web .dw-acc-x{width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font:inherit;line-height:1;cursor:pointer}.app-root.web .dw-acc-x:hover{background:var(--bg-alt);color:var(--text)}.app-root.web .dw-acc-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:min(340px,80vw);max-height:260px;overflow:auto;margin:0;padding:6px;list-style:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);box-shadow:var(--float-shadow)}.app-root.web .dw-acc-opt{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius);cursor:pointer}.app-root.web .dw-acc-opt:hover,.app-root.web .dw-acc-opt:focus-visible{background:var(--bg-alt);outline:none}.app-root.web .dw-acc-opt-text{display:flex;flex-direction:column;min-width:0;flex:1;font-size:var(--type-subhead)}.app-root.web .dw-acc-opt-text .dw-meta{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.app-root.web .dw-flows .dw-flow-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.app-root.web .dw-pick-sum{flex-direction:column;align-items:stretch}.app-root.web .dw-know{padding:.75rem;gap:10px}}@media (max-width:640px){.app-root.web .dw-dag-box--sm .dw-dag{padding:8px 10px}.app-root.web .dw-dag-box--sm .dw-node{width:auto;min-width:0;padding:.3rem .5rem}.app-root.web .dw-dag-box.dw-dag-box--sm .dw-node .dw-node-name{display:none}.app-root.web .dw-dag-box--sm .dw-dag-arrow{width:12px}.app-root.web .dw-dag-box--sm .dw-dag-stack{gap:6px;padding:4px}.app-root.web .dw-dag-box--sm .dw-par-label{display:none}}.app-root.web.is-mobile .dw-dag-box--sm .dw-dag{padding:8px 10px}.app-root.web.is-mobile .dw-dag-box--sm .dw-node{width:auto;min-width:0;padding:.3rem .5rem}.app-root.web.is-mobile .dw-dag-box.dw-dag-box--sm .dw-node .dw-node-name{display:none}.app-root.web.is-mobile .dw-dag-box--sm .dw-dag-arrow{width:12px}.app-root.web.is-mobile .dw-dag-box--sm .dw-dag-stack{gap:6px;padding:4px}.app-root.web.is-mobile .dw-dag-box--sm .dw-par-label{display:none}.app-root.web .seg{position:relative;display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius);background:color-mix(in oklab,var(--text) 5%,transparent);border:1px solid var(--border);flex-shrink:0}.app-root.web .seg-btn{height:26px;padding:0 10px;border:0;border-radius:var(--radius);background:transparent;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft);cursor:pointer;transition:background .16s ease,color .16s ease;white-space:nowrap}.app-root.web .seg-btn:hover{color:var(--text)}.app-root.web .seg-btn.active{background:var(--bg-soft);color:var(--text)}.app-root.web .dw-tool{position:relative;display:inline-block;width:20px;height:20px;border-radius:var(--radius);background:var(--bg-soft) center/14px 14px no-repeat;box-shadow:inset 0 0 0 1px var(--border-strong);flex-shrink:0;vertical-align:middle;cursor:default}.app-root.web .dw-tool--hachimi{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 440'%3E%0A  %0A  %3Cpath fill='%23042D56' fill-rule='evenodd' d='M413 89 391 159 323 206 305 195 375 148 388 107 287 107 152 193 121 175 147 80 212 36 306 36 290 89ZM248 110 268 98 281 55 217 55 163 92 142 166 153 171Z'/%3E%0A  %3Cpath fill='%23042D56' fill-rule='evenodd' d='M123 379 15 312 15 218 80 174 151 211 153 216 170 307 130 380 126 382ZM91 232 69 219 61 223 46 232 46 258 67 271 74 269 91 259Z'/%3E%0A  %3Cpath fill='%23042D56' fill-rule='evenodd' d='M235 387 274 310 250 211 296 211 314 226 334 305 333 313 289 405 227 405Z'/%3E%0A  %3Cpath fill='%23F17919' fill-rule='evenodd' d='M245 273 254 308 212 392 145 392 190 309 171 211 230 211Z'/%3E%0A  %3Cpath fill='%23F17919' fill-rule='evenodd' d='M349 287 339 243 426 312 316 394 354 312Z'/%3E%0A%3C/svg%3E")}.app-root.web .dw-tool--claude{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D97757' d='M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z'/%3E%3C/svg%3E")}.app-root.web .dw-tool--codex{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='12' x2='12' y1='3' y2='21'%3E%3Cstop stop-color='%23B1A7FF'/%3E%3Cstop offset='.5' stop-color='%237A9DFF'/%3E%3Cstop offset='1' stop-color='%233941FF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url%28%23g%29' d='M9.064 3.344a4.578 4.578 0 012.285-.312c1 .115 1.891.54 2.673 1.275.01.01.024.017.037.021a.09.09 0 00.043 0 4.55 4.55 0 013.046.275l.047.022.116.057a4.581 4.581 0 012.188 2.399c.209.51.313 1.041.315 1.595a4.24 4.24 0 01-.134 1.223.123.123 0 00.03.115c.594.607.988 1.33 1.183 2.17.289 1.425-.007 2.71-.887 3.854l-.136.166a4.548 4.548 0 01-2.201 1.388.123.123 0 00-.081.076c-.191.551-.383 1.023-.74 1.494-.9 1.187-2.222 1.846-3.711 1.838-1.187-.006-2.239-.44-3.157-1.302a.107.107 0 00-.105-.024c-.388.125-.78.143-1.204.138a4.441 4.441 0 01-1.945-.466 4.544 4.544 0 01-1.61-1.335c-.152-.202-.303-.392-.414-.617a5.81 5.81 0 01-.37-.961 4.582 4.582 0 01-.014-2.298.124.124 0 00.006-.056.085.085 0 00-.027-.048 4.467 4.467 0 01-1.034-1.651 3.896 3.896 0 01-.251-1.192 5.189 5.189 0 01.141-1.6c.337-1.112.982-1.985 1.933-2.618.212-.141.413-.251.601-.33.215-.089.43-.164.646-.227a.098.098 0 00.065-.066 4.51 4.51 0 01.829-1.615 4.535 4.535 0 011.837-1.388zm3.482 10.565a.637.637 0 000 1.272h3.636a.637.637 0 100-1.272h-3.636zM8.462 9.23a.637.637 0 00-1.106.631l1.272 2.224-1.266 2.136a.636.636 0 101.095.649l1.454-2.455a.636.636 0 00.005-.64L8.462 9.23z'/%3E%3C/svg%3E");background-size:16px 16px}.app-root.web .dw-tool--copilot{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231f2328' fill-rule='evenodd' d='M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z'/%3E%3C/svg%3E")}.app-root.web .dw-tool--other{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19l7-7 3 3-7 7-3-3z'/%3E%3Cpath d='M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z'/%3E%3Cpath d='M2 2l7.586 7.586'/%3E%3Ccircle cx='11' cy='11' r='2'/%3E%3C/svg%3E");background-size:13px 13px}.app-root.web .dw-tool[data-tip]:hover:after,.app-root.web .dw-tool[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 6px);transform:translate(-50%);z-index:60;white-space:nowrap;padding:5px 9px;border-radius:var(--radius);background:var(--text);color:var(--bg-soft);font-family:var(--font-sans);font-size:12px;font-weight:500;line-height:1.3;letter-spacing:0;text-transform:none;box-shadow:var(--float-shadow);pointer-events:none}.app-root.web .dw-tool[data-tip]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .dw-node .dw-node-name{display:flex;align-items:center;gap:6px;min-width:0;overflow:visible;white-space:nowrap}.app-root.web .dw-node-name-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-node-tool{display:flex;align-items:center;gap:6px;min-width:0;margin:3px 0 1px}.app-root.web .dw-node-tool-d{font-size:var(--type-caption);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.app-root.web .dw-cfg-acct{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.app-root.web .dw-engine{font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .dw-prompt{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px;padding:var(--space-3);border-radius:var(--radius);background:color-mix(in oklab,var(--text) 4%,transparent);animation:dw-rise var(--motion-enter) var(--motion-ease) backwards}.app-root.web .dw-prompt-fixed{font-size:var(--type-footnote);color:var(--text-soft);font-family:var(--font-mono);line-height:1.5}.app-root.web .tbl{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab,var(--bg-soft) 60%,transparent)}.app-root.web table{border-collapse:collapse;width:100%;min-width:760px;font-size:var(--type-callout)}.app-root.web th,.app-root.web td{text-align:left;vertical-align:middle;padding:.6rem .8rem;border-bottom:1px solid var(--border)}.app-root.web th{font-size:var(--type-caption);font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-soft);background:color-mix(in oklab,var(--bg-soft) 85%,transparent)}.app-root.web tr:last-child td{border-bottom:0}.app-root.web td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-root.web .dw-hl-bar{height:6px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--text) 10%,transparent);overflow:hidden;margin-top:8px}.app-root.web .dw-hl-bar>span{display:block;height:100%;background:var(--run);transition:width .5s var(--motion-ease)}.app-root.web .dw-hl-bar.is-warn>span{background:var(--warn)}.app-root.web .dw-hl-row{display:flex;align-items:flex-start;gap:var(--space-4);padding:.65rem 0;font-size:var(--type-subhead)}.app-root.web .dw-hl-row+.dw-hl-row{border-top:1px solid var(--border)}.app-root.web .dw-hl-k{flex:0 0 190px;color:var(--text-soft)}.app-root.web .dw-hl-v{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.app-root.web .dw-step{display:inline-flex;align-items:center;gap:8px}.app-root.web .dw-hl-num{min-width:32px;text-align:center;font-family:var(--font-mono);font-weight:600}@media (max-width:640px){.app-root.web .dw-hl-row{flex-direction:column;gap:6px}.app-root.web .dw-hl-k{flex:none}}.app-root.web .dw-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-4)}.app-root.web .dw-kpi-n{font-size:var(--type-title1);font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.app-root.web .dw-kpi-l{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .dw-cfg-row{display:grid;grid-template-columns:190px minmax(170px,.8fr) minmax(0,1.3fr) auto;gap:var(--space-4);align-items:center;padding:.6rem 0}.app-root.web .dw-cfg-row+.dw-cfg-row{border-top:1px solid var(--border)}.app-root.web .dw-slot{display:flex;flex-direction:column;gap:8px;padding:.9rem 0}.app-root.web .dw-slot+.dw-slot{border-top:1px solid var(--border)}.app-root.web .dw-slot textarea.dw-search{width:100%;min-height:96px;resize:vertical;font-family:inherit;border-radius:var(--radius)}.app-root.web .dw-slot pre{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .6rem}.app-root.web .dw-cfg-head{font-size:var(--type-caption);font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-soft);padding-bottom:.4rem;border-bottom:1px solid var(--border-strong)}.app-root.web .dw-cfg-dw{display:flex;align-items:center;gap:8px;min-width:0}.app-root.web .dw-cfg-dw span:last-child{font-size:var(--type-subhead);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-missing{display:inline-flex;align-items:center;gap:6px;font-size:var(--type-subhead);font-weight:600;color:var(--bad)}.app-root.web .dw-missing svg{width:14px;height:14px}.app-root.web .dw-cfg-pair{display:grid;grid-template-columns:1fr 1fr}.app-root.web .dw-cfg-pair>:first-child{padding-right:var(--space-5)}.app-root.web .dw-cfg-pair>:last-child{padding-left:var(--space-5);border-left:1px solid var(--border-strong)}.app-root.web .dw-toast{position:fixed;left:50%;bottom:28px;z-index:120;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:min(720px,calc(100vw - 2rem));padding:.7rem 1.1rem;border-radius:var(--radius);font-size:var(--type-callout);font-weight:600;color:var(--text);background:color-mix(in oklab,var(--bg-soft) 90%,transparent);border:1px solid var(--border);box-shadow:var(--float-shadow);animation:dw-toast .32s var(--motion-ease)}.app-root.web .dw-toast svg{width:18px;height:18px;color:var(--fill-ok);flex-shrink:0}@keyframes dw-rise{0%{opacity:0}}@keyframes dw-fade{0%{opacity:0}}@keyframes dw-pop{0%{opacity:0;transform:scale(.96)}}@keyframes dw-toast{0%{opacity:0;transform:translate(-50%,12px)}}@keyframes dw-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.45}}@keyframes dw-breathe{0%,to{opacity:.15;transform:scale(.9)}50%{opacity:.9;transform:scale(1.05)}}@keyframes dw-ripple{0%{transform:scale(.35);opacity:.6}to{transform:scale(1.25);opacity:0}}@keyframes dw-absorb{0%{opacity:0;transform:translateY(-70px) scale(1.12) rotate(-3deg)}55%{opacity:1;transform:translateY(6px) scale(.97) rotate(.5deg)}to{opacity:1;transform:none}}@keyframes dw-shake{0%,to{transform:none}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes dw-spin{to{transform:rotate(360deg)}}@keyframes dw-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.app-root.web,.app-root.web *,.app-root.web *:before,.app-root.web *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:1680px){.app-root.web .demo-label{display:none}.app-root.web .demo-select{max-width:190px}}@media (max-width:1023px){.app-root.web .w-sidebar{display:none}.app-root.web .w-main{margin-left:0}.app-root.web .w-mlogo{display:grid;width:32px;height:32px;border-radius:var(--radius);place-items:center;background:var(--logo-ground);box-shadow:none;flex-shrink:0}.app-root.web .w-topbar{padding:8px 12px;gap:8px}.app-root.web .w-crumb .w-crumb-sep,.app-root.web .w-crumb .w-crumb-dw{display:none}.app-root.web .demo-bar{order:10;width:100%;justify-content:space-between;height:auto;padding:6px 8px;flex-wrap:wrap;gap:6px}.app-root.web .demo-select{max-width:none;flex:1 1 160px}.app-root.web .w-content{padding:16px 12px 96px}.app-root.web .w-bottom{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));border-width:1px 0 0;border-radius:0}.app-root.web .w-tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:48px;padding:4px 2px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.app-root.web .w-tab svg{width:22px;height:22px}.app-root.web .w-tab.active{color:var(--text);background:var(--bg-hover)}.app-root.web .w-tab .count-badge{position:absolute;top:0;right:calc(50% - 22px);min-width:18px;height:18px;font-size:10px;padding:0 5px}.app-root.web .pane-title,.app-root.web .pane-back{font-size:1.2rem}.app-root.web .pane-text{flex-basis:100%}.app-root.web .pane-body{padding:0 14px;border-radius:var(--radius)}.app-root.web .pane-foot{bottom:84px}.app-root.web .pane-foot .modal-foot-note{display:none}.app-root.web .dw-board,.app-root.web .dw-split,.app-root.web .dw-cfg-pair{grid-template-columns:minmax(0,1fr)}.app-root.web .dw-col,.app-root.web .dw-col--right{padding:16px 0;border-left:none}.app-root.web .dw-col--right{border-top:1px solid var(--border-strong)}.app-root.web .dw-split>:first-child,.app-root.web .dw-split>:last-child,.app-root.web .dw-cfg-pair>:first-child,.app-root.web .dw-cfg-pair>:last-child{padding:12px 0;border-left:none}.app-root.web .dw-cfg-row{grid-template-columns:minmax(0,1fr);gap:8px}.app-root.web .dw-pick-head{display:none}.app-root.web .dw-pick-main{grid-template-columns:minmax(0,1fr) 36px;row-gap:8px}.app-root.web .dw-pick-main>.dw-pick-id{grid-column:1}.app-root.web .dw-pick-main>.dw-pick-more{grid-column:2;grid-row:1}.app-root.web .dw-pick-main>.seg,.app-root.web .dw-pick-main>.dw-pick-tags{grid-column:1 / -1}.app-root.web .dw-pick-more-box{grid-template-columns:minmax(0,1fr)}.app-root.web .dw-pick-acc{grid-template-columns:minmax(0,1fr) 72px}.app-root.web .dw-pick-acc>.dw-acc-people{grid-column:1 / -1}.app-root.web .dw-cfg-head{display:none}.app-root.web .dw-run{display:flex;flex-wrap:wrap;gap:6px 10px}.app-root.web .dw-run-title{flex:1 1 100%;order:3;white-space:normal}.app-root.web .dw-run-node{order:4}.app-root.web .dw-run .dw-prog{order:5;margin-left:auto}.app-root.web .dw-run .dw-chevron{display:none}.app-root.web .dw-inbox-row{grid-template-columns:auto minmax(0,1fr) auto}.app-root.web .dw-inbox-row .dw-tag{display:none}.app-root.web .dw-inbox-title,.app-root.web .dw-inbox-sub{white-space:normal}.app-root.web .dw-line .dw-budget{margin-left:0!important}.app-root.web .dw-wait{flex-wrap:wrap}.app-root.web .dw-wait-text{flex:1 1 200px}.app-root.web .dw-drop{min-height:150px;padding:16px}}@media (max-width:640px){.app-root.web .modal-foot{padding-left:16px;padding-right:16px}.app-root.web .modal-foot .modal-foot-note{display:none}.app-root.web .modal-foot{justify-content:stretch}.app-root.web .modal-foot .btn{flex:1 1 auto}}.app-root.web.is-mobile .w-kv{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.app-root.web.is-mobile .w-kv-k{grid-column:1 / -1}.app-root.web.is-mobile .demo-label{display:none}.app-root.web.is-mobile .demo-select{max-width:190px}.app-root.web.is-mobile .w-sidebar{display:none}.app-root.web.is-mobile .w-main{margin-left:0}.app-root.web.is-mobile .w-mlogo{display:grid;width:32px;height:32px;border-radius:var(--radius);place-items:center;background:var(--logo-ground);box-shadow:none;flex-shrink:0}.app-root.web.is-mobile .w-topbar{padding:8px 12px;gap:8px}.app-root.web.is-mobile .w-crumb .w-crumb-sep,.app-root.web.is-mobile .w-crumb .w-crumb-dw,.app-root.web.is-mobile .demo-sep{display:none}.app-root.web.is-mobile .seg-btn{padding:0 8px}.app-root.web.is-mobile .demo-bar{order:10;width:100%;justify-content:space-between;height:auto;padding:6px 8px;flex-wrap:wrap;gap:6px}.app-root.web.is-mobile .demo-select{max-width:none;flex:1 1 160px}.app-root.web.is-mobile .w-content{padding:16px 12px 96px}.app-root.web.is-mobile .w-bottom{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));border-width:1px 0 0;border-radius:0}.app-root.web.is-mobile .w-tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:48px;padding:4px 2px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.app-root.web.is-mobile .w-tab svg{width:22px;height:22px}.app-root.web.is-mobile .w-tab.active{color:var(--text);background:var(--bg-hover)}.app-root.web.is-mobile .w-tab .count-badge{position:absolute;top:0;right:calc(50% - 22px);min-width:18px;height:18px;font-size:10px;padding:0 5px}.app-root.web.is-mobile .pane-title,.app-root.web.is-mobile .pane-back{font-size:1.2rem}.app-root.web.is-mobile .pane-text{flex-basis:100%}.app-root.web.is-mobile .pane-body{padding:0 14px;border-radius:var(--radius)}.app-root.web.is-mobile .pane-foot{bottom:84px}.app-root.web.is-mobile .pane-foot .modal-foot-note{display:none}.app-root.web.is-mobile .dw-board,.app-root.web.is-mobile .dw-split,.app-root.web.is-mobile .dw-cfg-pair{grid-template-columns:minmax(0,1fr)}.app-root.web.is-mobile .dw-col,.app-root.web.is-mobile .dw-col--right{padding:16px 0;border-left:none}.app-root.web.is-mobile .dw-col--right{border-top:1px solid var(--border-strong)}.app-root.web.is-mobile .dw-split>:first-child,.app-root.web.is-mobile .dw-split>:last-child,.app-root.web.is-mobile .dw-cfg-pair>:first-child,.app-root.web.is-mobile .dw-cfg-pair>:last-child{padding:12px 0;border-left:none}.app-root.web.is-mobile .dw-cfg-row{grid-template-columns:minmax(0,1fr);gap:8px}.app-root.web.is-mobile .dw-pick-head{display:none}.app-root.web.is-mobile .dw-pick-main{grid-template-columns:minmax(0,1fr) 36px;row-gap:8px}.app-root.web.is-mobile .dw-pick-main>.dw-pick-id{grid-column:1}.app-root.web.is-mobile .dw-pick-main>.dw-pick-more{grid-column:2;grid-row:1}.app-root.web.is-mobile .dw-pick-main>.seg,.app-root.web.is-mobile .dw-pick-main>.dw-pick-tags{grid-column:1 / -1}.app-root.web.is-mobile .dw-pick-more-box{grid-template-columns:minmax(0,1fr)}.app-root.web.is-mobile .dw-pick-acc{grid-template-columns:minmax(0,1fr) 72px}.app-root.web.is-mobile .dw-pick-acc>.dw-acc-people{grid-column:1 / -1}.app-root.web.is-mobile .dw-cfg-head{display:none}.app-root.web.is-mobile .dw-run{display:flex;flex-wrap:wrap;gap:6px 10px}.app-root.web.is-mobile .dw-run-title{flex:1 1 100%;order:3;white-space:normal}.app-root.web.is-mobile .dw-run-node{order:4}.app-root.web.is-mobile .dw-run .dw-prog{order:5;margin-left:auto}.app-root.web.is-mobile .dw-run .dw-chevron{display:none}.app-root.web.is-mobile .dw-inbox-row{grid-template-columns:auto minmax(0,1fr) auto}.app-root.web.is-mobile .dw-inbox-row .dw-tag{display:none}.app-root.web.is-mobile .dw-inbox-title,.app-root.web.is-mobile .dw-inbox-sub{white-space:normal}.app-root.web.is-mobile .dw-line .dw-budget{margin-left:0!important}.app-root.web.is-mobile .dw-wait{flex-wrap:wrap}.app-root.web.is-mobile .dw-wait-text{flex:1 1 200px}.app-root.web.is-mobile .dw-drop{min-height:150px;padding:16px}.app-root.web.is-mobile .modal-foot{padding-left:16px;padding-right:16px}.app-root.web.is-mobile .modal-foot .modal-foot-note{display:none}.app-root.web.is-mobile .modal-foot{justify-content:stretch}.app-root.web.is-mobile .modal-foot .btn{flex:1 1 auto}.app-root.web.is-mobile .demo-tag{order:1}.app-root.web.is-mobile .demo-select{order:2}.app-root.web.is-mobile .demo-reset{order:3}.app-root.web.is-mobile .demo-bar .seg{order:4}.app-root.web .glass-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none}.app-root.web button.dw-file{font:inherit;color:var(--text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.app-root.web button.dw-file:hover{border-color:var(--border-strong);background:var(--bg-hover)}.app-root.web .dw-viewer{width:min(1680px,calc(100vw - 2rem));height:min(94vh,1200px);max-height:none}.app-root.web .dw-v-doc{max-width:none;display:flex;flex-direction:column;gap:2px}.app-root.web .dw-v-p,.app-root.web .dw-v-ul,.app-root.web .dw-v-quote{max-width:120ch}.app-root.web .dw-v-seg{margin-left:auto;margin-right:var(--space-3)}.app-root.web .dw-v-svg{max-width:100%;height:auto;align-self:center}.app-root.web .dw-v-pdf{width:100%;flex:1 1 auto;min-height:70vh;border:0}.app-root.web .dw-v-h{margin:14px 0 6px;font-size:1.05rem;font-weight:600}.app-root.web .dw-v-h:first-child{margin-top:0}.app-root.web .dw-v-p{margin:0 0 8px;font-size:.92rem;line-height:1.65;color:var(--text)}.app-root.web .dw-v-ul{margin:0 0 8px;padding-left:1.2rem;display:flex;flex-direction:column;gap:4px;font-size:.92rem;line-height:1.55}.app-root.web .dw-v-sheet{overflow-x:auto;border:1px solid var(--border-strong);border-radius:var(--radius)}.app-root.web .dw-v-sheet table{border-collapse:collapse;width:100%;min-width:620px;font-size:.82rem}.app-root.web .dw-v-sheet th,.app-root.web .dw-v-sheet td{border:1px solid var(--border);padding:6px 9px;text-align:left}.app-root.web .dw-v-sheet th{background:color-mix(in oklab,var(--ok) 12%,var(--bg-soft));font-weight:600;color:var(--text)}.app-root.web .dw-v-ok{color:var(--ok);font-weight:600}.app-root.web .dw-v-pages{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;padding:8px 0}.app-root.web .dw-v-page{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;border-radius:var(--radius);background:color-mix(in oklab,var(--text) 5%,transparent)}.app-root.web .dw-v-cap{font-size:.78rem;font-weight:600;color:var(--text-soft)}.app-root.web .dw-v-phone{width:170px;height:320px;border-radius:var(--radius);border:2px solid var(--border-strong);background:var(--bg-soft);padding:14px 12px;display:flex;flex-direction:column;gap:9px}.app-root.web .dw-v-bar{height:10px;border-radius:var(--radius);background:var(--border-strong);width:40%}.app-root.web .dw-v-line{height:12px;border-radius:var(--radius);background:var(--border)}.app-root.web .dw-v-line.w60{width:60%}.app-root.web .dw-v-line.w80{width:80%}.app-root.web .dw-v-field{height:26px;border-radius:var(--radius);border:1.5px dashed var(--border-strong)}.app-root.web .dw-v-card{height:48px;border-radius:var(--radius);border:1.5px solid var(--border-strong)}.app-root.web .dw-v-chip{align-self:flex-start;font-size:12px;font-weight:600;padding:3px 8px;border-radius:var(--radius);background:var(--bg-hover);color:var(--text)}.app-root.web .dw-v-row{display:flex;gap:6px;margin-top:auto}.app-root.web .dw-v-btn{margin-top:auto;height:28px;border-radius:var(--radius);background:var(--accent);color:var(--on-fill);font-size:12px;font-weight:600;display:grid;place-items:center;flex:1}.app-root.web .dw-v-btn.ghost{background:transparent;border:1.5px solid var(--border-strong);color:var(--text)}.app-root.web .dw-v-diff{font-family:var(--font-mono);font-size:12px;line-height:1.7;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-strong)}.app-root.web .dw-v-diff>div{padding:0 12px;white-space:pre-wrap}.app-root.web .dw-v-file{background:color-mix(in oklab,var(--text) 8%,transparent);font-weight:600;padding:6px 12px!important}.app-root.web .dw-v-ctx{color:var(--text-soft)}.app-root.web .dw-v-add{background:var(--ok-tint);color:var(--ok)}.app-root.web .dw-v-del{background:var(--bad-tint);color:var(--bad)}.app-root.web .dw-login{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:16px;background:color-mix(in oklab,var(--bg) 84%,transparent)}.app-root.web .dw-login-card{width:min(440px,100%);padding:28px;border-radius:var(--radius);display:flex;flex-direction:column;gap:16px;background:var(--bg-soft);border:1px solid var(--border);box-shadow:var(--float-shadow)}.app-root.web .dw-login-card h1{margin:0;font-size:1.35rem}.app-root.web .dw-login-card p{margin:0;color:var(--text-soft);font-size:.875rem;line-height:1.55}.app-root.web .dw-login-brand{display:flex;align-items:center;gap:10px;font-weight:600}.app-root.web .dw-ms{width:18px;height:18px;flex-shrink:0}.app-root.web .dw-perm{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;line-height:1.5}.app-root.web .dw-perm svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--fill-ok)}.app-root.web .dw-login-actions{display:flex;gap:10px;flex-wrap:wrap}.app-root.web .dw-login-actions .btn{flex:1;justify-content:center}.app-root.web .dw-login-select{width:100%}.app-root.web .w-signout{margin-left:auto;flex-shrink:0}.app-root.web .dw-seg-off{opacity:.45;cursor:not-allowed}.app-root.web .dw-pill-row{display:flex;gap:8px;flex-wrap:wrap}.app-root.web .dw-mono-sm{font-family:var(--font-mono);font-size:12px}.app-root.web .dw-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-form label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:600;color:var(--text-soft)}.app-root.web .dw-form .dw-wide{grid-column:1/-1}.app-root.web .dw-field{width:100%;box-sizing:border-box;padding:.55rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font:inherit;font-weight:400}@media (max-width:720px){.app-root.web .dw-form{grid-template-columns:1fr}}@media (min-width:1024px){.app-root.web .w-main{overflow:hidden}.app-root.web .w-content{max-width:none;min-height:0;display:flex;flex-direction:column;padding:20px 28px 24px}.app-root.web .w-page{flex:1;min-height:0}.app-root.web .w-page sc-if,.app-root.web .w-page sc-for{display:contents}.app-root.web .pane-header{flex:none}.app-root.web .pane-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:20px}.app-root.web .pane-foot{flex:none;position:static}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/plex-sans-vi-tuJ4lY6O.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/plex-sans-latin-BD64o3ke.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/plex-mono-400-vi-DKn25-tQ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/plex-mono-400-latin-BJoXLJYV.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500 600;font-display:swap;src:url(/assets/plex-mono-500-vi-B5e70VyC.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500 600;font-display:swap;src:url(/assets/plex-mono-500-latin-C820gu2e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500 700;font-display:swap;src:url(/assets/bricolage-vietnamese-d1hB1XZ3.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500 700;font-display:swap;src:url(/assets/bricolage-latin-CtikI8OQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.app-root.web *{letter-spacing:inherit}.app-root.web b,.app-root.web strong,.app-root.web h1,.app-root.web h2,.app-root.web h3,.app-root.web h4{font-weight:600}.app-root.web h1,.app-root.web h2,.app-root.web h3{font-family:var(--font-sans)}.app-root.web .num,.app-root.web td,.app-root.web .dw-id{font-variant-numeric:tabular-nums}.app-root.web .glass{background:transparent;border:0;box-shadow:none}.app-root.web .w-sidebar{width:var(--sidebar-w);background:var(--bg);border:0;box-shadow:none}.app-root.web .w-logo{gap:10px;height:48px;padding:0 18px;align-items:center;box-sizing:border-box}.app-root.web .w-logo-mark{width:24px;height:24px;border-radius:0;background:transparent;box-shadow:none;display:block}.app-root.web .w-logo-mark svg{width:24px;height:24px;display:block}.app-root.web .w-logo-name{font-size:14px;font-weight:600;line-height:18px;letter-spacing:0;white-space:nowrap}.app-root.web .w-logo-sub{font-size:12px;line-height:16px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-soft)}.app-root.web .w-nav{padding:0 8px}.app-root.web .w-nav-sec{padding:0 10px;margin:16px 0 6px;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-soft)}.app-root.web .w-nav-item{height:32px;gap:10px;padding:0 10px;margin-bottom:2px;border-radius:var(--radius);font-size:14px;font-weight:400;color:var(--text-soft);transition:background-color .12s ease,color .12s ease}.app-root.web .w-nav-item svg{width:16px;height:16px;color:var(--text-soft)}.app-root.web .w-nav-item:hover{background:var(--bg-hover);color:var(--text)}.app-root.web .w-nav-item:hover svg{color:var(--text)}.app-root.web .w-nav-item.active{background:var(--bg-soft);box-shadow:0 0 0 1px var(--border);color:var(--text);font-weight:600}.app-root.web .w-nav-item.active svg{color:var(--accent)}.app-root.web .w-user{padding:12px 16px 16px;border-top:0;gap:10px}.app-root.web .w-avatar{width:28px;height:28px;font-size:12px;font-weight:600;background:var(--accent-tint);color:var(--accent-strong)}.app-root.web .w-user-mail{font-size:13px;font-weight:500}.app-root.web .w-user-role{font-size:12px;text-transform:none;letter-spacing:0;color:var(--text-soft)}.app-root.web .w-main{background:var(--bg)}.app-root.web .w-topbar{min-height:48px;padding:8px var(--sheet-inset) 8px 0;background:var(--bg);border:0;box-shadow:none}.app-root.web .w-project,.app-root.web .w-icon-btn{height:32px;border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border-strong);box-shadow:none}.app-root.web .w-project{font-weight:500;padding:0 10px}.app-root.web .w-icon-btn{width:32px}.app-root.web .w-lang{font-size:12px;font-weight:600;font-family:var(--font-mono)}.app-root.web .dw-flag{display:block;flex-shrink:0;width:21px;height:14px;border-radius:0}.app-root.web .seg-btn:has(>.dw-flag){display:inline-flex;align-items:center;justify-content:center}.app-root.web .seg-btn>.dw-flag{margin-right:6px}.app-root.web .w-icon-btn svg{width:16px;height:16px}.app-root.web .w-icon-btn:hover,.app-root.web .w-project:hover{background:var(--bg-hover)}.app-root.web .w-crumb{font-size:14px}.app-root.web .w-crumb strong{font-weight:500}.app-root.web .w-sidebar,.app-root.web .w-main{transition:width .15s ease,margin-left .15s ease}.app-root.web .w-sidebar{overflow-x:hidden}.app-root.web .w-side-toggle{display:grid;place-items:center;flex-shrink:0;cursor:pointer}.app-root.web .w-side-toggle:focus-visible{outline-offset:-2px}@media (max-width:1023px){.app-root.web .w-side-toggle{display:none}}.app-root.web.is-mobile .w-side-toggle{display:none}.app-root.web.sidebar-collapsed{--sidebar-w:56px}.app-root.web.sidebar-collapsed .w-logo{justify-content:center;padding:0}.app-root.web.sidebar-collapsed .w-logo-text,.app-root.web.sidebar-collapsed .w-nav-label,.app-root.web.sidebar-collapsed .w-nav-item .w-beta,.app-root.web.sidebar-collapsed .w-nav-sec-text,.app-root.web.sidebar-collapsed .w-user-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-root.web.sidebar-collapsed .w-nav-sec{height:1px;margin:10px 8px;padding:0;overflow:hidden;background:var(--border)}.app-root.web.sidebar-collapsed .w-nav-item{justify-content:center;padding:0}.app-root.web.sidebar-collapsed .w-nav-item:hover{transform:none}.app-root.web.sidebar-collapsed .w-nav-item .count-badge{position:absolute;top:-2px;right:-2px;margin:0;min-width:16px;height:16px;padding:0 4px;font-size:10px;outline:2px solid var(--bg)}.app-root.web .w-rail-tip{position:fixed;left:52px;z-index:60;transform:translateY(-50%);padding:5px 9px;border-radius:var(--radius);border:0;background:var(--text);color:var(--bg-soft);box-shadow:var(--float-shadow);font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap}@media (max-width:1023px){.app-root.web .w-rail-tip{display:none}}.app-root.web.sidebar-collapsed .w-user{flex-direction:column;padding:12px 0 16px}.app-root.web.sidebar-collapsed .w-signout{margin-left:0}.app-root.web .w-content{max-width:none;margin:0 var(--sheet-inset) var(--sheet-inset) 0;width:auto;padding:24px;background:var(--bg-soft);border:1px solid var(--frame-line);border-radius:var(--radius)}.app-root.web .w-page{gap:24px}.app-root.web .pane-header{gap:12px}.app-root.web .pane-title{font-size:22px;line-height:28px;font-weight:600;letter-spacing:0}.app-root.web .pane-back{font-family:var(--font-sans);font-size:22px;line-height:28px;font-weight:400;letter-spacing:0;color:var(--text-soft)}.app-root.web .pane-back:hover{color:var(--text)}.app-root.web .pane-desc{margin-top:4px;font-size:14px;line-height:20px;color:var(--text-soft);max-width:none}.app-root.web .dw-flow-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.app-root.web .dw-flow-next{color:var(--text);font-weight:500}.app-root.web .dw-accept-guide{background:var(--bg-soft);border:1px solid var(--border);color:var(--text);margin:0 0 12px}.app-root.web .dw-switch-wrap{display:inline-flex;align-items:center;gap:8px}.app-root.web .dw-switch-text{font-size:12px;font-weight:600;color:var(--art-ink,var(--text-soft))}.app-root.web .dw-undo{align-items:center;justify-content:space-between}.app-root.web .pane-body{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}.app-root.web .pane-foot{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--float-shadow)}.app-root.web .dw-sec{padding:20px 0;border-top:1px solid var(--border)}.app-root.web .dw-sec:first-child{padding-top:0}.app-root.web .dw-sec-title{font-size:16px;line-height:22px;font-weight:600;letter-spacing:0}.app-root.web .dw-sec-meta{font-size:13px;color:var(--text-soft)}.app-root.web .dw-label,.app-root.web .dw-par-label{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-soft)}.app-root.web .glass-card,.app-root.web .tbl,.app-root.web .dw-dag-box,.app-root.web .dw-thread,.app-root.web .dw-bubble,.app-root.web .dw-wiki,.app-root.web .dw-edit,.app-root.web .dw-form,.app-root.web .dw-nostart,.app-root.web .dw-wait,.app-root.web .dw-alt,.app-root.web .dw-inline,.app-root.web .dw-prompt{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none}.app-root.web .dw-dag-box{background:var(--bg-alt);border-color:var(--rule)}.app-root.web .glass-card:hover{border-color:var(--border-strong);box-shadow:none}.app-root.web .dw-banner{border-radius:var(--radius)}.app-root.web .dw-banner--wait{background:var(--accent-tint);border:1px solid var(--accent)}.app-root.web .fc-ask{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.app-root.web .fc-ask p{margin:0;overflow-wrap:anywhere}.app-root.web .dw-banner--warn{background:var(--warn-tint);border:1px solid color-mix(in oklab,var(--warn) 30%,transparent);color:var(--warn)}.app-root.web .dw-banner--ok{background:var(--ok-tint);border:1px solid color-mix(in oklab,var(--ok) 30%,transparent);color:var(--ok)}.app-root.web .dw-term{border:1px solid var(--border);box-shadow:none}.app-root.web .dw-node{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-soft);box-shadow:none}.app-root.web button.dw-node:hover{border-color:var(--text-soft);box-shadow:none}.app-root.web .dw-node.is-rec{border-color:var(--accent);border-width:1px}.app-root.web .dw-node.is-human{border-style:dashed;border-color:var(--border-strong)}.app-root.web .dw-node.is-red{border-color:var(--bad);background:var(--bad-tint)}.app-root.web .dw-dot{width:8px;height:8px;background:var(--border-strong)}.app-root.web .dw-dot--done{background:var(--text)}.app-root.web .dw-dot--gate,.app-root.web .dw-dot--ask{background:var(--accent);animation:none}.app-root.web .dw-dot--human{background:transparent;box-shadow:inset 0 0 0 1.5px var(--text)}.app-root.web .dw-node.s-done{border-color:var(--border-strong)}.app-root.web .dw-node.s-run,.app-root.web .dw-node.s-check{border-color:var(--run);border-width:1px}.app-root.web .dw-node.s-human{border-color:var(--text-soft);border-width:1px;border-style:dashed}.app-root.web .dw-node.s-queued{opacity:1;color:var(--text-soft);background:var(--bg-alt);border-color:var(--border)}.app-root.web .dw-node.is-sel{border-color:var(--text);outline:1px solid var(--text);outline-offset:0;box-shadow:none}.app-root.web .dw-node-prog{background:var(--rule)}.app-root.web .dw-node-name,.app-root.web .dw-node-hd-name{font-weight:600}.app-root.web .dw-wait{border:0;background:var(--bg-alt);box-shadow:none;animation:none}.app-root.web .dw-wait.is-wait{background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent-edge)}.app-root.web .dw-wait-ico{width:20px;height:20px;border-radius:0;background:transparent;color:var(--text-soft)}.app-root.web .dw-wait.is-run .dw-wait-ico{color:var(--run)}.app-root.web .dw-wait.is-wait .dw-wait-ico{color:var(--accent)}.app-root.web .dw-wait.is-done .dw-wait-ico{color:var(--ok)}.app-root.web .dw-wait.is-human .dw-wait-ico{color:var(--text)}.app-root.web .dw-wait-ico svg{width:16px;height:16px}.app-root.web .dw-wait-text strong{font-size:14px;font-weight:600}.app-root.web .dw-handover{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:10px 0}.app-root.web .dw-handover-text{min-width:0}.app-root.web .dw-handover-files{display:block;margin-top:2px;font-family:var(--font-mono);font-size:12px;color:var(--text-soft);overflow-wrap:anywhere}.app-root.web .dw-accept-act{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:12px;padding-top:16px;border-top:1px solid var(--border)}.app-root.web .dw-accept-choice{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:var(--radius);background:var(--bg-soft)}.app-root.web .dw-accept-back{flex-direction:row;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start}.app-root.web .dw-accept-back>strong,.app-root.web .dw-accept-back>.dw-meta{flex-basis:100%}@media (max-width:700px){.app-root.web .dw-accept-act{grid-template-columns:minmax(0,1fr)}.app-root.web .dw-accept-act .btn{min-height:44px}}.app-root.web .dw-accept-back select{width:auto;flex:0 0 180px;height:32px;padding:0 8px}.app-root.web .dw-accept-back input{width:auto;flex:1 1 220px;height:32px}.app-root.web .dw-accept-acs{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:4px 16px;border:0;padding:0;margin:0;justify-content:flex-end}.app-root.web .dw-accept-acs legend{float:left;margin-right:8px}.app-root.web .dw-accept-acs input{flex:none;width:auto;height:auto}.app-root.web .dw-kpi-escaped{color:var(--bad);font-weight:600}.app-root.web .dw-accept-hint{flex-basis:100%;text-align:left}.app-root.web .dw-empty strong{display:block;color:var(--text);font-weight:500}.app-root.web .dw-empty{display:block;padding:9px 12px;border:1px dashed color-mix(in oklab,var(--border) 50%,var(--border-strong));border-radius:var(--radius);color:var(--text-soft);text-align:left;font-size:14px}.app-root.web .dw-drop{border:1px dashed color-mix(in oklab,var(--border) 50%,var(--border-strong));background:var(--bg-alt);transition:border-color .12s ease,background-color .12s ease}.app-root.web .dw-drop.is-over{transform:none;border-style:solid;border-color:var(--accent);background:var(--run-tint)}.app-root.web .dw-drop-title{font-size:16px;font-weight:600}.app-root.web .dw-search{padding-left:10px}.app-root.web .dw-ticket{animation:none}.app-root.web .tbl+.dw-label{margin-top:16px}.app-root.web .dw-kpi-n{font-size:28px;line-height:34px;font-weight:400;font-variant-numeric:tabular-nums}.app-root.web .dw-kpi-l{font-size:13px;color:var(--text-soft)}@media (max-width:640px){.app-root.web .dw-kpis>:last-child:nth-child(odd){grid-column:1 / -1}}.app-root.web .dw-key{height:20px;padding:0 6px;border-radius:var(--radius);font-family:inherit;font-variant-numeric:tabular-nums;font-size:12px;font-weight:500;background:var(--bg-hover);color:var(--text-soft)}.app-root.web .dw-id{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-soft)}.app-root.web .dw-type{height:20px;padding:0 6px;border-radius:var(--radius);font-size:12px;font-weight:500;background:var(--bg-hover);color:var(--text-soft)}.app-root.web .dw-type--bug{background:var(--bad-tint);color:var(--bad)}.app-root.web .dw-type--story{background:var(--run-tint);color:var(--run)}.app-root.web .dw-type--task{background:var(--warn-tint);color:var(--warn)}.app-root.web .dw-tag{height:22px;padding:0 8px;gap:5px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;border:0;background:var(--bg-hover);color:var(--text-soft);flex:none}.app-root.web .dw-tag--ok{background:var(--ok-tint);color:var(--ok)}.app-root.web .dw-tag--wait{background:var(--accent-tint);color:var(--accent-strong)}.app-root.web .dw-tag--info{background:var(--run-tint);color:var(--run)}.app-root.web .dw-tag--bad{background:var(--bad-tint);color:var(--bad)}.app-root.web .dw-tag--warn{background:var(--warn-tint);color:var(--warn)}.app-root.web .dw-tag--dw{background:var(--bg-hover);color:var(--text-soft);font-family:inherit;font-variant-numeric:tabular-nums}.app-root.web .dw-mail{height:24px;border-radius:var(--radius-pill);background:var(--bg-soft);border:1px solid var(--border);font-size:13px}.app-root.web .dw-mail-av{font-size:10px;font-weight:600;background:var(--selected);color:var(--text)}.app-root.web .dw-mail--me{border-color:var(--border-strong);background:var(--bg-alt)}.app-root.web .dw-file{border-radius:var(--radius);font-family:var(--font-mono);font-size:13px}.app-root.web .dw-fmt-mark{position:absolute;right:-8px;bottom:-16px;z-index:0;width:52px;height:62px;opacity:.1;filter:grayscale(1);transform:rotate(-12deg);pointer-events:none}.app-root.web .dw-fmt-mark .dw-fmt-icon{width:100%;height:100%}.app-root.web .dw-fmt-mark.is-faded{opacity:.06}.app-root.web .dw-doc.has-mark{position:relative;overflow:hidden;isolation:isolate}.app-root.web .dw-doc .dw-fmt-mark{right:-14px;bottom:-20px;width:86px;height:102px}.app-root.web .dw-doc.has-mark{background:var(--bg-alt)}.app-root.web .dw-doc.has-mark.is-done .dw-doc-mark{color:inherit}.app-root.web .dw-doc-state{margin-top:auto;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--type-caption);font-weight:600;line-height:1.5;background:color-mix(in oklab,var(--text) 8%,transparent);color:var(--text-soft)}.app-root.web .dw-doc-state.is-done{background:var(--ok);color:var(--on-fill)}@media (max-width:640px){.app-root.web .dw-docs{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-root.web .dw-doc.has-mark>:not(.dw-fmt-mark){position:relative;z-index:1}.app-root.web .dw-files:has(.dw-file-card){display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.app-root.web button.dw-file.dw-file-card{position:relative;overflow:hidden;isolation:isolate;height:auto;min-height:52px;padding:10px 44px 10px 12px;border:0;border-radius:var(--radius);background:var(--bg-alt);text-align:left}.app-root.web button.dw-file.dw-file-card:hover{background:var(--bg-hover)}.app-root.web button.dw-file.dw-file-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .dw-file-card>:not(.dw-fmt-mark){position:relative;z-index:1}.app-root.web .dw-file-card>.dw-fmt-icon{flex-shrink:0;width:15px;height:18px}.app-root.web .dw-file-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-root.web .count-badge{height:18px;min-width:18px;padding:0 5px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;background:var(--accent);color:var(--on-accent);box-shadow:none}.app-root.web .btn{height:32px;padding:0 12px;border-radius:var(--radius);font-size:14px;font-weight:500;box-shadow:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.app-root.web .btn:hover,.app-root.web .btn:active{transform:none}.app-root.web .btn-primary,.app-root.web .btn-accept{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:none}.app-root.web .btn-primary:not(:disabled):hover,.app-root.web .btn-accept:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.app-root.web .btn-secondary{background:var(--bg-soft);border-color:var(--border-strong);color:var(--text);box-shadow:none}.app-root.web .btn-ghost{background:transparent;border-color:transparent;color:var(--text);box-shadow:none}.app-root.web .btn-secondary:not(:disabled):hover{background:var(--bg-hover)}.app-root.web .btn-tinted{background:var(--bg-hover);color:var(--text);border-color:var(--border-strong)}.app-root.web .btn-tinted:not(:disabled):hover{background:var(--selected)}.app-root.web .btn-lg{height:36px;padding:0 16px}.app-root.web .btn-sm{height:32px;padding:0 12px}.app-root.web .btn-xs{height:28px;padding:0 10px;font-size:13px}.app-root.web .btn:disabled{opacity:1;color:var(--text-soft);background:var(--bg-alt);border-color:var(--border)}.app-root.web .seg{max-width:100%;overflow-x:auto;scrollbar-width:none;border-radius:var(--radius);padding:2px;background:var(--bg-alt);border:1px solid var(--border)}.app-root.web .seg-btn{height:26px;border-radius:var(--radius);padding:0 10px;font-size:13px}.app-root.web .seg-btn{border:1px solid transparent}.app-root.web .seg-btn.active{background:var(--bg-soft);color:var(--text);border-color:var(--border-strong);box-shadow:none}.app-root.web .dw-search,.app-root.web .dw-field,.app-root.web .demo-select{border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border-strong);font-size:14px}.app-root.web .dw-search{height:32px}.app-root.web .dw-field{padding:.45rem .7rem}.app-root.web .dw-field::placeholder,.app-root.web .dw-search::placeholder{color:var(--muted)}.app-root.web .tbl{background:var(--bg-soft)}.app-root.web th,.app-root.web td{padding:10px 12px}.app-root.web th{position:sticky;top:0;z-index:1;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-soft);background:var(--bg-soft);border-bottom:1px solid var(--border)}.app-root.web td{border-bottom:1px solid var(--rule)}.app-root.web tbody tr:last-child td{border-bottom:0}.app-root.web tbody tr:hover td{background:var(--bg-alt)}.app-root.web .dw-run,.app-root.web .dw-inbox-row{border-radius:var(--radius)}.app-root.web .dw-inbox-row{grid-template-columns:minmax(0,1fr) auto;animation:none}@media (max-width:1023px){.app-root.web .dw-inbox-row .dw-tag{display:inline-flex}}.app-root.web .dw-inbox-title{font-weight:500}.app-root.web .dw-run:hover,.app-root.web .dw-inbox-row:hover{background:var(--bg-alt);box-shadow:none}.app-root.web .modal-foot{border-color:var(--border)}.app-root.web .dw-toast{border-radius:var(--radius);padding:10px 14px;background:var(--text);color:var(--bg-soft);border:0;box-shadow:var(--float-shadow)}.app-root.web .dw-login{background:var(--bg)}.app-root.web .dw-login-card{border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border);box-shadow:none}.app-root.web .w-bottom{background:var(--bg-soft);border:0;border-top:1px solid var(--border);border-radius:0;box-shadow:none}.app-root.web .w-bottom{padding-left:12px;padding-right:12px}.app-root.web .w-tab{border-radius:var(--radius);font-size:12px;font-weight:500;color:var(--text-soft)}.app-root.web .w-tab.active{background:var(--bg-hover);box-shadow:none;color:var(--text)}.app-root.web .w-mlogo{border-radius:0;background:transparent;box-shadow:none}.app-root.web .tbl--fit table{min-width:0}.app-root.web .tbl--fit td,.app-root.web .tbl--fit th{white-space:normal;vertical-align:top}.app-root.web .tbl--fit td .dw-meta{white-space:normal;overflow:visible;text-overflow:clip}.app-root.web .tbl--fit td .dw-pill-row{flex-direction:column;align-items:stretch;gap:6px}.app-root.web .tbl--fit td .dw-pill-row .btn{height:28px;padding:0 10px;font-size:13px;justify-content:flex-start}.app-root.web .tbl--fit td .seg{flex-wrap:wrap}.app-root.web .dw-sec-meta{max-width:64ch;text-align:right}@media (max-width:1023px){.app-root.web .dw-sec-meta{text-align:left}}.app-root.web .w-tab .count-badge{font-size:11px}.app-root.web .w-nav-sec,.app-root.web .w-user-role{font-size:12px}.app-root.web .w-kv-v{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5}.app-root.web .pane-title{white-space:normal;overflow:visible;text-overflow:clip}.app-root.web .dw-node-line,.app-root.web .dw-node-tool-d{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}.app-root.web .w-acct-btn{display:none}@media (max-width:1023px){.app-root.web .w-acct-btn{display:grid}}.app-root.web :where(button,a,input,select,textarea,[contenteditable],[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.app-root.web .dw-meta,.app-root.web .dw-note,.app-root.web .pane-meta,.app-root.web .dw-sec-meta{color:var(--text-soft)}.app-root.web ::-webkit-scrollbar{width:10px;height:10px}.app-root.web ::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--text) 18%,transparent);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:padding-box}.app-root.web ::-webkit-scrollbar-track{background:transparent}@media (prefers-contrast:more){.app-root.web{--border:var(--muted);--border-strong:var(--text-soft)}}@media (prefers-reduced-motion:reduce){.app-root.web *{animation:none!important;transition:none!important}}@media (max-width:1023px){.app-root.web .w-content{margin:0;border:0;border-radius:0;padding:16px 16px 96px}.app-root.web .w-topbar{padding:8px 16px;background:var(--bg-soft);border-bottom:1px solid var(--border)}.app-root.web .w-main{background:var(--bg-soft)}.app-root.web .pane-title,.app-root.web .pane-back{font-size:20px;line-height:26px}}@keyframes dw-attn{0%,to{box-shadow:0 0 color-mix(in oklab,var(--accent) 45%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklab,var(--accent) 0%,transparent)}}@keyframes dw-dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.7}}.app-root.web .w-logo-mark{width:32px;height:32px;object-fit:contain;border-radius:var(--radius)}.app-root.web .w-nav-item{position:relative}.app-root.web .w-tab .count-badge{position:absolute;top:2px;right:18%}.app-root.web .w-tab.active{color:var(--text)}.app-root.web .w-tab.active svg{color:var(--accent)}.app-root.web .w-content{position:relative;overflow:clip}.app-root.web .pane-title{color:var(--text);font-family:var(--font-display)}.app-root.web .dw-sec-title{color:var(--text)}@media (max-width:1023px){.app-root.web .w-mlogo{display:block;width:28px;height:28px;object-fit:contain}}.app-root.web .w-icon-btn,.app-root.web .w-project{transition:background-color .15s ease,border-color .15s ease}.app-root.web :where(input,select,textarea).dw-field:focus,.app-root.web .dw-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent);outline:none}.app-root.web .dw-kpis{gap:16px}.app-root.web .dw-kpi-n{font-size:30px;line-height:36px;font-weight:600}.app-root.web .dw-inbox-row,.app-root.web .dw-run{position:relative;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.app-root.web .dw-inbox-row:hover,.app-root.web .dw-run:hover{background:var(--bg-alt);box-shadow:none}.app-root.web .dw-inbox-row .dw-tag{background:var(--accent-tint);color:var(--accent-strong)}.app-root.web .dw-inbox-row--accept .dw-tag{background:var(--ok-tint);color:var(--ok)}.app-root.web .dw-inbox-row--question .dw-tag{background:var(--run-tint);color:var(--run)}.app-root.web .dw-inbox-row--hold .dw-tag{background:var(--bg-hover);color:var(--text-soft)}.app-root.web .dw-inbox-row--blocked .dw-tag,.app-root.web .dw-inbox-row--contest .dw-tag{background:var(--bad-tint);color:var(--bad)}.app-root.web .dw-prog{background:var(--rule)}.app-root.web .dw-prog>span{background:var(--run)}.app-root.web .dw-dag-box{background:var(--bg-alt);border:1px solid var(--border)}.app-root.web .dw-node{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.app-root.web button.dw-node:hover{border-color:var(--border-strong);box-shadow:none}.app-root.web .dw-node.s-done{background:var(--ok-tint);border-color:color-mix(in oklab,var(--ok) 45%,transparent)}.app-root.web .dw-node.s-run,.app-root.web .dw-node.s-check{background:var(--run-tint);border-color:var(--run);border-width:1px}.app-root.web .dw-node.s-gate,.app-root.web .dw-node.s-ask{background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent-edge);animation:dw-attn 2s ease-in-out 3}.app-root.web .dw-node.is-red{background:var(--bad-tint);border-color:var(--bad)}.app-root.web .dw-node.is-sel{outline:2px solid var(--text);outline-offset:2px}.app-root.web .dw-dot--done{background:var(--ok)}.app-root.web .dw-dot--run,.app-root.web .dw-dot--check{background:var(--run)}.app-root.web .dw-dot--gate,.app-root.web .dw-dot--ask{background:var(--accent);animation:dw-dot-pulse 1.4s ease-in-out 3}.app-root.web .dw-dot--human{box-shadow:inset 0 0 0 2px var(--text)}.app-root.web .dw-dag-arrow{background:color-mix(in oklab,var(--text) 35%,var(--border-strong))}.app-root.web .dw-dag-arrow:after{border-left-color:color-mix(in oklab,var(--text) 35%,var(--border-strong))}.app-root.web .dw-wait-text strong{color:var(--text)}.app-root.web .dw-wait.is-wait .dw-wait-text strong{color:var(--accent-strong)}.app-root.web .dw-sec.is-mine{padding:20px;margin:8px 0;border:1px solid color-mix(in oklab,var(--accent) 45%,transparent);border-radius:var(--radius);background:var(--accent-tint);animation:dw-attn 2.4s ease-in-out 3}.app-root.web .dw-sec.is-mine .tbl{background:var(--bg-soft)}.app-root.web .dw-drop{background:var(--bg-alt);border:2px dashed color-mix(in oklab,var(--text) 35%,transparent);transition:border-color .15s ease,background-color .15s ease,transform .15s ease}.app-root.web .dw-drop.is-over{border-color:var(--accent);background:var(--accent-tint)}.app-root.web .dw-drop-title{color:var(--text)}.app-root.web .dw-ticket{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.app-root.web .dw-ticket[draggable=true]{cursor:grab}.app-root.web .dw-ticket:hover{box-shadow:none;border-color:var(--border-strong)}@media (prefers-reduced-motion:reduce){.app-root.web *,.app-root.web *:before{animation:none!important;transition:none!important}}.app-root.web .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-root.web .dw-model-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin-top:16px;padding:16px;border-radius:var(--radius);background:var(--bg-alt);border:1px solid color-mix(in oklab,var(--text) 14%,transparent)}.app-root.web .dw-model-form label,.app-root.web .dw-model-field{display:flex;flex-direction:column;gap:6px;min-width:0}.app-root.web .dw-model-form .dw-model-wide{grid-column:span 2}.app-root.web .dw-model-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.app-root.web .dw-model-form .dw-meta{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.app-root.web .dw-model-form .dw-field:disabled{background:var(--bg-alt);color:var(--text-soft)}@media (max-width:640px){.app-root.web .dw-model-form{grid-template-columns:minmax(0,1fr)}.app-root.web .dw-model-form .dw-model-wide{grid-column:auto}}.app-root.web .dw-dot--waiting{background:transparent;box-shadow:inset 0 0 0 2px var(--text-soft)}.app-root.web .dw-dot--stopping{background:var(--warn);animation:dw-dot-pulse 2.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.app-root.web .dw-dot--stopping{animation:none}}.app-root.web .dw-node.s-waiting{background:var(--bg-soft);border:1px dashed var(--run)}.app-root.web .dw-question{white-space:pre-wrap;font-size:15px;line-height:1.6;border:1px solid color-mix(in oklab,var(--run) 45%,transparent);border-radius:var(--radius);background:var(--run-tint)}.app-root.web textarea{font:inherit}.app-root.web .dw-form-label{display:block;margin:14px 0 6px;font-size:14px;font-weight:600;color:var(--text)}.app-root.web .dw-login-card form .dw-form-label:first-child{margin-top:0}.app-root.web .dw-login-card form>.btn{margin-top:16px}.app-root.web .dw-login-card form>p{margin-top:12px}.app-root.web .dw-health-answer{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:15px;color:var(--text)}.app-root.web .dw-health-answer b{font-size:16px}.app-root.web .dw-health-answer--ok b{color:var(--ok)}.app-root.web .dw-health-answer--warn b{color:var(--warn)}.app-root.web .dw-health-answer--crit b{color:var(--bad)}.app-root.web .dw-health-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;align-self:center;background:var(--ok)}.app-root.web .dw-health-answer--warn .dw-health-dot{background:var(--warn);animation:dw-dot-pulse 1.6s ease-in-out 3}.app-root.web .dw-health-answer--crit .dw-health-dot{background:var(--bad);animation:dw-dot-pulse 1.6s ease-in-out 3}.app-root.web .dw-health-grid{margin-bottom:24px}.app-root.web .dw-health-alert{display:flex;flex-direction:column;gap:2px;margin:10px 0 0;font-size:13px;color:var(--text)}.app-root.web .dw-health-detail{margin:6px 0 0;font-size:13px;color:var(--text-soft);overflow-wrap:anywhere}.app-root.web .dw-health-more{margin-top:12px}.app-root.web .dw-health-alerts{list-style:none;margin:0;padding:0;display:grid;gap:8px}.app-root.web .dw-health-alerts li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;padding:10px 14px;border-radius:var(--radius);background:var(--warn-tint);border:1px solid color-mix(in oklab,var(--warn) 30%,transparent)}.app-root.web .dw-nowrap{white-space:nowrap}.app-root.web .dw-role-chips{display:flex;flex-wrap:wrap;gap:6px}.app-root.web .dw-role-chip{height:26px;padding:0 9px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-soft);color:var(--text-soft);font-family:inherit;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.app-root.web .dw-role-chip:hover:not(:disabled){border-color:var(--text)}.app-root.web .dw-role-chip.on{background:var(--text);border-color:var(--text);color:var(--on-accent)}.app-root.web .dw-role-chip:disabled{cursor:default;opacity:.75}.app-root.web .btn-danger{background:var(--bg-soft);border-color:color-mix(in oklab,var(--bad) 45%,var(--border-strong));color:var(--bad)}.app-root.web .btn-danger:hover:not(:disabled){background:var(--bad-tint);border-color:var(--bad)}.app-root.web .dw-members td b+.dw-tag,.app-root.web .dw-members td .dw-mono-sm+.dw-tag{margin-left:0;margin-top:4px}.app-root.web .dw-members td b+.dw-tag{margin-left:8px;margin-top:0}.app-root.web .dw-cov{display:grid;gap:6px;margin-bottom:10px}.app-root.web .dw-cov .dw-line{gap:8px;font-size:14px}.app-root.web .dw-cov-bar{height:8px;border-radius:var(--radius-pill);background:var(--bg-hover);overflow:hidden}.app-root.web .dw-cov-bar span{display:block;height:100%;border-radius:inherit;background:var(--warn);transition:width .4s ease}.app-root.web .dw-cov.is-full .dw-cov-bar span{background:var(--ok)}.app-root.web .dw-meta-wrap{margin:0;font-size:13px;color:var(--text-soft);overflow-wrap:anywhere}.app-root.web .dw-import{display:grid;gap:10px;margin-top:14px}.app-root.web .dw-import-map{list-style:none;margin:0;padding:0;display:grid;gap:4px}.app-root.web .dw-import-map li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:6px 10px;border-radius:var(--radius);border:1px solid color-mix(in oklab,var(--warn) 30%,transparent);background:var(--warn-tint)}.app-root.web .dw-import-map li.is-mapped{border-color:color-mix(in oklab,var(--ok) 35%,transparent);background:var(--ok-tint)}.app-root.web .dw-import-map li.is-plain{border-color:var(--border);background:var(--bg-alt)}.app-root.web .dw-kpi-grid,.app-root.web .dw-pack-grid{margin:12px 0 20px}.app-root.web .dw-pack-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.app-root.web .dw-pack-ver{font-family:var(--font-mono);font-size:12px;color:var(--text-soft);font-variant-numeric:tabular-nums;padding:2px 7px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--bg-soft) 70%,transparent)}.app-root.web .dw-lib-usage{display:grid;gap:6px;max-width:420px;margin:4px 0 12px}.app-root.web .dw-pack-install{display:grid;gap:8px;padding:16px;border-radius:var(--radius);border:1px dashed var(--border-strong);margin:12px 0}.app-root.web .dw-switch{position:relative;width:40px;height:22px;border-radius:var(--radius-pill);border:0;padding:0;background:var(--border-strong);cursor:pointer;transition:background .15s ease;flex:none}.app-root.web .dw-switch span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--knob);transition:transform .15s ease}.app-root.web .dw-switch--on{background:var(--ok)}.app-root.web .dw-switch--on span{transform:translate(18px);background:var(--bg-soft)}.app-root.web .dw-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .dw-switch:disabled,.app-root.web .dw-switch[aria-disabled=true]{cursor:not-allowed;opacity:.45}@media (prefers-reduced-motion:reduce){.app-root.web .dw-switch,.app-root.web .dw-switch span{transition:none}}.app-root.web .dw-kpi-state{font-size:13px;font-weight:600;color:var(--text-soft)}.app-root.web .dw-kpi-card--gate .dw-kpi-state{color:var(--accent-strong)}.app-root.web .dw-kpi-rate{font-family:var(--font-display);font-size:34px;font-weight:600;line-height:1;color:var(--text)}.app-root.web .dw-kpi-unit{font-size:15px;font-weight:600;color:var(--text-soft)}.app-root.web .dw-tile .dw-cov-bar{position:relative}.app-root.web .dw-tile .dw-cov-bar span{background:var(--art-ink)}.app-root.web .dw-kpi-card--auto .dw-cov-bar span{background:var(--ok)}.app-root.web .dw-kpi-card--cold .dw-cov-bar span{background:var(--border-strong)}.app-root.web .dw-kpi-floor{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text);opacity:.55}.app-root.web .dw-compare{display:grid;gap:12px}.app-root.web .dw-compare-docs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.app-root.web .dw-compare-doc{margin:0;max-height:420px;overflow:auto;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-soft);white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-sans);font-size:14px;line-height:1.55}@media (max-width:640px){.app-root.web .dw-compare-docs{grid-template-columns:1fr}}.app-root.web .dw-more-pages{display:none}@media (max-width:1023px){.app-root.web .dw-more-pages{display:block}}.app-root.web.is-mobile .dw-more-pages{display:block}.app-root.web .dw-more-list{display:grid;gap:8px;margin:8px 0 16px}.app-root.web .dw-more-item{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-soft);color:var(--text);font:inherit;font-size:15px;font-weight:600;text-align:left;cursor:pointer}.app-root.web .dw-more-item svg{width:20px;height:20px;color:var(--text)}.app-root.web .dw-more-item:active{background:var(--bg-alt)}.app-root.web .dw-flow-cat td.dw-flow-cat-name{min-width:280px}@media (max-width:640px){.app-root.web .tbl{overflow:visible;border:0;background:transparent}.app-root.web .tbl thead{display:none}.app-root.web .tbl table,.app-root.web .tbl tbody,.app-root.web .tbl tr,.app-root.web .tbl td{display:block;width:100%;min-width:0}.app-root.web .tbl tr{padding:12px 14px;margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft)}.app-root.web .tbl td{border:0;padding:4px 0;overflow-wrap:anywhere}.app-root.web .tbl td[data-label]{display:grid;grid-template-columns:minmax(84px,36%) minmax(0,1fr);gap:4px 10px;align-items:baseline}.app-root.web .tbl td[data-label]:before{content:attr(data-label);font-size:12px;font-weight:600;color:var(--text-soft)}.app-root.web .tbl td .dw-line{flex-wrap:wrap}.app-root.web .dw-flow-cat td[data-label]:empty{display:none}.app-root.web .dw-flow-cat td.dw-flow-cat-name{min-width:0}.app-root.web .tbl--log tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}.app-root.web .tbl.tbl--log td,.app-root.web .tbl.tbl--log td[data-label]{display:block;width:auto}.app-root.web .tbl.tbl--log td[data-label]:before{display:none}.app-root.web .tbl--log td:last-child{flex:1 1 100%}.app-root.web .dw-members td.dw-member-flag{display:inline-flex;flex-direction:row-reverse;align-items:center;gap:8px;width:auto;margin-right:20px}.app-root.web .dw-members td.dw-member-flag:before{margin:0}}.app-root.web .dw-detail{margin:0;padding:12px 14px;max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:13px;line-height:1.55;color:var(--text);background:var(--bad-tint);border:1px solid color-mix(in oklab,var(--bad) 40%,transparent);border-radius:var(--radius)}.app-root.web .glass-card,.app-root.web .dw-dag-box,.app-root.web .dw-wait,.app-root.web .dw-wait[class*=" is-"],.app-root.web .dw-sec.is-mine,.app-root.web .dw-node,.app-root.web .dw-node[class*=" s-"],.app-root.web .dw-node[class*=" is-"],.app-root.web .dw-bubble,.app-root.web .dw-bubble.dw-question,.app-root.web .dw-nostart,.app-root.web .dw-thread,.app-root.web .dw-form,.app-root.web .dw-model-form,.app-root.web .dw-compare-doc,.app-root.web .dw-empty{border:0}.app-root.web .glass-card,.app-root.web .dw-nostart,.app-root.web .dw-thread,.app-root.web .dw-form,.app-root.web .dw-model-form,.app-root.web .dw-compare-doc,.app-root.web .dw-empty{background:var(--bg-alt);box-shadow:none}.app-root.web .dw-sec.is-mine{background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent-edge)}.app-root.web .dw-bubble,.app-root.web .dw-bubble.dw-question,.app-root.web .dw-dag-box{background:var(--bg-alt)}.app-root.web .dw-node{background-color:var(--bg-alt)}.app-root.web .dw-node.s-done{background-color:var(--ok-tint)}.app-root.web .dw-node.s-run,.app-root.web .dw-node.s-check,.app-root.web .dw-node.s-waiting{background-color:var(--bg-alt)}.app-root.web .dw-node.s-gate,.app-root.web .dw-node.s-ask,.app-root.web .dw-node.is-rec{background-color:var(--accent-tint)}.app-root.web .dw-node.s-human,.app-root.web .dw-node.is-human{background-color:var(--bg-alt)}.app-root.web .dw-node.is-red{background-color:var(--bad-tint)}.app-root.web .dw-node.s-queued{background-color:var(--bg-alt);color:var(--text-soft)}.app-root.web .dw-wait,.app-root.web .dw-wait.is-run{background:var(--bg-alt)}.app-root.web .dw-wait.is-wait{background:var(--accent-tint)}.app-root.web .dw-wait.is-done{background:var(--ok-tint)}.app-root.web .dw-wait.is-human,.app-root.web .dw-wait.is-held{background:var(--bg-alt)}.app-root.web .dw-health-alerts li,.app-root.web .dw-dag-stack.is-par,.app-root.web .dw-drop,.app-root.web .dw-detail,.app-root.web .dw-alt,.app-root.web .dw-inline,.app-root.web .dw-prompt,.app-root.web .dw-wiki,.app-root.web .dw-slot pre{border:0}.app-root.web .dw-banner--ok{background:var(--ok-tint)}.app-root.web .dw-banner--warn,.app-root.web .dw-health-alerts li{background:var(--warn-tint)}.app-root.web .dw-banner--bad,.app-root.web .dw-detail{background:var(--bad-tint)}.app-root.web .dw-dag-stack.is-par,.app-root.web .dw-drop,.app-root.web .dw-drop.is-over,.app-root.web .dw-alt,.app-root.web .dw-inline,.app-root.web .dw-prompt,.app-root.web .dw-wiki,.app-root.web .dw-slot pre{background:var(--bg-alt)}.app-root.web .dw-pack-install{border:0;background:var(--bg-alt)}.app-root.web .dw-art{--art-bg:var(--bg-alt);--art-ink:var(--text-soft);--art-title:var(--text)}.app-root.web .dw-art[class]{position:relative;isolation:isolate;overflow:hidden;border:0;background:var(--art-bg)}.app-root.web .dw-art-motif{position:absolute;right:-10px;top:-8px;z-index:-1;width:min(48%,150px);height:auto;color:var(--art-ink);opacity:.32;pointer-events:none}.app-root.web .dw-art-ico{display:block;width:40px;height:40px;color:var(--art-ink);flex-shrink:0}.app-root.web .dw-fork-label{display:inline-flex;align-items:center;width:fit-content;font-size:12px;font-weight:600;line-height:1.2;padding:4px 9px;border-radius:var(--radius-pill);background:var(--warn-tint);color:var(--warn)}.app-root.web .dw-fork-head{gap:12px;justify-content:flex-start;flex-wrap:wrap;margin-bottom:10px}.app-root.web .dw-fork-cost{display:grid;gap:10px;padding:16px 18px;border-radius:var(--radius);background:var(--warn-tint)}.app-root.web .dw-fork-cost ul{margin:0;padding-left:20px;display:grid;gap:4px}.app-root.web .dw-check-line{display:inline-flex;align-items:center;gap:8px;font-weight:600}.app-root.web .dw-fork-text{padding:12px 16px;border-radius:var(--radius);background:var(--bg-alt);margin-top:10px}.app-root.web .dw-fork-text summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.app-root.web .dw-fork-text summary::-webkit-details-marker{display:none}.app-root.web .dw-fork-text textarea{width:100%;height:auto;min-height:180px;padding:10px 12px;margin-top:10px;font-family:var(--font-mono);font-size:13px;line-height:1.55;resize:vertical}.app-root.web .dw-fork-differs{font-size:12px;font-weight:600;color:var(--warn)}.app-root.web .dw-fork-diff{margin:10px 0 0;padding:10px 12px;max-height:260px;overflow:auto;border-radius:var(--radius);background:var(--bg-soft);font-family:var(--font-mono);font-size:12px;line-height:1.5;white-space:pre-wrap}.app-root.web .dw-fork-diff .is-add{display:block;background:var(--ok-tint);color:var(--ok)}.app-root.web .dw-fork-diff .is-del{display:block;background:var(--bad-tint);color:var(--bad)}.app-root.web .dw-fork-diff .is-gap{display:block;color:var(--text-soft)}.app-root.web .dw-fork-actions{justify-content:flex-start;gap:8px;margin-top:12px}.app-root.web .dw-drop.dw-art[class]{gap:8px;min-height:240px;padding:28px 24px;border:0;border-radius:var(--radius);text-align:center}.app-root.web .dw-drop.dw-art.is-over{background:color-mix(in oklab,var(--art-ink) 16%,var(--art-bg))}.app-root.web .dw-drop-art{width:min(320px,92%);height:auto;color:var(--art-ink);margin-bottom:8px}.app-root.web .dw-drop-ticket{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.app-root.web .dw-drop-arrow{opacity:.55;transition:opacity .2s ease}.app-root.web .dw-drop.is-over .dw-drop-ticket{transform:translate(20px,-4px) rotate(-3deg)}.app-root.web .dw-drop.is-over .dw-drop-arrow{opacity:1}.app-root.web .dw-drop.dw-art .dw-drop-title{color:var(--art-ink);font-size:18px;font-weight:600}.app-root.web .dw-drop.dw-art .dw-drop-sub{color:var(--text)}@media (prefers-reduced-motion:reduce){.app-root.web .dw-drop-ticket,.app-root.web .dw-drop-arrow{transition:none}}.app-root.web .dw-deploy-facts{list-style:none;margin:10px 0;padding:0;display:grid;gap:4px;font-size:14px}.app-root.web .dw-secret-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.app-root.web .dw-secret-card{display:grid;gap:8px;padding:14px 16px;border:0;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-secret-var{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.app-root.web .pane-actions{margin-left:auto;flex-wrap:wrap}.app-root.web .dw-kv{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3)}.app-root.web .dw-kv dt{color:var(--text-soft)}.app-root.web .dw-kv dd{margin:0}.app-root.web .dw-link-once{word-break:break-all;flex:1 1 240px}.app-root.web .dw-progress{display:grid;gap:8px;padding:12px 14px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-progress-todos{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:3px;font-size:.88rem}.app-root.web .dw-progress-todos .is-done{color:var(--text-soft);text-decoration:line-through}.app-root.web .dw-progress-todos .is-now{font-weight:600}.app-root.web .dw-progress-todos .is-off{color:var(--text-soft)}.app-root.web .dw-progress-log{display:grid;gap:6px;margin-top:4px}.app-root.web .dw-progress-steps{list-style:none;margin:0;padding:10px 12px;display:grid;gap:6px;font-size:.84rem;overflow-wrap:anywhere;border-radius:var(--radius);background:color-mix(in oklab,var(--bg-soft) 72%,transparent)}.app-root.web .dw-egress{list-style:none;margin:6px 0;padding:0;display:grid;gap:6px}.app-root.web .dw-egress li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;overflow-wrap:anywhere}.app-root.web .dw-egress li .dw-mono-sm{flex:1 1 200px}.app-root.web .btn-secondary{background:var(--bg-soft);border:1px solid var(--border-strong);color:var(--text);box-shadow:none}.app-root.web .btn-ghost{background:var(--bg-alt);border:1px solid var(--border);color:var(--text);box-shadow:none}.app-root.web .btn-ghost:not(:disabled):hover{background:var(--bg-hover);color:var(--text);box-shadow:none}.app-root.web .btn-danger-soft{background:var(--bg-soft);border:1px solid color-mix(in oklab,var(--bad) 45%,var(--border-strong));color:var(--bad)}.app-root.web .btn-danger-soft:not(:disabled):hover{background:var(--bad-tint);border-color:var(--bad)}.app-root.web .btn-primary:disabled{background:color-mix(in oklab,var(--accent) 40%,var(--bg-soft));border-color:transparent;color:var(--on-accent)}.app-root.web .btn-secondary:disabled,.app-root.web .btn-ghost:disabled,.app-root.web .btn-tinted:disabled,.app-root.web .btn-danger-soft:disabled{background:var(--bg-alt);border-color:var(--border);color:var(--muted)}.app-root.web .w-icon-btn{color:var(--text);border-color:var(--border-strong);background:var(--bg-soft)}.app-root.web .w-icon-btn:hover{background:var(--bg-hover)}.app-root.web .w-project{border-color:var(--border-strong)}.app-root.web input[type=file]::file-selector-button{margin-right:12px;height:28px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-soft);color:var(--text);font:inherit;font-weight:500;cursor:pointer}.app-root.web input[type=file]::file-selector-button:hover{background:var(--bg-hover)}.app-root.web input[type=checkbox],.app-root.web input[type=radio]{accent-color:var(--accent)}.app-root.web .dw-hl-row{display:grid;grid-template-columns:96px minmax(0,1fr) 52px;align-items:start;gap:var(--space-3)}.app-root.web .dw-hl-row .dw-tag{justify-self:start}.app-root.web .dw-hl-v{display:block;line-height:1.6;overflow-wrap:anywhere}.app-root.web .dw-hl-v .dw-hl-ticket{vertical-align:baseline;margin-left:4px}.app-root.web .dw-hl-when{text-align:right;padding-top:2px}@media (max-width:640px){.app-root.web .dw-hl-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.app-root.web .dw-hl-row .dw-hl-when{order:2;margin-left:auto}.app-root.web .dw-hl-row .dw-hl-v{order:3;flex:1 1 100%}}.app-root.web p.dw-sec-meta{text-align:left;max-width:none;margin:0 0 var(--space-3)}.app-root.web .dw-cfg-acct{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 12px}.app-root.web .dw-model-form label.dw-check-line{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;align-self:end;min-height:36px;font-weight:500}.app-root.web .dw-child .dw-meta{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.app-root.web .dw-state-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.app-root.web .dw-state-card{display:grid;gap:16px;justify-items:start;max-width:460px;padding:24px;border-radius:var(--radius);background:var(--bg-soft);border:1px solid color-mix(in oklab,var(--bad) 40%,transparent)}.app-root.web .dw-state-card .dw-note{margin:0;color:var(--text);font-size:15px;line-height:1.5}@media (max-height:960px){.app-root.web .w-nav-item{padding-top:6px;padding-bottom:6px}.app-root.web .w-nav-sec{margin-top:10px}}.app-root.web .dw-cfg-row{grid-template-columns:170px minmax(0,1fr)}@media (max-width:640px){.app-root.web .dw-cfg-row{grid-template-columns:minmax(0,1fr);gap:6px}}.app-root.web .dw-proj-card{padding:18px 20px;border:0;border-radius:var(--radius);background:var(--bg-alt);margin-bottom:var(--space-4)}.app-root.web .dw-proj-card .dw-model-form{background:var(--bg-soft)}.app-root.web p.dw-kpi-rate{margin:8px 0 2px}.app-root.web .dw-progress .dw-label{color:var(--text);font-weight:600}.app-root.web .dw-progress{min-width:0}.app-root.web .dw-progress .dw-line{flex-wrap:wrap;align-items:baseline;gap:4px 12px}.app-root.web .dw-progress .dw-meta{white-space:normal;overflow:visible;text-overflow:clip}.app-root.web .dw-progress-steps li,.app-root.web .dw-progress-todos li{overflow-wrap:anywhere;word-break:break-word}.app-root.web .dw-older{margin-top:12px}.app-root.web .dw-older>summary{cursor:pointer;display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-weight:500;font-size:14px;list-style:none}.app-root.web .dw-older>summary::-webkit-details-marker{display:none}.app-root.web .dw-older>summary:before{content:"▸";margin-right:8px}.app-root.web .dw-older[open]>summary:before{content:"▾"}.app-root.web .dw-older>.tbl{margin-top:10px}.app-root.web .w-subtabs{flex-shrink:0;display:flex;gap:12px;margin:0 0 16px -6px;max-width:calc(100% + 6px);box-shadow:inset 0 -1px 0 var(--border);overflow-x:auto;scrollbar-width:none}.app-root.web .w-subtab{position:relative;flex:none;height:38px;padding:0 6px;border:0;background:none;font:inherit;font-size:14px;font-weight:500;color:var(--text-soft);cursor:pointer;white-space:nowrap;transition:color .16s ease}.app-root.web .w-subtab:hover,.app-root.web .w-subtab.is-on{color:var(--text)}.app-root.web .w-subtab.is-on:after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;border-radius:var(--radius-pill);background:var(--text)}.app-root.web .w-subtab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius)}.app-root.web .w-subtabs--in{box-shadow:none;gap:8px}.app-root.web .w-subtabs--in .w-subtab{height:32px;font-size:13px}.app-root.web .w-subtabs--in .w-subtab.is-on:after{background:var(--text)}.app-root.web .dw-set-row{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px 32px;align-items:start}@media (min-width:1400px){.app-root.web .dw-set-row{grid-template-columns:390px minmax(0,1fr)}}.app-root.web .dw-set-label .dw-sec-title{margin:0}.app-root.web .dw-set-label .pane-desc{margin-top:6px}.app-root.web .dw-set-now{display:flex;flex-direction:column;gap:2px;margin:12px 0 0;font-size:13px;font-weight:500;color:var(--text)}.app-root.web .dw-set-now span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-root.web .dw-set-panel .dw-model-form .dw-label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-root.web .pane-desc{text-wrap:wrap}.app-root.web .dw-set-panel{min-width:0;container-type:inline-size;padding:16px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-set-panel .dw-model-form{padding:0;border-radius:0;background:transparent}.app-root.web .dw-set-panel .dw-model-form{grid-template-columns:minmax(0,1fr)}.app-root.web .dw-set-panel .dw-model-form .dw-model-wide{grid-column:auto}@container (min-width:548px){.app-root.web .dw-set-panel .dw-model-form{grid-template-columns:repeat(2,minmax(0,1fr))}.app-root.web .dw-set-panel .dw-model-form .dw-model-wide{grid-column:span 2}}@container (min-width:828px){.app-root.web .dw-set-panel .dw-model-form{grid-template-columns:repeat(3,minmax(0,1fr))}}.app-root.web .dw-set-panel>.dw-banner{margin:0 0 12px}.app-root.web .dw-set-panel .dw-model-form{margin-top:0}.app-root.web .dw-set-panel .dw-model-form label,.app-root.web .dw-set-panel .dw-model-form .dw-model-field{justify-content:flex-end}.app-root.web .dw-set-panel>.dw-stack{padding:0;background:transparent}.app-root.web .dw-set-foot{align-items:center}.app-root.web .dw-set-foot>.dw-sec-meta{margin-right:auto}.app-root.web .dw-set-foot .btn-primary:disabled{background:var(--text);color:var(--on-accent);opacity:.45}.app-root.web .dw-set-secret{display:flex;align-items:center;gap:8px}.app-root.web .dw-set-secret .dw-field{flex:1 1 auto;width:auto;min-width:0}.app-root.web .dw-egress li{flex-wrap:nowrap}.app-root.web .dw-egress li .dw-mono-sm{flex:1 1 auto;min-width:0}.app-root.web .dw-egress li .dw-field{width:auto;flex:0 0 150px}@media (max-width:999px){.app-root.web .dw-set-row{grid-template-columns:minmax(0,1fr)}}.app-root.web .dw-set-panel .dw-field{box-sizing:border-box;height:36px}.app-root.web .dw-set-panel .btn,.app-root.web .dw-egress li .btn,.app-root.web .dw-egress-add .btn{height:36px}.app-root.web .dw-egress li .dw-field,.app-root.web .dw-egress-add .dw-field{box-sizing:border-box;height:36px}.app-root.web .dw-egress-add{flex-wrap:nowrap}.app-root.web .dw-egress-add .dw-field{flex:1 1 auto;width:auto;min-width:0}.app-root.web .dw-egress-label{display:flex;align-items:center;gap:8px;margin-top:10px}.app-root.web .dw-egress--cols{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));column-gap:24px}.app-root.web .dw-egress-remove{flex:none;height:36px;padding:0 6px;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--bad);cursor:pointer}.app-root.web .dw-egress-remove:hover{text-decoration:underline;text-underline-offset:3px}.app-root.web .dw-egress-remove:focus-visible{outline:2px solid var(--bad);outline-offset:-2px;border-radius:var(--radius)}.app-root.web .tbl--log td.dw-mono{white-space:nowrap}.app-root.web .dw-art--neutral{--art-ink:var(--text-soft)}.app-root.web .dw-art--ok{--art-ink:var(--ok)}.app-root.web .dw-art--warn{--art-bg:var(--warn-tint);--art-ink:var(--warn)}.app-root.web .dw-art--bad{--art-bg:var(--bad-tint);--art-ink:var(--bad)}.app-root.web .dw-art--wait{--art-bg:var(--accent-tint);--art-ink:var(--accent-strong)}.app-root.web .dw-tile{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius);color:var(--text)}.app-root.web .dw-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:40px}.app-root.web .dw-tile-aside{display:flex;align-items:center;gap:6px;margin-left:auto;white-space:nowrap}.app-root.web .dw-tile-title{font-size:17px;line-height:1.25;font-weight:600;color:var(--art-title);overflow-wrap:anywhere}.app-root.web .dw-tile-body{display:flex;flex-direction:column;gap:8px;min-width:0}.app-root.web .dw-tile-foot{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-top:auto;padding-top:2px}.app-root.web .dw-tile-meta{margin-left:auto}.app-root.web .dw-tile-action{flex:none}.app-root.web .dw-tile .dw-art-motif{top:auto;bottom:12px;right:12px;width:calc(50% - 12px);height:calc(50% - 12px)}.app-root.web .dw-tile--off .dw-art-ico{opacity:.55}.app-root.web .dw-pack-id{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.app-root.web .dw-tile .dw-kpi-n{color:var(--art-ink)}.app-root.web .dw-kpi-of{font-size:.55em;color:var(--text-soft)}.app-root.web .dw-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:8px}.app-root.web .dw-scope{gap:10px}.app-root.web .dw-levels{margin-top:12px}.app-root.web .dw-levels>.dw-sec-head{flex-direction:column;align-items:flex-start;gap:2px;margin:28px 0 4px}.app-root.web .dw-levels>.dw-sec-head .dw-sec-meta{max-width:none;text-align:left;text-wrap:pretty}.app-root.web .dw-set-row--compact{align-items:center}.app-root.web .dw-set-row--compact .dw-set-now{display:none}.app-root.web .dw-set-panel textarea.dw-field{height:auto;min-height:96px;resize:vertical;line-height:1.5}.app-root.web .dw-applied{padding:10px 12px;margin-bottom:10px;border-radius:var(--radius);background:var(--bg-soft)}.app-root.web .dw-applied pre{margin:4px 0 0;white-space:pre-wrap;font-family:var(--font-mono);font-size:13px;color:var(--text)}.app-root.web .dw-over{color:var(--bad)}.app-root.web .dw-meter{display:grid;gap:6px;min-width:220px}.app-root.web .dw-meter .dw-line{justify-content:space-between;gap:12px}.app-root.web .dw-meter-track{height:8px;border-radius:var(--radius-pill);background:var(--bg-alt);overflow:hidden}.app-root.web .dw-meter-track span{display:block;height:100%;border-radius:inherit;background:var(--text)}.app-root.web .dw-meter-track span.is-full{background:var(--bad)}@media (max-width:480px){.app-root.web .dw-kpis{grid-template-columns:minmax(0,1fr)}}.app-root.web input[type=file].dw-field{box-sizing:border-box;height:36px;padding:3px}.app-root.web input[type=file].dw-field::file-selector-button{height:28px;margin-right:12px;box-sizing:border-box}.app-root.web .dw-model-grid{margin-top:12px}.app-root.web .dw-model-dep{font-size:14px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.app-root.web .dw-model-ep{font-size:12px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word}.app-root.web .dw-model-back{font-size:12px;font-weight:600;color:var(--text)}.app-root.web .dw-mform{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.app-root.web .dw-mgroup{display:flex;flex-direction:column;gap:14px;margin:0;padding:16px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-mgroup .dw-meta{white-space:normal;overflow:visible;text-overflow:clip}.app-root.web .dw-mgroup-title{margin:0;font-size:14px;font-weight:600;color:var(--text)}.app-root.web .dw-mgroup label.dw-check-line{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;font-weight:500}.app-root.web .dw-mgroup .dw-field{box-sizing:border-box;width:100%;height:36px}.app-root.web .dw-tile .dw-art-motif--logo{width:58%;height:58%;stroke:none}.app-root.web :is(.dw-health-grid,.dw-pack-grid,.dw-kpi-grid,.dw-model-grid){display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1359px){.app-root.web :is(.dw-health-grid,.dw-pack-grid,.dw-kpi-grid,.dw-model-grid){grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1099px){.app-root.web :is(.dw-health-grid,.dw-pack-grid,.dw-kpi-grid,.dw-model-grid){grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:759px){.app-root.web :is(.dw-health-grid,.dw-pack-grid,.dw-kpi-grid,.dw-model-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1360px){.app-root.web :is(.dw-pack-grid,.dw-kpi-grid){grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:559px){.app-root.web :is(.dw-health-grid,.dw-pack-grid,.dw-kpi-grid,.dw-model-grid){grid-template-columns:minmax(0,1fr)}}.app-root.web .dw-health-grid{grid-auto-rows:1fr;margin-bottom:12px}.app-root.web .dw-health-grid--need{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.app-root.web .dw-health-grid--ok{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px}.app-root.web .dw-health-tile .dw-tile-summary{display:block;max-width:none;overflow:visible;-webkit-line-clamp:unset}.app-root.web .dw-health-grid--need .dw-tile-summary,.app-root.web .dw-health-grid--need .dw-tile-body{max-width:70%}.app-root.web .dw-health-grid--ok .dw-tile-front .dw-tile-summary,.app-root.web .dw-health-grid--ok>.dw-tile>.dw-tile-summary{max-width:64%}.app-root.web .dw-health-grid .dw-tile .dw-art-motif{width:calc(30% - 12px);height:calc(42% - 12px)}@media (max-width:559px){.app-root.web .dw-health-grid--ok .dw-tile-front .dw-tile-summary,.app-root.web .dw-health-grid--ok>.dw-tile>.dw-tile-summary{max-width:none}}.app-root.web .dw-health-tile .dw-health-detail{margin:0}.app-root.web .dw-health-path{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.app-root.web .dw-health-scope{margin-bottom:10px}.app-root.web .dw-fail-advice{margin:0;font-size:13px;line-height:1.45;color:var(--text)}.app-root.web .dw-tile--flip{padding:0;perspective:1200px}.app-root.web .dw-tile-faces{display:grid;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.3,.7,.2,1)}.app-root.web .dw-tile--flip.is-flipped .dw-tile-faces{transform:rotateY(180deg)}.app-root.web .dw-tile-face{grid-area:1 / 1;position:relative;isolation:isolate;display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.app-root.web .dw-tile-back{transform:rotateY(180deg)}.app-root.web .dw-tile-hint{margin-top:auto;font-size:12px;color:var(--text-soft)}.app-root.web .dw-tile-summary{position:relative;margin:6px 0 0;max-width:56%;font-size:13px;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-root.web .dw-tile-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border:0;background:transparent;cursor:pointer;border-radius:inherit}.app-root.web .dw-tile-hit:focus-visible{outline:2px solid var(--run);outline-offset:-3px}.app-root.web .dw-tile--flip.is-flipped .dw-tile-hit{pointer-events:none}.app-root.web .dw-tile--flip:not(.is-flipped) .dw-tile-front{z-index:4;pointer-events:none}.app-root.web .dw-tile--flip:not(.is-flipped) .dw-tile-front .dw-help{pointer-events:auto}@media (prefers-reduced-motion:reduce){.app-root.web .dw-tile-faces{transition:none}}.app-root.web .dw-tile--flip .dw-art-motif{bottom:12px;right:12px;width:calc(44% - 12px);height:calc(50% - 12px)}.app-root.web .dw-tile-empty{margin:0;font-size:14px;color:var(--text-soft)}.app-root.web .dw-mbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.app-root.web .dw-mbody>.dw-banner,.app-root.web .dw-mbody>.dw-mnotes{grid-column:1 / -1}.app-root.web .dw-mnotes{display:flex;flex-direction:column;gap:8px}.app-root.web .dw-mnotes:empty{display:none}.app-root.web .dw-prov{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-root.web .dw-prov-opt{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font:inherit;font-weight:600;font-size:14px;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.app-root.web .dw-prov-logo{display:flex;flex:none}.app-root.web .dw-prov-opt svg{width:22px;height:22px}.app-root.web .dw-prov-opt:hover{border-color:var(--text)}.app-root.web .dw-prov-opt.is-on{border-color:var(--text);background:var(--bg-alt);color:var(--text);box-shadow:0 0 0 2px color-mix(in oklab,var(--text) 22%,transparent)}.app-root.web .dw-prov-opt:focus-visible{outline:2px solid var(--run);outline-offset:2px}@media (max-width:820px){.app-root.web .dw-mbody{grid-template-columns:minmax(0,1fr)}}.app-root.web .dw-mgroup--conn{grid-row:1 / span 2}.app-root.web .dw-mnotes p{margin:0}@media (max-width:820px){.app-root.web .dw-mgroup--conn{grid-row:auto}}.app-root.web .dw-flowtools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin:4px 0}.app-root.web .dw-flowsearch{width:300px;max-width:100%;height:36px;box-sizing:border-box}.app-root.web .dw-seg-n{margin-left:4px;font-size:12px;font-weight:600;color:var(--muted)}.app-root.web .seg-btn.active .dw-seg-n{color:inherit;opacity:.8}.app-root.web .dw-flowgroup{margin-top:22px}.app-root.web .dw-flowgroup-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:10px}.app-root.web .dw-flowgroup-head .dw-sec-title{margin:0}.app-root.web .dw-flowgroup-head .btn{margin-left:auto}.app-root.web .dw-flowlines{display:grid;gap:10px}.app-root.web .dw-flowline{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head now" "strip strip";gap:10px 16px;align-items:center;width:100%;padding:14px 16px;border:0;border-radius:var(--radius);background:var(--bg-alt);color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:box-shadow .15s ease}.app-root.web .dw-flowline.has-act{grid-template-areas:"head now" "strip act"}.app-root.web .dw-flowline:hover{box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--text) 28%,transparent)}.app-root.web .dw-flowline:has(.dw-flowline-open:focus-visible){outline:2px solid var(--run);outline-offset:2px}.app-root.web .dw-flowline-open{min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.app-root.web .dw-flowline-open:focus-visible{outline:none}.app-root.web .dw-flowline-open:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.app-root.web .dw-flowline-act{grid-area:act;position:relative;z-index:1;display:flex;justify-content:flex-end;gap:8px}.app-root.web .dw-flowline-who{margin-left:6px;font-weight:400;color:var(--text-soft)}.app-root.web .dw-flowline-who.is-late{color:var(--bad)}.app-root.web .dw-flowline-run{background:var(--bg-alt);border-color:transparent}.app-root.web .dw-flowgroup-empty{margin:0;padding:12px 16px;border-radius:var(--radius);background:var(--bg-alt);font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .dw-flowline-head{grid-area:head;display:flex;align-items:center;gap:10px;min-width:0}.app-root.web .dw-flowline-title{min-width:0;font-size:var(--type-callout);font-weight:600;overflow-wrap:anywhere}.app-root.web .dw-flowline-now{grid-area:now;display:inline-flex;align-items:center;gap:6px;font-size:var(--type-subhead);font-weight:600;white-space:nowrap}.app-root.web .dw-strip{grid-area:strip;display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin:0;padding:0;list-style:none}.app-root.web .dw-strip-node{display:flex;align-items:center}.app-root.web .dw-strip-link{width:18px;height:2px;margin:0 3px;border-radius:var(--radius-pill);background:var(--border-strong)}.app-root.web .dw-strip-node--done>.dw-strip-link,.app-root.web .dw-strip-node--run>.dw-strip-link,.app-root.web .dw-strip-node--check>.dw-strip-link{background:var(--ok)}.app-root.web .dw-strip-pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--bg-hover);color:var(--text-soft);font-size:12px;font-weight:600}.app-root.web .dw-strip-node--done .dw-strip-pill{background:var(--ok-tint);color:var(--ok)}.app-root.web .dw-strip-node--run .dw-strip-pill,.app-root.web .dw-strip-node--check .dw-strip-pill{background:var(--run-tint);color:var(--run)}.app-root.web .dw-strip-node--waiting .dw-strip-pill{background:transparent;border:1px dashed var(--border-strong);color:var(--text-soft)}.app-root.web .dw-strip-node--gate .dw-strip-pill,.app-root.web .dw-strip-node--ask .dw-strip-pill{background:var(--accent-tint);color:var(--accent-strong)}.app-root.web .dw-strip-node--human .dw-strip-pill{background:var(--bg-soft);border-color:var(--border-strong);color:var(--text)}.app-root.web .dw-strip-node--skipped .dw-strip-pill{opacity:.5;text-decoration:line-through}.app-root.web .dw-strip-count{margin-left:auto;padding-left:14px;font-size:12px;font-weight:600;color:var(--text-soft)}@media (max-width:640px){.app-root.web .dw-flowline{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "now" "strip"}.app-root.web .dw-flowline.has-act{grid-template-areas:"head" "now" "strip" "act"}.app-root.web .dw-flowline-head{flex-wrap:wrap;row-gap:4px}.app-root.web .dw-flowline-head .dw-flowline-open{flex-basis:100%;order:3}.app-root.web .dw-flowline-act{justify-content:flex-start}.app-root.web .dw-flowsearch{width:100%}.app-root.web .dw-strip-link{width:10px;margin:0 2px}.app-root.web .dw-strip-pill{padding:0 8px}.app-root.web .dw-strip-count{flex-basis:100%;margin-top:2px;padding-left:0;text-align:right}}.app-root.web .dw-graph{display:flex;flex-direction:column;gap:var(--space-3);flex:1;min-height:0}.app-root.web .dw-graph-sec{display:flex;flex-direction:column}.app-root.web .dw-graph-frame{flex:1 1 auto}.app-root.web .dw-graph-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.app-root.web .dw-graph-hint{margin:0;padding:8px 12px;border-radius:var(--radius);background:var(--bg-alt);font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .dw-graph-help{min-width:28px;padding:0 8px;font-weight:600}.app-root.web .dw-graph-tools{display:inline-flex;align-items:center;gap:6px}.app-root.web .dw-graph-zoom{min-width:3.2em;text-align:center;font-size:var(--type-footnote);font-variant-numeric:tabular-nums;color:var(--text-soft)}.app-root.web .dw-graph-frame{position:relative;overflow:hidden;border-radius:var(--radius);background:color-mix(in oklab,var(--bg-soft) 55%,transparent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='1' cy='1' r='1' fill='%238a94a6' fill-opacity='.3'/%3E%3C/svg%3E");background-size:22px 22px;cursor:grab;touch-action:pan-y;transition:height .3s var(--motion-ease)}.app-root.web .dw-graph-frame.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.app-root.web .dw-graph-stage{position:absolute;left:0;top:0;transform-origin:0 0;transition:transform .38s var(--motion-ease)}.app-root.web .is-dragging .dw-graph-stage{transition:none}.app-root.web .dw-gedges{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.app-root.web .dw-gnode{position:absolute;margin:0;justify-content:center;box-sizing:border-box;animation:dw-gnode-in .45s var(--motion-ease) backwards;animation-delay:calc(var(--col,0) * 70ms);transition:opacity .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s var(--motion-ease)}.app-root.web .dw-gnode.is-dim{opacity:.3}.app-root.web .dw-gnode.s-gate,.app-root.web .dw-gnode.s-ask{animation:dw-gnode-in .45s var(--motion-ease) backwards;animation-delay:calc(var(--col,0) * 70ms)}.app-root.web .dw-gnode.s-run,.app-root.web .dw-gnode.s-check{background:var(--bg-alt);background-image:none}.app-root.web .dw-gnode,.app-root.web .dw-gnode:hover,.app-root.web .dw-gnode.is-sel{box-shadow:none}.app-root.web .dw-gnode.is-sel{outline:2px solid var(--text);outline-offset:0}.app-root.web .dw-gnode-round{margin-left:auto;flex-shrink:0;padding:0 7px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--text) 10%,transparent);color:var(--text);font-size:var(--type-caption2);font-weight:600;line-height:18px;white-space:nowrap}@keyframes dw-gnode-in{0%{opacity:0;transform:translateY(8px) scale(.97)}}.app-root.web .dw-gedge{fill:none;stroke:var(--border-strong);stroke-width:2;transition:opacity .2s ease,stroke-width .2s ease,stroke .2s ease}.app-root.web .dw-gedge:not(.is-loop){stroke-dasharray:1;stroke-dashoffset:0;animation:dw-gedge-draw .6s var(--motion-ease) backwards;animation-delay:calc(var(--col,0) * 70ms + .12s)}@keyframes dw-gedge-draw{0%{stroke-dashoffset:1}}.app-root.web .dw-gedge.is-done{stroke:var(--ok)}.app-root.web .dw-gedge.is-live{stroke:var(--run)}.app-root.web .dw-gedge.is-wait{stroke:var(--accent)}.app-root.web .dw-gedge.is-loop{stroke:var(--warn);stroke-width:1.75;stroke-dasharray:6 6;animation:dw-gloop-in .5s ease backwards;animation-delay:.5s}@keyframes dw-gloop-in{0%{opacity:0}}.app-root.web .dw-gedge.is-hot{stroke-width:3}.app-root.web .dw-gedge.is-dim,.app-root.web .dw-gflow.is-dim,.app-root.web .dw-gloop.is-dim{opacity:.12}.app-root.web .dw-gflow{fill:none;stroke:var(--on-fill);stroke-opacity:.85;stroke-width:2;stroke-dasharray:3 14;stroke-linecap:round;animation:dw-gflow 1.1s linear infinite;transition:opacity .2s ease}.app-root.web .dw-gedge.is-loop.is-live{animation:dw-gloop-run 1s linear infinite}@keyframes dw-gflow{to{stroke-dashoffset:-17}}@keyframes dw-gloop-run{to{stroke-dashoffset:-12}}.app-root.web .dw-garrow{fill:var(--border-strong)}.app-root.web .dw-garrow{animation:dw-gloop-in .2s ease backwards;animation-delay:.7s}.app-root.web .dw-garrow.is-done{fill:var(--ok)}.app-root.web .dw-garrow.is-live{fill:var(--run)}.app-root.web .dw-garrow.is-wait,.app-root.web .dw-garrow.is-loop{fill:var(--accent)}.app-root.web .dw-gloop{position:absolute;transform:translate(-50%,-50%);padding:2px 9px;border-radius:var(--radius-pill);border:1px solid color-mix(in oklab,var(--warn) 55%,transparent);background:var(--bg-soft);color:var(--text);font-size:var(--type-caption2);font-weight:600;white-space:nowrap;pointer-events:none;transition:opacity .2s ease;animation:dw-gloop-in .5s ease backwards;animation-delay:.6s}.app-root.web .dw-graph-par{position:absolute;pointer-events:none}.app-root.web .dw-graph-legend{padding-top:2px}.app-root.web .dw-graph-loopkey{display:inline-block;width:18px;height:0;margin-right:6px;vertical-align:middle;border-top:2px dashed var(--warn)}.app-root.web .dw-flowtop{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:var(--space-5);align-items:stretch}.app-root.web .dw-flowside{padding-right:var(--space-5);border-right:1px solid var(--border)}.app-root.web .dw-flowside{contain:size;min-height:420px;display:flex;flex-direction:column}.app-root.web .dw-flowside>.fc{flex:1 1 auto;min-height:0}.app-root.web .dw-flowside .fc-sec--tickets{flex:1 1 auto;min-height:0}.app-root.web .dw-flowside .fc-sec--tickets{display:flex;flex-direction:column}.app-root.web .dw-flowside .fc-ticket-groups{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:-3px 0;padding:3px}.app-root.web .dw-graph-sec{padding:0;border-top:0;display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.app-root.web .dw-ftabs{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border)}.app-root.web .dw-ftabs-row{align-self:flex-start;max-width:100%;flex-wrap:wrap}.app-root.web .dw-ftabs-row .seg-btn{display:inline-flex;align-items:center;gap:2px}.app-root.web .dw-ftabs-row .seg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app-root.web .dw-ftabs-wait{width:7px;height:7px;margin-left:5px;border-radius:50%;background:var(--accent)}.app-root.web .dw-ftabs-panel{min-width:0}@media (max-width:1180px){.app-root.web .dw-flowtop{grid-template-columns:minmax(0,1fr)}.app-root.web .dw-flowside{padding:0 0 var(--space-5);border-right:0;border-bottom:1px solid var(--border);contain:none;min-height:0}.app-root.web .dw-flowside .fc-ticket-groups{max-height:360px}}.app-root.web .fc{display:flex;flex-direction:column;gap:var(--space-5)}.app-root.web .fc-sec{display:flex;flex-direction:column;gap:var(--space-3)}.app-root.web .fc-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .fc-label .is-bad{color:var(--bad);font-weight:600}.app-root.web .fc-label .is-wait{color:var(--accent);font-weight:600}.app-root.web .fc-head,.app-root.web .fc-hero,.app-root.web .fc-actions,.app-root.web .fc-write{border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .fc-head.is-ok,.app-root.web .fc-hero.is-ok{background:var(--ok-tint)}.app-root.web .fc-head.is-run,.app-root.web .fc-hero.is-run,.app-root.web .fc-head.is-brand,.app-root.web .fc-hero.is-brand,.app-root.web .fc-head.is-teal,.app-root.web .fc-hero.is-teal{background:var(--bg-alt)}.app-root.web .fc-head{display:flex;flex-direction:column;gap:8px;padding:16px 18px}.app-root.web .fc-head-top{display:flex;align-items:center;gap:var(--space-3)}.app-root.web .fc-head-top .dw-state{margin-left:auto;white-space:nowrap}.app-root.web .fc-head-name{margin:0;min-width:0;font-size:var(--type-headline);font-weight:600;line-height:1.25}@media (max-width:640px){.app-root.web .fc-head-top{flex-wrap:wrap;row-gap:6px}.app-root.web .fc-head-top .fc-head-name{min-width:auto}}.app-root.web .fc-head-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .fc-head-round{margin-left:auto;padding:0 8px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--text) 10%,transparent);color:var(--text);font-size:var(--type-caption2);font-weight:600;line-height:20px}.app-root.web .fc-links{display:flex;flex-direction:column;gap:8px}.app-root.web .fc-link-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.app-root.web .fc-link-label{flex:0 0 90px;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .fc-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--border-strong);background:transparent;color:var(--text);font:inherit;font-family:var(--font-mono);font-size:var(--type-subhead);font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease}.app-root.web .fc-chip:hover{border-color:var(--border-strong);background:var(--bg-hover)}.app-root.web .fc-actions{display:flex;flex-direction:column;gap:12px;padding:14px 16px}.app-root.web .fc-action{display:flex;flex-direction:column;gap:8px}.app-root.web .fc-action-why{font-size:var(--type-callout);color:var(--text-soft)}.app-root.web .fc-action-do{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.app-root.web .fc-action-do .dw-field{width:auto;flex:1 1 130px;min-width:0;height:var(--control-h-sm,36px);padding-top:0;padding-bottom:0}.app-root.web .fc-pre{margin:0;padding:12px 14px;max-height:360px;overflow:auto;white-space:pre-wrap;border-radius:var(--radius);background:var(--bg-alt);font-size:var(--type-footnote)}.app-root.web .fc-rounds{list-style:none;margin:0;padding:0}.app-root.web .fc-rounds>li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:10px 0}.app-root.web .fc-rounds>li+li{border-top:1px solid var(--border)}.app-root.web .fc-round-n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--bg-alt);font-size:var(--type-caption);font-weight:600}.app-root.web .fc-rounds>li.is-done .fc-round-n{background:var(--ok-tint)}.app-root.web .fc-round-body{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:var(--type-callout)}.app-root.web .fc-round-change{font-weight:600;overflow-wrap:anywhere}.app-root.web .fc-round-change.is-file{font-weight:400}.app-root.web .dw-intent{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.app-root.web .dw-accept-back>.dw-intent{flex-basis:100%}.app-root.web .dw-accept-back>.btn{height:32px}@media (max-width:700px){.app-root.web .dw-accept-back select,.app-root.web .dw-accept-back input,.app-root.web .dw-accept-back>.btn{flex:1 1 100%}}.app-root.web .fc-round-reasons{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:var(--type-subhead)}.app-root.web .fc-round-reasons>li{position:relative;padding-left:16px;line-height:1.45}.app-root.web .fc-round-reasons>li:before{content:"•";position:absolute;left:3px;color:var(--text-soft)}.app-root.web .fc-round-reasons>li.is-fold:before{content:none}.app-root.web .fc-round-reasons summary{cursor:pointer;list-style:none}.app-root.web .fc-round-reasons summary::-webkit-details-marker{display:none}.app-root.web .fc-round-reasons summary:before{content:"▸";position:absolute;left:2px;font-size:.8em;line-height:1.8;color:var(--text-soft)}.app-root.web .fc-round-reasons details[open]>summary:before{content:"▾"}.app-root.web .fc-round-reasons p{margin:4px 0 2px;color:var(--text-soft);font-size:var(--type-footnote);white-space:pre-wrap}.app-root.web .fc-hero{display:flex;align-items:flex-start;gap:var(--space-3);padding:16px 18px}.app-root.web .fc-hero-ico{display:grid;place-items:center;flex-shrink:0;margin-top:2px;color:var(--text-soft)}.app-root.web .fc-hero-ico svg{width:18px;height:18px}.app-root.web .fc-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:var(--type-callout);line-height:1.45}.app-root.web .fc-hero-text strong{font-size:var(--type-body)}.app-root.web .fc-facts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.app-root.web .fc-meter{height:8px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--text) 10%,transparent);overflow:hidden}.app-root.web .fc-meter>span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--run);transition:width .5s var(--motion-ease)}.app-root.web .fc-meter.is-wait>span{background:var(--accent)}.app-root.web .fc-meter.is-bad>span{background:var(--bad)}.app-root.web .fc-list{list-style:none;margin:0;padding:0}.app-root.web .fc-row{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:var(--type-callout)}.app-root.web .fc-row+.fc-row{border-top:1px solid var(--border)}.app-root.web .fc-row-end{margin-left:auto;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .fc-timeline{list-style:none;margin:0;padding:0}.app-root.web .fc-event{position:relative;display:grid;grid-template-columns:42px 12px minmax(0,1fr);gap:10px;padding-bottom:18px}.app-root.web .fc-event:last-child{padding-bottom:0}.app-root.web .fc-event:before{content:"";position:absolute;left:57px;top:16px;bottom:-2px;width:2px;background:var(--border-strong)}.app-root.web .fc-event:last-child:before{display:none}.app-root.web .fc-event-at{padding-top:1px;font-family:var(--font-mono);font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .fc-event-dot{width:12px;height:12px;margin-top:3px;border-radius:50%;background:var(--bg-soft);border:2.5px solid var(--text-soft);position:relative;z-index:1}.app-root.web .fc-event-body{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:var(--type-callout);line-height:1.45}.app-root.web .fc-writes{display:flex;flex-direction:column;gap:var(--space-3)}.app-root.web .fc-writes-sub{margin:var(--space-2) 0 0;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .fc-write{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.app-root.web .fc-write.is-pending,.app-root.web .fc-write.is-held{background:var(--accent-tint)}.app-root.web .fc-write.is-applied,.app-root.web .fc-write.is-confirmed{background:var(--ok-tint)}.app-root.web .fc-write-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.app-root.web .fc-write-sum{margin:0;font-size:var(--type-body);font-weight:600}.app-root.web .fc-write-why{font-weight:400;color:var(--text-soft)}.app-root.web .fc-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.app-root.web .fc-items li{display:flex;align-items:baseline;gap:8px;font-size:var(--type-callout)}.app-root.web .fc-items li.is-bad{color:var(--bad)}.app-root.web .fc-item-kind{flex-shrink:0;padding:0 8px;border-radius:var(--radius);background:color-mix(in oklab,var(--text) 9%,transparent);font-size:var(--type-caption2);font-weight:600;line-height:18px}.app-root.web .fc-item-text{min-width:0;overflow-wrap:anywhere}.app-root.web .fc-write-foot{display:flex;flex-wrap:wrap;gap:8px}.app-root.web .fc-labelbox{display:flex;flex-direction:column;gap:2px}.app-root.web .fc-hint{margin:0;font-size:var(--type-subhead);color:var(--muted);line-height:1.4}.app-root.web .fc-action+.fc-action{padding-top:12px;border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent)}.app-root.web .fc-fold-btn{align-self:flex-start;padding:4px 0;border:0;background:transparent;color:var(--text);font:inherit;font-size:var(--type-subhead);font-weight:600;cursor:pointer}.app-root.web .fc-fold-btn:after{content:" ▸";font-size:.8em}.app-root.web .fc-fold-btn[aria-expanded=true]:after{content:" ▾"}.app-root.web .fc-fold-btn:hover{text-decoration:underline}.app-root.web .fc-fold{border-top:1px solid var(--border);padding-top:var(--space-3)}.app-root.web .fc-fold>summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);cursor:pointer;list-style:none;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .fc-fold>summary::-webkit-details-marker{display:none}.app-root.web .fc-fold>summary:before{content:"▸";margin-right:6px;font-size:.8em}.app-root.web .fc-fold[open]>summary:before{content:"▾"}.app-root.web .fc-fold>summary>span:first-child{margin-right:auto}.app-root.web .fc-fold-state{font-weight:600}.app-root.web .fc-fold-state.is-ok{color:var(--fill-ok)}.app-root.web .fc-fold-state.is-bad{color:var(--bad)}.app-root.web .fc-fold>.fc-sec{margin-top:var(--space-4)}.app-root.web .fc-fold>.fc-rounds{margin-top:var(--space-3)}.app-root.web .dw-flowtop--solo{grid-template-columns:minmax(0,1fr)}.app-root.web .dw-code{border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;background:var(--bg-alt);margin:6px 0}.app-root.web .dw-code-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:4px 8px 4px 12px;border-bottom:1px solid var(--border)}.app-root.web .dw-code-lang{font-family:var(--font-mono);font-size:var(--type-caption);color:var(--text-soft)}.app-root.web .dw-code-pre{margin:0;padding:12px 14px;overflow:auto;font-family:var(--font-mono);font-size:13px;line-height:1.6;-moz-tab-size:2;tab-size:2;white-space:pre}.app-root.web .dw-code-pre code{font:inherit;background:none;padding:0}.app-root.web .hljs-comment,.app-root.web .hljs-quote{color:var(--muted);font-style:italic}.app-root.web .hljs-keyword,.app-root.web .hljs-selector-tag,.app-root.web .hljs-built_in,.app-root.web .hljs-doctag{color:var(--fill-neutral);font-weight:600}.app-root.web .hljs-string,.app-root.web .hljs-regexp,.app-root.web .hljs-addition{color:var(--fill-ok)}.app-root.web .hljs-number,.app-root.web .hljs-literal,.app-root.web .hljs-symbol,.app-root.web .hljs-bullet{color:var(--fill-accent)}.app-root.web .hljs-title,.app-root.web .hljs-function,.app-root.web .hljs-section,.app-root.web .hljs-name{color:var(--hue-lavender-ink);font-weight:600}.app-root.web .hljs-attr,.app-root.web .hljs-attribute,.app-root.web .hljs-variable,.app-root.web .hljs-property,.app-root.web .hljs-params{color:var(--text)}.app-root.web .hljs-type,.app-root.web .hljs-class .hljs-title,.app-root.web .hljs-tag{color:var(--fill-neutral)}.app-root.web .hljs-meta,.app-root.web .hljs-deletion{color:var(--fill-bad)}.app-root.web .dw-mm-wrap{display:flex;flex-direction:column;gap:var(--space-3);margin:6px 0}.app-root.web .dw-mm-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.app-root.web .dw-mm-hint{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .dw-mm-tools{display:inline-flex;align-items:center;gap:6px}.app-root.web .dw-mm-zoom{min-width:3.2em;text-align:center;font-size:var(--type-subhead);font-variant-numeric:tabular-nums;color:var(--text-soft)}.app-root.web .dw-mm-frame{overflow:auto;max-height:calc(94vh - 230px);min-height:200px;padding:16px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-soft);cursor:grab;touch-action:pan-y}.app-root.web .dw-mm-frame.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.app-root.web .dw-mm-host{margin:0 auto}.app-root.web .dw-mm-host svg{display:block;width:100%;height:auto;max-width:none!important}.app-root.web .dw-mm-loading{height:200px}.app-root.web .dw-mm .node,.app-root.web .dw-mm .cluster,.app-root.web .dw-mm .actor{animation:dw-mm-fade .45s var(--motion-ease) backwards;animation-delay:calc(var(--i,0) * 45ms);transition:opacity .2s ease}.app-root.web .dw-mm .edgeLabel,.app-root.web .dw-mm .messageText{animation:dw-mm-fade .4s ease backwards;animation-delay:calc(var(--i,0) * 45ms + .5s)}.app-root.web .dw-mm-edge{transition:opacity .2s ease,stroke-width .2s ease}.app-root.web .dw-mm-edge.is-drawing{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:dw-mm-draw .7s var(--motion-ease) forwards;animation-delay:calc(var(--i,0) * 55ms + .25s)}.app-root.web .dw-mm.has-hot .node:not(.is-hot),.app-root.web .dw-mm.has-hot .cluster{opacity:.25}.app-root.web .dw-mm.has-hot .dw-mm-edge:not(.is-hot){opacity:.12}.app-root.web .dw-mm-edge.is-hot{stroke-width:3px;stroke-dasharray:8 6;animation:dw-mm-flow .8s linear infinite}@keyframes dw-mm-fade{0%{opacity:0}}@keyframes dw-mm-draw{to{stroke-dashoffset:0}}@keyframes dw-mm-flow{to{stroke-dashoffset:-14}}.app-root.web .np-stats{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.app-root.web .np-stat{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--radius);font-size:var(--type-caption);line-height:1;white-space:nowrap}.app-root.web .np-stat b{font-weight:600;font-variant-numeric:tabular-nums}.app-root.web .np-stat-l{color:var(--text-soft)}.app-root.web .np-stat.is-time{background:var(--ok-tint)}.app-root.web .np-stat.is-time b{color:var(--ok)}.app-root.web .np-stat.is-calls{background:var(--bg-alt)}.app-root.web .np-stat.is-calls b{color:var(--text-soft)}.app-root.web .np-stat.is-tokens{background:color-mix(in oklab,var(--text-soft) 13%,transparent)}.app-root.web .np-stat.is-tokens b{color:var(--text-soft)}.app-root.web .np-stat-note{flex-basis:100%;font-size:var(--type-subhead);color:var(--muted)}.app-root.web .fc-fold-btn{justify-self:start}.app-root.web .np-step{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:2px 6px;margin:0 -6px;border-radius:var(--radius)}.app-root.web .np-step-ico{flex:0 0 14px;text-align:center;font-weight:600}.app-root.web .np-step.is-ok .np-step-ico{color:var(--fill-ok)}.app-root.web .np-step.is-failed{background:color-mix(in oklab,var(--fill-bad) 11%,transparent)}.app-root.web .np-step.is-failed .np-step-ico{color:var(--fill-bad)}.app-root.web .np-step.is-denied{background:var(--warn-tint)}.app-root.web .np-step.is-denied .np-step-ico{color:var(--warn)}.app-root.web .np-step.is-run .np-step-ico{color:var(--run)}.app-root.web .np-step-code{padding:0 7px;border-radius:var(--radius);background:color-mix(in oklab,var(--text) 9%,transparent);font-family:var(--font-mono);font-size:var(--type-caption);line-height:18px;color:var(--text-soft)}.app-root.web .np-step.is-failed .np-step-code{background:color-mix(in oklab,var(--fill-bad) 16%,transparent);color:var(--bad)}.app-root.web .np-stat.is-bad{background:color-mix(in oklab,var(--fill-bad) 14%,transparent)}.app-root.web .np-stat.is-bad b{color:var(--bad)}.app-root.web .fc-tickets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.app-root.web .fc-ticket{display:flex;flex-direction:column;gap:6px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.app-root.web .fc-ticket:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-hover)}.app-root.web .fc-ticket:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .fc-ticket-top{display:flex;align-items:center;gap:8px}.app-root.web .fc-ticket-state{margin-left:auto;font-size:var(--type-caption);font-weight:600;color:var(--text-soft)}.app-root.web .fc-ticket-title{font-size:var(--type-callout);font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-root.web .fc-ticket-err{font-size:var(--type-subhead);color:var(--bad)}.app-root.web .fc-ticket-meta{display:flex;align-items:center;gap:8px;min-width:0}.app-root.web .fc-ticket-who{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .tk-modal{width:min(1180px,calc(100vw - 2rem));height:min(90vh,980px);max-height:none}.app-root.web .tk-head{padding:18px var(--space-6) 14px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.app-root.web .tk-head-top{display:flex;align-items:center;gap:10px}.app-root.web .tk-title{margin:0;font-size:var(--type-title3);font-weight:600;line-height:1.3}.app-root.web .tk-sub{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:var(--type-callout)}.app-root.web .tk-none{color:var(--muted)}.app-root.web .tk-person{display:inline-flex;align-items:center;gap:7px}.app-root.web .tk-av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--bg-alt);font-size:11px;font-weight:600;color:var(--text)}.app-root.web .tk-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-6);padding:var(--space-5) var(--space-6);align-items:start}.app-root.web .tk-body>.dw-banner,.app-root.web .tk-body>.dw-note{grid-column:1 / -1}.app-root.web .tk-main{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.app-root.web .tk-sec{display:flex;flex-direction:column;gap:var(--space-3)}.app-root.web .tk-h{margin:0;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .tk-side{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .tk-facts{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:2px}.app-root.web .tk-facts dt{margin-top:10px;font-size:var(--type-caption);font-weight:600;color:var(--text-soft)}.app-root.web .tk-facts dd{margin:0;font-size:var(--type-callout);overflow-wrap:anywhere}.app-root.web .tk-tags{display:flex;flex-wrap:wrap;gap:6px}.app-root.web .tk-when{color:var(--text-soft)}.app-root.web .tk-comments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.app-root.web .tk-comments>li{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius)}.app-root.web .tk-comment-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:6px;font-size:var(--type-subhead);font-weight:600}.app-root.web .tk-comment-head time{font-weight:400;color:var(--text-soft)}.app-root.web .tk-rich{font-size:var(--type-callout);line-height:1.6;overflow-wrap:anywhere}.app-root.web .tk-rich>:first-child{margin-top:0}.app-root.web .tk-rich p,.app-root.web .tk-rich ul,.app-root.web .tk-rich ol,.app-root.web .tk-rich blockquote,.app-root.web .tk-rich pre,.app-root.web .tk-rich table{margin:0 0 10px}.app-root.web .tk-rich ul,.app-root.web .tk-rich ol{padding-left:1.4rem}.app-root.web .tk-rich h1,.app-root.web .tk-rich h2,.app-root.web .tk-rich h3,.app-root.web .tk-rich h4{margin:14px 0 6px;font-size:var(--type-body);font-weight:600}.app-root.web .tk-rich a{color:var(--text);text-decoration:underline}.app-root.web .tk-rich code,.app-root.web .tk-rich pre{font-family:var(--font-mono);font-size:.92em;background:var(--bg-alt);border-radius:var(--radius)}.app-root.web .tk-rich code{padding:1px 5px}.app-root.web .tk-rich pre{padding:10px 12px;overflow:auto;white-space:pre-wrap}.app-root.web .tk-rich blockquote{padding:2px 12px;border-left:3px solid var(--border-strong);color:var(--text-soft)}.app-root.web .tk-rich table{border-collapse:collapse;width:100%}.app-root.web .tk-rich th,.app-root.web .tk-rich td{border:1px solid var(--border);padding:5px 8px;text-align:left;vertical-align:top}.app-root.web .tk-rich th{background:var(--bg-alt)}.app-root.web .tk-img{display:inline-block;padding:1px 8px;border-radius:var(--radius);background:var(--bg-alt);color:var(--text-soft);font-size:var(--type-subhead)}@media (max-width:900px){.app-root.web .tk-body{grid-template-columns:minmax(0,1fr)}.app-root.web .tk-side{order:-1}}.app-root.web .dw-confirm-msg{margin:0;font-size:var(--type-callout);line-height:1.55}.app-root.web .dw-cancel-set{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;border:0;min-width:0}.app-root.web .dw-cancel-set legend{margin-bottom:8px;padding:0}.app-root.web .dw-cancel-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius);background:var(--bg-alt);cursor:pointer}.app-root.web .dw-cancel-opt input{margin-top:3px;flex:none}.app-root.web .dw-cancel-opt span{display:flex;flex-direction:column;gap:2px;min-width:0}.app-root.web .dw-cancel-opt small{font-size:var(--type-subhead);color:var(--text-soft);line-height:1.45}.app-root.web .dw-cancel-note{margin:0;font-size:var(--type-subhead);color:var(--text-soft);line-height:1.45}.app-root.web .dw-cancel-kinds{display:flex;flex-wrap:wrap;gap:10px 18px}.app-root.web .dw-cancel-kinds .dw-check-line{font-weight:500}.app-root.web .dw-cancel-confirm{display:flex;flex-direction:column;gap:6px}.app-root.web .dw-who{display:inline-flex;align-items:center;gap:10px;min-width:0}.app-root.web .dw-row-end{width:1%;white-space:nowrap;text-align:right}.app-root.web .dw-role-plain{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .dw-invite-form{display:flex;flex-direction:column;gap:var(--space-4)}.app-root.web .dw-invite-form label,.app-root.web .dw-invite-field,.app-root.web .dw-invite-roles{display:flex;flex-direction:column;gap:6px}.app-root.web .dw-flowtools .seg{max-width:100%;overflow-x:auto;scrollbar-width:none}.app-root.web .dw-proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-4);align-items:stretch}.app-root.web .dw-proj{display:flex}.app-root.web .dw-proj>.dw-tile{flex:1}.app-root.web .dw-proj-status{margin:0;font-size:13px;font-weight:600;color:var(--text)}.app-root.web .dw-proj-name{display:flex;flex-direction:column;gap:1px;min-width:0}.app-root.web .dw-proj-name b{font-size:var(--type-headline);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-proj-name span{font-size:var(--type-subhead);font-weight:400;color:var(--text-soft)}.app-root.web .dw-proj-kv{margin:0;display:flex;flex-direction:column;gap:6px}.app-root.web .dw-proj-kv>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;align-items:baseline}.app-root.web .dw-proj-kv dt{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .dw-proj-kv dd{margin:0;overflow-wrap:anywhere}.app-root.web .dw-proj-admins{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.app-root.web .dw-admin-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 4px;border-radius:var(--radius);background:color-mix(in oklab,var(--bg-soft) 70%,transparent);font-size:var(--type-subhead)}.app-root.web .dw-admin-chip.is-off{opacity:.55;text-decoration:line-through}.app-root.web .dw-manage{display:flex;flex-direction:column;gap:var(--space-6)}.app-root.web .dw-manage-sec{display:flex;flex-direction:column;gap:var(--space-3)}.app-root.web .dw-manage-h{margin:0;font-size:var(--type-callout);font-weight:600}.app-root.web .dw-admin-list{list-style:none;margin:0;padding:0}.app-root.web .dw-admin-list>li{display:flex;align-items:center;gap:var(--space-3);padding:10px 0}.app-root.web .dw-admin-list>li+li{border-top:1px solid var(--border)}.app-root.web .dw-admin-end{margin-left:auto;max-width:46%;text-align:right}.app-root.web .dw-admin-add{display:flex;gap:var(--space-3);align-items:center}.app-root.web .dw-admin-add .dw-field{flex:1 1 auto;min-width:0}.app-root.web .ib-group{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}.app-root.web .ib-group-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.app-root.web .ib-group-head h2{margin:0;font-size:var(--type-headline);font-weight:600}.app-root.web .ib-count{font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .ib-hint{font-size:var(--type-subhead);color:var(--muted)}.app-root.web .ib-group--stuck .ib-group-head h2{color:var(--bad)}.app-root.web .ib-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.app-root.web .ib-row{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.app-root.web .ib-row:hover{border-color:var(--border-strong);background:var(--bg-hover)}.app-root.web .ib-row:has(.ib-open:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.app-root.web .ib-open{min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.app-root.web .ib-open:focus-visible{outline:none}.app-root.web .ib-open:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.app-root.web .ib-row-tag{display:inline-flex;align-items:center;gap:2px;justify-self:start}.app-root.web .ib-row-tag .dw-help,.app-root.web .ib-row-end .btn{position:relative;z-index:1}.app-root.web .ib-row-end{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.app-root.web .ib-age{font-size:var(--type-footnote);font-weight:600;color:var(--text-soft);white-space:nowrap}.app-root.web .ib-age.is-late{color:var(--bad)}.app-root.web .ib-moved{background:var(--bg-alt)}.app-root.web .ib-next{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-6);padding:14px 16px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .ib-next h2{margin:0;font-size:var(--type-headline);font-weight:600}.app-root.web .ib-next-none{margin:0;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .ib-next-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.app-root.web .ib-next-row{display:flex;align-items:baseline;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font:inherit;text-align:left;cursor:pointer}.app-root.web .ib-next-row:hover{background:var(--bg-alt)}.app-root.web .ib-next-title{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .ib-next-at{font-size:var(--type-footnote);color:var(--text-soft);white-space:nowrap}.app-root.web .ib-group--stuck .ib-row{background:color-mix(in oklab,var(--fill-bad) 5%,transparent)}.app-root.web .ib-main{display:flex;flex-direction:column;gap:2px;min-width:0}.app-root.web .ib-title{font-size:var(--type-callout);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .ib-sub{font-size:var(--type-subhead);color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .ib-go{font-size:1.3rem;line-height:1;color:var(--muted)}@media (max-width:700px){.app-root.web .ib-row{grid-template-columns:minmax(0,1fr) auto}.app-root.web .ib-row>.ib-row-tag{grid-column:1 / -1;justify-self:start}.app-root.web .ib-row>.dw-type{display:none}.app-root.web .ib-row>.ib-row-end{grid-column:1 / -1;justify-content:flex-start}.app-root.web .ib-title,.app-root.web .ib-sub{white-space:normal}}.app-root.web .ib-row>.dw-tag{justify-self:start}.app-root.web .pj-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:0;margin:0;background:none;border:0}.app-root.web .pj-form label{display:flex;flex-direction:column;gap:6px;min-width:0}.app-root.web .pj-form .pj-wide{grid-column:1 / -1}.app-root.web .pj-create{display:flex;flex-direction:column;gap:var(--space-6)}.app-root.web .pj-sec{display:flex;flex-direction:column;gap:var(--space-3)}.app-root.web .pj-hint{margin:2px 0 0;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .pj-preview{margin:0;padding:8px 12px;border-radius:var(--radius);background:var(--ok-tint);font-size:var(--type-callout);font-weight:600}@media (max-width:640px){.app-root.web .pj-form{grid-template-columns:minmax(0,1fr)}}.app-root.web .dw-cfg-seat{display:inline-flex;align-items:center;gap:8px;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .dw-lsel{display:inline-flex;align-items:center;gap:8px;min-width:150px;max-width:100%;min-height:36px;padding:.4rem .6rem .4rem .7rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font:inherit;font-weight:400;text-align:left;cursor:pointer}.app-root.web .dw-lsel:hover{border-color:color-mix(in oklab,var(--text) 35%,var(--border-strong))}.app-root.web .dw-lsel:focus-visible,.app-root.web .dw-lsel[aria-expanded=true]{border-color:var(--run);box-shadow:0 0 0 3px color-mix(in oklab,var(--run) 22%,transparent);outline:none}.app-root.web .dw-lsel-mark{display:inline-flex;flex:0 0 16px;width:16px;height:16px;align-items:center;justify-content:center;color:var(--text)}.app-root.web .dw-lsel-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .dw-lsel-chev{flex:0 0 14px;width:14px;height:14px;color:var(--text-soft)}.app-root.web .dw-lsel-list{position:fixed;z-index:60;max-height:min(320px,60vh);overflow:auto;display:flex;flex-direction:column;padding:6px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-soft);box-shadow:var(--float-shadow)}.app-root.web .dw-lsel-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);color:var(--text);font-size:var(--type-callout);cursor:pointer;white-space:nowrap}.app-root.web .dw-lsel-opt.is-active{background:color-mix(in oklab,var(--text) 7%,transparent)}.app-root.web .dw-lsel-opt[aria-selected=true]{font-weight:600}.app-root.web .dw-lsel-tick{flex:0 0 14px;width:14px;height:14px;margin-left:auto;color:var(--run)}.app-root.web .ib-detail{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--space-5);align-items:start}.app-root.web .ib-detail.is-single{grid-template-columns:minmax(0,760px)}.app-root.web .ib-ask{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--radius);background:var(--bg-alt);border:0}.app-root.web .ib-ask--stuck{background:var(--bad-tint)}.app-root.web .ib-ask--answer{background:var(--bg-alt)}.app-root.web .ib-ask--decide{background:var(--accent-tint)}.app-root.web .ib-ask-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.app-root.web .ib-ask-meta .dw-tag{background:color-mix(in oklab,var(--bg) 60%,transparent);border-color:transparent}.app-root.web .ib-node{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--radius);background:color-mix(in oklab,var(--bg) 60%,transparent);font-family:inherit;font-variant-numeric:tabular-nums;font-size:var(--type-caption);font-weight:600}.app-root.web .ib-ask-lead{margin:0;font-size:16px;line-height:24px;font-weight:600;overflow-wrap:anywhere}.app-root.web .ib-ask-text{margin:0;font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.app-root.web .ib-ask-help{margin:0;font-size:14px;line-height:21px;color:var(--text-soft)}.app-root.web .ib-detail.is-reading{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}@media (max-width:1023px){.app-root.web .ib-detail.is-reading{grid-template-columns:minmax(0,1fr)}}.app-root.web.is-mobile .ib-detail.is-reading{grid-template-columns:minmax(0,1fr)}.app-root.web div.ib-ask-text{display:flex;flex-direction:column;gap:14px;white-space:normal;max-width:78ch}.app-root.web .ib-ask-text p{margin:0}.app-root.web .ib-ask-text ul,.app-root.web .ib-ask-text ol{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:4px}.app-root.web .ib-ask-text blockquote{margin:0;padding-left:12px;color:var(--text-soft)}.app-root.web .ib-ask-text code{font-family:var(--font-mono);font-size:.86em;padding:0 3px;border-radius:var(--radius);background:color-mix(in oklab,var(--bg) 70%,transparent);overflow-wrap:anywhere}.app-root.web .ib-ask-label{margin-bottom:2px;font-size:12px;line-height:16px;font-weight:600;color:var(--text-soft)}.app-root.web .ib-ask-rec{padding:12px 14px;border-radius:var(--radius);background:color-mix(in oklab,var(--bg-soft) 80%,transparent)}.app-root.web .ib-ask-rec .ib-ask-label{color:var(--accent-strong)}.app-root.web .ib-ask .dw-detail{background:color-mix(in oklab,var(--bg) 55%,transparent);border-color:transparent}.app-root.web .ib-ask .dw-deploy-facts{margin:0}.app-root.web .ib-act{display:flex;flex-direction:column;gap:12px;min-width:0}.app-root.web .ib-ask-act{margin-top:4px}.app-root.web .ib-facts{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .ib-facts h2{margin:0;font-size:var(--type-headline);font-weight:600}.app-root.web .ib-facts dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0;font-size:var(--type-subhead)}.app-root.web .ib-facts dt{color:var(--text-soft)}.app-root.web .ib-facts dd{margin:0;display:flex;flex-direction:column;gap:2px;font-weight:600;min-width:0}.app-root.web .ib-facts-keys{font-weight:400;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .ib-facts a{color:var(--text)}.app-root.web .ib-act .dw-edit{min-height:120px;width:100%}.app-root.web .ib-act .dw-line{margin-top:4px}@media (max-width:1023px){.app-root.web .ib-detail{grid-template-columns:minmax(0,1fr)}}.app-root.web .tk-head{gap:10px;padding:18px var(--space-6) 8px}.app-root.web .tk-ico{width:22px;height:22px;border-radius:var(--radius);display:grid;place-items:center;color:var(--on-solid)}.app-root.web .tk-ico svg{width:16px;height:16px}.app-root.web .tk-kind{font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-soft)}.app-root.web .tk-title{font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.01em}.app-root.web .tk-sub{gap:14px;color:var(--text-soft);font-size:var(--type-subhead)}.app-root.web .tk-sub .tk-person{color:var(--text);font-weight:500}.app-root.web .tk-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-size:12px;font-weight:500}.app-root.web .tk-fields{margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.app-root.web .tk-field{display:flex;flex-direction:column;gap:2px;padding:6px 0 12px;min-width:0}.app-root.web .tk-field dt{margin:0;font-size:12px;font-weight:500;color:var(--text-soft)}.app-root.web .tk-field dd{margin:0;font-size:var(--type-callout);overflow-wrap:anywhere}.app-root.web .tk-state{display:inline-flex;align-items:center;gap:7px;font-weight:600}.app-root.web .tk-state i{width:10px;height:10px;border-radius:50%;background:var(--ado-state-new)}.app-root.web .tk-state--ok i{background:var(--ado-state-done)}.app-root.web .tk-state--info i{background:var(--ado-state-active)}.app-root.web .tk-state--bad i{background:var(--ado-state-removed)}.app-root.web .tk-body{gap:var(--space-6);padding:var(--space-4) var(--space-6) var(--space-5)}.app-root.web .tk-main,.app-root.web .tk-side{gap:var(--space-4)}.app-root.web .tk-side{padding:0;border-radius:0;background:none}.app-root.web .tk-sec{gap:0}.app-root.web .tk-sec .tk-h{margin:0;padding:0 0 6px;border-bottom:1px solid var(--border);font-size:var(--type-callout);font-weight:600;color:var(--text)}.app-root.web .tk-sec-body,.app-root.web .tk-sec>.tk-facts{padding:10px 0 0}.app-root.web .tk-facts{gap:0}.app-root.web .tk-facts .tk-field{padding:6px 0}.app-root.web .tk-comments{gap:var(--space-4)}.app-root.web .tk-comments>li{display:flex;gap:10px;padding:0;border:0;border-radius:0}.app-root.web .tk-av--lg{width:30px;height:30px;flex:none;font-size:13px}.app-root.web .tk-comment{min-width:0;flex:1}.app-root.web .tk-comment-head{justify-content:flex-start;gap:10px;margin-bottom:4px}.app-root.web .tk-comment-head strong{font-weight:600}@media (max-width:640px){.app-root.web .tk-fields{display:flex;flex-wrap:wrap;gap:0 var(--space-5)}.app-root.web .tk-fields .tk-field{padding:4px 0 8px}.app-root.web .tk-title{font-size:20px;line-height:28px}.app-root.web .tk-side{order:0}}.app-root.web .dw-perm{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 6px;border-radius:var(--radius-pill);border:1px solid var(--border);background:transparent;color:var(--text-soft);font-size:12px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.app-root.web .dw-perm:hover:not(:disabled){border-color:var(--text)}.app-root.web .dw-perm.on{background:var(--ok-tint);border-color:transparent;color:var(--text)}.app-root.web .dw-perm:disabled{cursor:default;opacity:.75}.app-root.web .dw-perm-mark{width:14px;height:14px;border-radius:var(--radius);border:1.5px solid currentColor;display:grid;place-items:center;font-size:10px;line-height:1}.app-root.web .dw-perm.on .dw-perm-mark{background:var(--ok);border-color:var(--ok);color:var(--ok-tint)}.app-root.web .dw-mark{width:1em;height:1em;vertical-align:-.125em}.app-root.web .dw-perm-mark .dw-mark{width:10px;height:10px;vertical-align:0}.app-root.web .mb-pick{display:flex;flex-direction:column;gap:6px;max-height:232px;overflow-y:auto;padding:1px}.app-root.web .mb-acct{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.app-root.web .mb-acct:hover{border-color:var(--text)}.app-root.web .mb-acct.on{border-color:var(--text);background:var(--bg-alt)}.app-root.web .mb-acct-text{display:flex;flex-direction:column;min-width:0;flex:1}.app-root.web .mb-acct-text b{font-size:var(--type-callout);font-weight:600;overflow:hidden;text-overflow:ellipsis}.app-root.web .mb-acct-mark{width:18px;display:grid;place-items:center;color:var(--text)}.app-root.web .mb-none{display:flex;flex-direction:column;gap:4px;padding:var(--space-5) var(--space-6)}.app-root.web .mb-none strong{font-size:var(--type-callout);font-weight:600}.app-root.web .mb-none span{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .kpi-floor{margin-left:auto}.app-root.web .kpi-pass{display:inline-flex;align-items:center;gap:10px}.app-root.web .kpi-pass .dw-cov-bar{width:72px;flex:none}.app-root.web .kpi-num{text-align:right;font-variant-numeric:tabular-nums}@media (max-width:759px){.app-root.web .kpi-floor{margin-left:0}}.app-root.web .kpi-pass .dw-cov-bar.is-ok span{background:var(--ok)}@media (max-width:640px){.app-root.web .dw-flowtools>.seg{max-width:100%;overflow-x:auto}}.app-root.web .tl-day{margin-top:var(--space-5)}.app-root.web .tl-day-head{display:flex;align-items:baseline;gap:10px;margin:0 0 6px;font-size:var(--type-callout);font-weight:600;color:var(--text)}.app-root.web .tl-day-n{font-size:var(--type-subhead);font-weight:400;color:var(--text-soft)}.app-root.web .tl-list{list-style:none;margin:0;padding:0}.app-root.web .tl-row{display:grid;grid-template-columns:48px 78px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:10px 0;border-top:1px solid var(--border);font-size:var(--type-subhead)}.app-root.web .tl-time{font-variant-numeric:tabular-nums;color:var(--text-soft)}@media (min-width:641px){.app-root.web .hm-col .tl-row{grid-template-columns:96px 78px minmax(0,1fr) auto}}.app-root.web .hm-col .tl-time{line-height:1.3}.app-root.web .tl-ticket-title{font-weight:500;color:var(--text-soft)}.app-root.web .tl-row .dw-tag{justify-self:start}.app-root.web .tl-row .dw-tag:not(.dw-tag--bad):not(.dw-tag--wait){background:var(--bg-hover);color:var(--text-soft)}.app-root.web .tl-text{min-width:0;line-height:1.5;overflow-wrap:anywhere}.app-root.web .tl-ticket{padding:2px 0;border:0;background:none;font:inherit;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);cursor:pointer;white-space:nowrap}.app-root.web .tl-ticket:hover{text-decoration:underline;text-underline-offset:3px}.app-root.web .tl-ticket:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:var(--radius)}.app-root.web .tl-row .dw-tag{font-family:inherit}@media (max-width:640px){.app-root.web .tl-ticket{padding:10px 0 10px 12px;margin:-10px 0}}@media (max-width:640px){.app-root.web .tl-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"tag time tk" "text text text";gap:6px 10px}.app-root.web .tl-row .dw-tag{grid-area:tag}.app-root.web .tl-time{grid-area:time}.app-root.web .tl-ticket{grid-area:tk}.app-root.web .tl-text{grid-area:text}}.app-root.web .tl-day+.btn{margin-top:var(--space-4)}.app-root.web .sh-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:var(--space-5)}.app-root.web .sh-stat{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .sh-stat--share{background:var(--bg-alt)}.app-root.web .sh-stat--ok{background:var(--ok-tint)}.app-root.web .sh-stat--bad{background:var(--bad-tint)}.app-root.web .sh-stat--wait{background:var(--accent-tint)}.app-root.web .sh-n{font-family:var(--font-display);font-size:30px;line-height:36px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.app-root.web .sh-l{font-size:var(--type-subhead);color:var(--text-soft)}@media (max-width:900px){.app-root.web .sh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.app-root.web .sh-stats>.sh-stat:first-child{grid-column:1 / -1}}.app-root.web .pj-sec>.dw-label:first-child{font-size:var(--type-callout);font-weight:600;color:var(--text)}.app-root.web .au-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);width:min(880px,100%);min-height:480px;border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border);overflow:hidden}.app-root.web .au-brand{display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:32px;background:var(--bg-alt)}.app-root.web .au-logo{display:flex;align-items:center;gap:12px}.app-root.web .au-logo img{width:36px;height:36px}.app-root.web .au-logo>span{display:flex;flex-direction:column;line-height:1.2}.app-root.web .au-logo strong{font-size:var(--type-callout);font-weight:600;letter-spacing:.02em;color:var(--text)}.app-root.web .au-logo span span{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .au-brand-foot{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.app-root.web .au-brand-foot p{margin:0;font-size:var(--type-subhead);line-height:1.55;color:var(--text-soft)}.app-root.web .au-form{position:relative;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:40px 40px 32px}.app-root.web .au-form h1{margin:0;font-size:1.5rem;line-height:1.25}.app-root.web .au-form>p{margin:0;font-size:var(--type-callout);line-height:1.55;color:var(--text-soft)}.app-root.web .au-form form{display:flex;flex-direction:column}.app-root.web .au-form .dw-field{width:100%;height:40px}.app-root.web .au-lang{position:absolute;top:16px;right:16px}.app-root.web .au-lang-btn{display:grid;place-items:center;height:28px;min-width:34px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-soft);cursor:pointer}.app-root.web .au-lang-btn:hover,.app-root.web .au-lang-btn[aria-expanded=true]{border-color:var(--text);color:var(--text)}.app-root.web .au-pw{position:relative}.app-root.web .au-pw .dw-field{padding-right:64px}.app-root.web .au-pw-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);padding:4px 8px;border:0;border-radius:var(--radius);background:transparent;color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.app-root.web .au-pw-toggle:hover{background:var(--bg-alt)}.app-root.web .au-form form>.dw-banner{margin-top:14px}.app-root.web .au-submit{width:100%;height:40px;margin-top:18px!important;justify-content:center}.app-root.web .au-hint{margin:12px 0 0;font-size:var(--type-subhead);line-height:1.5;color:var(--text-soft)}@media (max-width:759px){.app-root.web .au-card{grid-template-columns:minmax(0,1fr);min-height:0}.app-root.web .au-brand{flex-direction:row;align-items:center;padding:16px 20px;gap:12px}.app-root.web .au-brand-foot p{display:none}.app-root.web .au-form{padding:28px 20px 24px}}@media (max-width:759px){.app-root.web .au-form h1{padding-right:40px}}.app-root.web .au-form a.btn{width:100%;height:40px;justify-content:center;text-decoration:none}.app-root.web .au-secondary{width:100%;margin-top:8px;justify-content:center}.app-root.web .ac-who{display:flex;align-items:center;gap:14px}.app-root.web .ac-who .pane-desc{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.app-root.web .ac-role{height:22px}.app-root.web .ac-more{display:none}@media (max-width:1023px){.app-root.web .ac-more{display:block;margin-bottom:var(--space-5)}}.app-root.web .w-more-sheet .dw-more-item.active{color:var(--text);background:var(--bg-alt)}.app-root.web .w-sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;background:var(--overlay)}.app-root.web .w-sheet{width:100%;max-width:640px;max-height:86vh;overflow-y:auto;overscroll-behavior:contain;padding:6px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:var(--radius) var(--radius) 0 0;background:var(--bg-soft);box-shadow:var(--float-shadow);animation:w-sheet-up .22s var(--motion-ease,ease-out) backwards}@keyframes w-sheet-up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@media (prefers-reduced-motion:reduce){.app-root.web .w-sheet{animation:none}}.app-root.web .w-sheet:focus{outline:none}.app-root.web[data-theme=dark] .w-sheet{border-top:1px solid var(--border-strong)}.app-root.web .w-bottom.w-bottom--few{grid-template-columns:repeat(2,1fr)}.app-root.web .dw-noproj{display:flex;gap:16px;padding:20px 22px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-noproj-ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius);background:var(--bg-soft);color:var(--text)}.app-root.web .dw-noproj-ico svg{width:22px;height:22px}.app-root.web .dw-noproj-body{display:flex;flex-direction:column;gap:8px;min-width:0}.app-root.web .dw-noproj-body h2{margin:0;font-size:var(--type-headline);font-weight:600;color:var(--text)}.app-root.web .dw-noproj-body p{margin:0;font-size:var(--type-callout)}.app-root.web .dw-noproj-body ol{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:2px;font-size:var(--type-callout)}.app-root.web .dw-noproj-admins{margin-top:var(--space-6);white-space:normal;overflow-wrap:anywhere}.app-root.web .w-sheet-handle{display:flex;justify-content:center;width:100%;padding:8px 0 10px;border:0;background:none;cursor:pointer}.app-root.web .w-sheet-handle span{width:40px;height:4px;border-radius:var(--radius-pill);background:var(--border-strong)}.app-root.web .w-sheet-sec{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.app-root.web .w-sheet-label{font-size:13px;font-weight:600;color:var(--text-soft)}.app-root.web .w-sheet-list{display:flex;flex-direction:column;gap:6px}.app-root.web .w-sheet-item{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border:0;border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font:inherit;font-size:15px;font-weight:600;text-align:left;cursor:pointer}.app-root.web .w-sheet-item svg{flex:none;width:20px;height:20px}.app-root.web .w-sheet-item.active{background:var(--bg-alt);box-shadow:inset 0 0 0 1.5px color-mix(in oklab,var(--text) 35%,transparent)}.app-root.web .w-sheet-name{flex:1;min-width:0}.app-root.web .w-sheet-hint{font-size:12px;font-weight:600;color:var(--text-soft)}.app-root.web .w-sheet-hint.is-warn{color:var(--warn)}.app-root.web .w-more-sheet .dw-more-item.active svg{color:var(--accent)}.app-root.web .ac-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--space-6);align-items:start}.app-root.web .ac-main,.app-root.web .ac-side{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.app-root.web .ac-seat{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .ac-seat--ok{background:var(--bg-alt)}.app-root.web .ac-version{margin:0;padding:0 4px;font-size:var(--type-footnote);color:var(--muted)}.app-root.web .ac-seat--out{background:var(--warn-tint)}.app-root.web .ac-seat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-root.web .ac-seat-head h2{margin:0;font-size:var(--type-headline);font-weight:600}.app-root.web .ac-seat-head .dw-tag{background:color-mix(in oklab,var(--bg) 60%,transparent);border-color:transparent}.app-root.web .ac-seat p{margin:0}.app-root.web .ac-seat-intro,.app-root.web .ac-seat-note{font-size:var(--type-subhead);line-height:1.55;color:var(--text-soft)}.app-root.web .ac-seat-state{font-size:var(--type-callout);line-height:1.55}.app-root.web .ac-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:4px 0 0}.app-root.web .ac-facts dt{font-size:12px;font-weight:500;color:var(--text-soft)}.app-root.web .ac-facts dd{margin:2px 0 0;font-size:var(--type-callout);font-weight:600;overflow-wrap:anywhere}.app-root.web .ac-seat-actions{margin-top:4px}.app-root.web .ac-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius)}.app-root.web .ac-card h2{margin:0;font-size:var(--type-callout);font-weight:600}.app-root.web .ac-card>p{margin:0;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .ac-commit{padding:10px 12px;border-radius:var(--radius);background:var(--ok-tint);font-size:var(--type-subhead)!important;color:var(--text)!important}@media (max-width:1023px){.app-root.web .ac-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.app-root.web .ac-facts{grid-template-columns:minmax(0,1fr)}}.app-root.web .cfg-nav{margin-bottom:var(--space-4);max-width:100%;overflow-x:auto}.app-root.web .cfg-dwname{flex-direction:column;align-items:flex-start;gap:2px}.app-root.web .cfg-role{font-size:var(--type-subhead);font-weight:400!important;color:var(--text-soft)}.app-root.web .dw-cfg-row.is-unset .dw-key{opacity:.65}.app-root.web .dw-sec>.dw-banner{margin-bottom:var(--space-3)}.app-root.web .fd{position:relative;display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:76px;padding:14px 18px;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:transparent;transition:border-color .12s ease,background .12s ease}.app-root.web .fd:hover,.app-root.web .fd.is-over{border-color:var(--text);background:var(--bg-alt)}.app-root.web .fd.has-file{border-style:solid;border-color:var(--text);background:var(--bg-alt)}.app-root.web .fd-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.app-root.web .fd-main{font-size:var(--type-callout);font-weight:600;overflow-wrap:anywhere}.app-root.web .fd-sub{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .lib-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px var(--space-5);align-items:stretch;margin-bottom:var(--space-5)}.app-root.web .lib-usage{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .lib-usage p{margin:0}.app-root.web .lib-usage-n{display:flex;align-items:baseline;gap:8px}.app-root.web .lib-usage-n strong{font-family:var(--font-display);font-size:28px;line-height:34px;color:var(--text)}.app-root.web .lib-usage-n span{color:var(--text-soft)}.app-root.web .lib-add{display:contents}.app-root.web .lib-add>.btn{grid-column:2;justify-self:start}.app-root.web .lib-file{display:inline-flex;align-items:center;gap:10px;min-width:0}.app-root.web .lib-ext{display:inline-grid;place-items:center;min-width:42px;height:24px;padding:0 6px;border-radius:var(--radius);background:var(--bg-alt);color:var(--text-soft);font-size:12px;font-weight:600;letter-spacing:.04em}@media (max-width:820px){.app-root.web .lib-top{grid-template-columns:minmax(0,1fr);row-gap:var(--space-4)}.app-root.web .lib-add>.btn{grid-column:auto;margin-top:-6px}}.app-root.web .au-brand{position:relative;overflow:hidden;isolation:isolate}.app-root.web .au-art{position:absolute;z-index:-1;color:var(--text);opacity:.1;pointer-events:none}.app-root.web .au-art .dw-art-ico{display:block;width:100%;height:100%;stroke-width:1}.app-root.web .au-art--flow{width:320px;height:320px;right:-70px;bottom:-60px}.app-root.web .au-art--code{width:150px;height:150px;right:34px;top:36px;transform:rotate(-8deg)}.app-root.web .au-art--story{width:130px;height:130px;left:-26px;top:46%;transform:rotate(10deg)}.app-root.web[data-theme=dark] .au-art{color:var(--hue-blue-ink);opacity:.09}@media (max-width:759px){.app-root.web .au-art--flow{width:120px;height:120px;right:-20px;bottom:-30px}.app-root.web .au-art--code,.app-root.web .au-art--story{display:none}}.app-root.web .ac-seat{position:relative;overflow:hidden;isolation:isolate}.app-root.web .ac-art{position:absolute;z-index:-1;right:-24px;bottom:-34px;width:200px;height:200px;color:var(--text);opacity:.07;pointer-events:none}.app-root.web .ac-art svg{display:block;width:100%;height:100%}.app-root.web .ac-seat--ok .ac-art{color:var(--ok)}.app-root.web .ac-seat--out .ac-art{color:var(--warn)}.app-root.web .ac-seat--ok .ac-art,.app-root.web .ac-seat--out .ac-art{opacity:.16}@media (max-width:640px){.app-root.web .ac-art{width:150px;height:150px}}.app-root.web .ac-card .seg{align-self:flex-start;width:fit-content;max-width:100%}.app-root.web .ac-prov{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-top:1px solid var(--border);font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .ac-prov-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.app-root.web .ac-prov-head strong{color:var(--text);font-size:var(--type-callout)}.app-root.web .ac-flows{display:flex;flex-direction:column;gap:10px}.app-root.web .ac-flows-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.app-root.web .ac-flows-head h2{margin:0;font-size:var(--type-headline);font-weight:600}.app-root.web .ac-flows-head span{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .ac-flow-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.app-root.web .ac-flow{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.app-root.web .ac-flow:hover{border-color:var(--border-strong);background:var(--bg-hover)}.app-root.web .ac-flow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .ac-flow-main{display:flex;flex-direction:column;gap:2px;min-width:0}.app-root.web .ac-flow-title{font-size:var(--type-callout);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .ac-flow-sub{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .ac-flow-go{font-size:1.3rem;line-height:1;color:var(--muted)}.app-root.web .ac-flows-empty{margin:0;padding:14px 16px;border:1px dashed var(--border-strong);border-radius:var(--radius);font-size:var(--type-subhead);line-height:1.55;color:var(--text-soft)}.app-root.web .ac-flows-ended{display:flex;align-items:baseline;gap:8px;margin-top:10px;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .ac-cli{margin-top:6px;flex-wrap:wrap;gap:6px 10px}.app-root.web .ac-cli .pj-hint{margin:0}@media (max-width:640px){.app-root.web .ac-flow-title{white-space:normal}}.app-root.web .ac-flow>.dw-type{justify-self:start}@media (max-width:640px){.app-root.web .ac-flow{grid-template-columns:minmax(0,1fr) auto}.app-root.web .ac-flow>.dw-type{grid-column:1 / -1}}.app-root.web .np-term{margin:0;padding:10px 12px;list-style:none;border-radius:var(--radius);background:var(--term-bg);color:var(--term-fg);font-family:var(--font-mono);font-size:13px;line-height:1.55}.app-root.web .np-term .np-step{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:8px;margin:0 -8px;padding:3px 8px;border-radius:var(--radius)}.app-root.web .np-term .np-step>b{color:var(--term-strong);font-weight:600}.app-root.web .np-term .np-time{flex:none;color:var(--term-dim);font-variant-numeric:tabular-nums}.app-root.web .np-term .np-step-ico{flex:0 0 14px}.app-root.web .np-term .np-step.is-ok .np-step-ico{color:var(--term-ok)}.app-root.web .np-term .np-step.is-failed{background:var(--term-bad-tint)}.app-root.web .np-term .np-step.is-failed .np-step-ico{color:var(--term-bad)}.app-root.web .np-term .np-step.is-denied{background:var(--term-warn-tint)}.app-root.web .np-term .np-step.is-denied .np-step-ico{color:var(--term-warn)}.app-root.web .np-term .np-step.is-run .np-step-ico{color:var(--term-run)}.app-root.web .np-cmd{flex:1 1 auto;min-width:0;margin:0;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--term-fg)}.app-root.web .np-prompt{color:var(--term-ok);-webkit-user-select:none;user-select:none}.app-root.web .np-term .np-step-code{flex:none;background:var(--term-raise);color:var(--term-dim)}.app-root.web .np-term .np-step.is-failed .np-step-code{background:var(--term-bad-tint);color:var(--term-bad-ink)}@media (max-width:640px){.app-root.web .np-term .np-step{flex-wrap:wrap}}.app-root.web .np-term .np-line{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.app-root.web .np-term .np-line>b{margin-right:6px}.app-root.web .np-term .np-step-code{margin-left:auto}.app-root.web .np-transcript{display:grid;gap:4px;max-height:min(62vh,560px);overflow:auto;overscroll-behavior:contain}.app-root.web .np-transcript:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .np-say{display:flex;align-items:baseline;gap:8px;padding:4px 0}.app-root.web .np-say-dot{flex:0 0 14px;text-align:center;color:var(--term-note);font-size:11px}.app-root.web .np-say-text{flex:1 1 auto;min-width:0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-sans);font-size:14px;line-height:1.6;color:var(--term-fg)}.app-root.web .np-transcript .np-time{flex:none;color:var(--term-dim);font-variant-numeric:tabular-nums}.app-root.web .np-out{display:grid;gap:2px;margin:0 0 4px 22px;padding:6px 10px;border-radius:var(--radius);background:var(--term-raise)}.app-root.web .np-out.is-bad{background:var(--term-bad-tint)}.app-root.web .np-out-text{margin:0;font:inherit;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--term-dim)}.app-root.web .np-out.is-bad .np-out-text{color:var(--term-bad-ink)}.app-root.web .np-out-hidden{font-size:12px;font-style:italic;color:var(--term-warn)}.app-root.web .np-out-live{font-size:12px;color:var(--term-run)}.app-root.web .np-out-more{justify-self:start;padding:0;border:0;background:none;font:inherit;font-size:12px;color:var(--term-run);cursor:pointer}.app-root.web .np-out-more:hover{text-decoration:underline}.app-root.web .np-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:2px -8px;padding:4px 8px;border-radius:var(--radius);background:var(--term-raise)}.app-root.web .np-note-head{font-weight:600;color:var(--term-fg)}.app-root.web .np-note>b{color:var(--term-strong);font-weight:600}.app-root.web .np-note-text{flex:1 1 100%;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--term-dim)}.app-root.web .np-note.is-brief .np-note-head{color:var(--term-brief)}.app-root.web .np-note.is-message .np-note-head{color:var(--term-msg)}.app-root.web .np-note.is-ask{background:var(--term-warn-tint)}.app-root.web .np-note.is-ask .np-note-head,.app-root.web .np-note.is-decision.is-warn .np-note-head{color:var(--term-warn)}.app-root.web .np-note.is-decision.is-ok .np-note-head{color:var(--term-ok)}.app-root.web .np-note.is-error{background:var(--term-bad-tint)}.app-root.web .np-note.is-error .np-note-head{color:var(--term-bad)}@media (max-width:640px){.app-root.web .np-out{margin-left:0}.app-root.web .np-transcript{max-height:70vh}}.app-root.web .dw-cfg-row .dw-cfg-acct{justify-content:flex-end}.app-root.web .dw-cfg-row .dw-cfg-acct>.dw-tag,.app-root.web .dw-cfg-row .dw-cfg-acct>.dw-meta{order:-1;margin-right:auto}@media (max-width:640px){.app-root.web .dw-cfg-row .dw-cfg-acct{justify-content:flex-start}.app-root.web .dw-cfg-row .dw-cfg-acct>.dw-tag{margin-right:0}}.app-root.web .bd{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-6);align-items:start}.app-root.web .bd-main{min-width:0;display:flex;flex-direction:column;gap:12px}.app-root.web .bd-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.app-root.web .bd-head h2{margin:0;font-size:var(--type-headline);font-weight:600}.app-root.web .bd-head span{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .bd-read{display:flex;align-items:center;gap:12px}.app-root.web .bd-tools{flex-wrap:wrap;gap:10px}.app-root.web .bd-tools .dw-flowsearch{flex:1 1 220px;min-width:0;max-width:none}.app-root.web .bd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius)}.app-root.web .bd-list:empty{display:none}.app-root.web .bd-row{display:grid;grid-template-columns:14px 84px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:12px 14px 12px 8px;border-top:1px solid var(--rule,var(--border));background:transparent;transition:background .15s ease}.app-root.web .bd-row:first-child{border-top:0;border-radius:var(--radius) var(--radius) 0 0}.app-root.web .bd-row:last-child{border-radius:0 0 var(--radius) var(--radius)}.app-root.web .bd-list--onetype .bd-row{grid-template-columns:14px minmax(0,1fr) auto}.app-root.web .bd-row.is-draggable{cursor:grab;user-select:none;-webkit-user-select:none}.app-root.web .bd-row.is-draggable:hover{background:color-mix(in oklab,var(--text) 5%,transparent)}.app-root.web .bd-row.is-dragging{opacity:.4}.app-root.web .bd-row--refused{background:var(--bg-alt)}.app-root.web .bd-row--refused .bd-title{color:var(--text-soft)}.app-root.web .bd-grip{color:var(--muted);font-size:12px;letter-spacing:-2px;-webkit-user-select:none;user-select:none;text-align:center}.app-root.web .bd-row>.dw-type{justify-self:start}.app-root.web .bd-main-text{display:flex;flex-direction:column;gap:3px;min-width:0}.app-root.web .bd-title{font-size:var(--type-callout);font-weight:600;line-height:1.35;overflow-wrap:anywhere}.app-root.web .bd-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .bd-why{font-size:var(--type-subhead);color:var(--bad)}.app-root.web .bd-act{display:flex;justify-content:flex-end}.app-root.web .bd-drop{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-alt);transition:border-color .12s ease,background .12s ease}.app-root.web .bd-drop>*{pointer-events:none}.app-root.web .bd-drop .dw-drop-art{flex:none;width:112px;height:auto;color:var(--text)}.app-root.web .bd-drop-text{display:flex;flex-direction:column;gap:4px;min-width:0}.app-root.web .bd-drop .dw-drop-title{font-size:var(--type-callout);font-weight:600}.app-root.web .bd-drop .dw-drop-sub{font-size:13px;line-height:1.45}.app-root.web .bd-drop-steps{margin:2px 0 0;padding-left:1.2rem;display:flex;flex-direction:column;gap:1px}@media (max-width:640px){.app-root.web .dw-toolbar .seg{max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}.app-root.web .dw-toolbar .seg::-webkit-scrollbar{display:none}.app-root.web .dw-toolbar .seg>*{flex-shrink:0}.app-root.web .dw-toolbar .seg{padding-right:28px}}@media (min-width:380px) and (max-width:640px){.app-root.web .dw-flowtools .seg{width:100%;padding-right:2px;-webkit-mask-image:none;mask-image:none}.app-root.web .dw-flowtools .seg>.seg-btn{flex:1 1 auto;padding:0 4px}}.app-root.web .bd-drop.is-armed{border-color:var(--text)}.app-root.web .bd-drop.is-over{border-style:solid;border-color:var(--text);background:var(--bg-alt)}.app-root.web .bd-flows{display:flex;flex-direction:column;gap:6px}.app-root.web .bd-flows .dw-run{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius)}.app-root.web .bd-flows-empty{margin:0;padding:14px 16px;border:1px dashed var(--border-strong);border-radius:var(--radius);font-size:var(--type-subhead);line-height:1.55;color:var(--text-soft)}.app-root.web .bd-main{grid-column:1;grid-row:1 / span 2}.app-root.web .bd-dropcell{grid-column:2;grid-row:1;position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:10px;background:var(--bg-soft)}.app-root.web .bd-flowcell{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:12px}.app-root.web .bd{grid-template-rows:auto 1fr}@media (max-width:1099px){.app-root.web .bd{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:var(--space-4)}.app-root.web .bd-dropcell{grid-column:1;grid-row:1;padding:8px 0}.app-root.web .bd-main{grid-column:1;grid-row:2}.app-root.web .bd-flowcell{grid-column:1;grid-row:3}.app-root.web .bd-drop{flex-direction:row;align-items:center;padding:10px 14px}.app-root.web .bd-drop .dw-drop-art,.app-root.web .bd-drop .dw-drop-sub{display:none}}@media (pointer:coarse){.app-root.web .bd-dropcell .bd-drop{display:none}}@media (max-width:640px){.app-root.web .bd-row,.app-root.web .bd-list--onetype .bd-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:12px}.app-root.web .bd-grip{display:none}.app-root.web .bd-row>.dw-type{grid-column:1 / -1}.app-root.web .bd-main-text{grid-column:1}.app-root.web .bd-act{grid-column:2;align-self:end}}.app-root.web .bd-drop{flex-direction:column;align-items:flex-start;gap:10px}.app-root.web .bd-drop .dw-drop-art{width:200px}.app-root.web .bd-flows .dw-run{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.app-root.web .bd-flows .dw-run .dw-type{white-space:nowrap}.app-root.web .bd-flows .dw-run-title{order:3;flex:1 1 100%;white-space:normal;font-weight:600}.app-root.web .bd-flows .dw-run-node{order:4}.app-root.web .bd-flows .dw-run .dw-prog{order:5;margin-left:auto;width:64px}body.bd-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}body.bd-dragging *{cursor:grabbing!important}.bd-ghost{position:fixed;z-index:400;max-width:360px;padding:8px 12px;border:1px solid var(--text);border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font-size:13px;font-weight:600;line-height:1.35;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.95}@media (min-width:1100px){.app-root.web .pane-body.bd-pane{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.app-root.web .bd-pane>.bd{flex:1 1 auto;min-height:0;align-items:stretch;grid-template-rows:auto minmax(0,1fr);padding-bottom:20px}.app-root.web .bd-main{min-height:0;overflow:hidden}.app-root.web .bd-dropcell{position:static}.app-root.web .bd-flowcell{min-height:0}.app-root.web .bd-list,.app-root.web .bd-flows{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;margin-right:-6px}}.app-root.web .hm-need{padding:var(--space-5) 0 var(--space-4)}.app-root.web .hm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app-root.web .hm-stat{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:18px 20px;border:0;border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font:inherit;text-align:left;transition:filter .15s ease}.app-root.web .hm-stat:has(.hm-stat-go){cursor:pointer}.app-root.web .hm-stat:has(.hm-stat-go):hover{filter:brightness(.97)}.app-root.web .hm-stat:has(.hm-stat-go:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.app-root.web .hm-stat-go{margin-top:10px}.app-root.web .hm-stat-go:focus-visible{outline:none}.app-root.web .hm-stat-go:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius)}.app-root.web .hm-stat-l{display:inline-flex;align-items:center}.app-root.web .hm-stat-l .dw-help{position:relative;z-index:1}.app-root.web .hm-item-sub b{font-weight:600;color:var(--text)}.app-root.web .hm-item-sub b.is-late{color:var(--bad)}.app-root.web .hm-server ul.hm-warns{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;align-self:stretch}.app-root.web .hm-warns li{display:flex;flex-direction:column;gap:2px}.app-root.web .hm-warns span{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .hm-stat--stuck{background:var(--bad-tint)}.app-root.web .hm-stat--answer{background:var(--bg-alt)}.app-root.web .hm-stat--decide{background:var(--accent-tint)}.app-root.web .hm-stat.is-zero{background:var(--bg-alt)}.app-root.web .hm-stat-n{font-family:var(--font-display);font-size:40px;line-height:44px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.app-root.web .hm-stat.is-zero .hm-stat-n{color:var(--muted)}.app-root.web .hm-stat-l{font-size:var(--type-callout);font-weight:600}.app-root.web .hm-stat-h{font-size:var(--type-subhead);line-height:1.45;color:var(--text-soft)}.app-root.web .hm-calm{margin:0;padding:18px 20px;border-radius:var(--radius);background:var(--ok-tint);font-size:var(--type-callout);line-height:1.55}.app-root.web .hm-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);padding:var(--space-4) 0}.app-root.web .hm-cols--low{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);padding-bottom:var(--space-5)}.app-root.web .hm-cols--low.is-single{grid-template-columns:minmax(0,1fr)}.app-root.web .hm-col{display:flex;flex-direction:column;gap:10px;min-width:0}.app-root.web .hm-cols{align-items:start}.app-root.web .hm-cols>.hm-col,.app-root.web .hm-cols>.hm-server{max-height:420px;min-height:0}.app-root.web .hm-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-self:stretch;margin:-3px 0;padding:3px}.app-root.web .hm-col .bd-flows{margin-right:0;padding-right:0}.app-root.web .hm-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.app-root.web .hm-head h2{margin:0;font-size:var(--type-headline);font-weight:600}.app-root.web .hm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.app-root.web .hm-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.app-root.web .hm-item:hover{border-color:var(--border-strong);background:var(--bg-hover)}.app-root.web .hm-item--stuck{background:color-mix(in oklab,var(--fill-bad) 5%,transparent)}.app-root.web .hm-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.app-root.web .hm-item-title{font-size:var(--type-callout);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .hm-item-sub{font-size:var(--type-subhead);color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .hm-go{font-size:1.3rem;line-height:1;color:var(--muted)}.app-root.web .hm-figures{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .hm-figures b{color:var(--text);font-variant-numeric:tabular-nums}.app-root.web .hm-skel{min-height:96px;background:linear-gradient(90deg,var(--bg-soft) 0%,var(--bg-alt,var(--bg-soft)) 50%,var(--bg-soft) 100%);background-size:200% 100%;animation:hm-skel 1.4s ease-in-out infinite}@keyframes hm-skel{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.app-root.web .hm-skel{animation:none}}.app-root.web .hm-retry{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-root.web .hm-empty{margin:0;padding:14px 16px;border:1px dashed var(--border-strong);border-radius:var(--radius);font-size:var(--type-subhead);line-height:1.55;color:var(--text-soft)}.app-root.web .hm-server{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px 18px;border-radius:var(--radius);background:var(--ok-tint)}.app-root.web .hm-server.is-bad{background:var(--warn-tint)}.app-root.web .hm-elsewhere{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:10px 14px;border-radius:var(--radius);background:var(--bg-alt);color:var(--text-soft);font-size:var(--type-callout)}.app-root.web .hm-server .hm-head{align-self:stretch}.app-root.web .hm-server p{margin:0;font-size:var(--type-callout)}.app-root.web .hm-server ul{margin:0;padding-left:18px;font-size:var(--type-callout);line-height:1.6}.app-root.web .hm-server .dw-tag{background:color-mix(in oklab,var(--bg) 60%,transparent);border-color:transparent}@media (max-width:900px){.app-root.web .hm-cols,.app-root.web .hm-cols--low{grid-template-columns:minmax(0,1fr)}.app-root.web .hm-cols>.hm-col,.app-root.web .hm-cols>.hm-server{height:auto;max-height:none}.app-root.web .hm-scroll{max-height:420px}.app-root.web .hm-stat-n{font-size:32px;line-height:36px}}@media (max-width:1023px){.app-root.web .hm-cols>.hm-col{max-height:none}}.app-root.web .hm-cols.is-single{grid-template-columns:minmax(0,1fr)}@media (max-width:640px){.app-root.web .hm-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-root.web .hm-stat{flex-direction:column;align-items:flex-start;padding:12px}.app-root.web .hm-stat-h{display:none}.app-root.web .hm-stat-go{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0}.app-root.web .hm-stat-l{font-size:var(--type-subhead)}}.app-root.web .btn:disabled,.app-root.web .btn-primary:disabled,.app-root.web .btn-secondary:disabled,.app-root.web .btn-ghost:disabled,.app-root.web .btn-tinted:disabled,.app-root.web .btn-danger-soft:disabled,.app-root.web .dw-set-foot .btn-primary:disabled{opacity:1;background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-soft);cursor:not-allowed}.app-root.web .dw-dot--run,.app-root.web .dw-dot--check{animation:dw-pulse 1.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.app-root.web .dw-dot--run,.app-root.web .dw-dot--check{animation:none}}.app-root.web .dw-crew{display:inline-flex;align-items:center;gap:2px;padding:1px;border-radius:var(--radius-pill);background:var(--bg-alt)}.app-root.web .dw-crew.is-crew{background:var(--bg-alt)}.app-root.web .dw-crew-btn{width:22px;height:22px;border:0;border-radius:var(--radius-pill);background:transparent;color:inherit;font:inherit;line-height:1;cursor:pointer}.app-root.web .dw-crew-btn:disabled{opacity:.35;cursor:default}.app-root.web a.btn{text-decoration:none}.app-root.web a.btn[target=_blank]:after{content:"↗";margin-left:4px;font-size:.85em;opacity:.7}.app-root.web .dw-meta.dw-wrap{white-space:normal;overflow:visible;text-overflow:clip}.app-root.web .dw-help{position:relative;display:inline-flex;vertical-align:middle;margin-left:4px}.app-root.web .dw-help-btn{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-soft);color:var(--muted);font:600 11px/1 var(--font-sans);cursor:pointer}.app-root.web .dw-help-btn:hover,.app-root.web .dw-help-btn[aria-expanded=true]{color:var(--text);border-color:var(--text-soft)}.app-root.web .dw-help-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .dw-loading{display:grid;gap:10px;padding:8px 0}.app-root.web .dw-loading-line{display:block;height:14px;border-radius:var(--radius);background:linear-gradient(90deg,var(--bg-soft) 0%,var(--bg-alt,var(--bg-soft)) 50%,var(--bg-soft) 100%);background-size:200% 100%;animation:hm-skel 1.4s ease-in-out infinite}.app-root.web .dw-loading-line.is-short{width:60%}@media (prefers-reduced-motion:reduce){.app-root.web .dw-loading-line{animation:none}}.app-root.web .dw-errorbox{flex-wrap:wrap;align-items:center;justify-content:space-between}.app-root.web .dw-fail-groups{list-style:none;margin:0;padding:0;display:grid;gap:8px}.app-root.web .dw-fail-group{display:grid;gap:6px;padding:12px 14px;border-radius:var(--radius);background:var(--bg-alt,var(--bg-soft))}.app-root.web .dw-fail-group.is-ado{background:var(--bad-tint)}.app-root.web .dw-fail-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.app-root.web .dw-fail-tech summary{cursor:pointer;font-size:12.5px;color:var(--text-soft)}.app-root.web .dw-set-row.is-flash{box-shadow:0 0 0 2px var(--text-soft);transition:box-shadow .3s ease}.app-root.web .dw-model-form .dw-label:has(>label),.app-root.web .dw-set-panel .dw-model-form .dw-label:has(>label){display:flex;align-items:center;gap:2px;min-width:0}.app-root.web .dw-model-form .dw-label>label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;gap:0}@media (max-width:700px){.app-root.web .pane-body.is-accepting{display:flex;flex-direction:column}.app-root.web .pane-body.is-accepting>#nghiem-thu{order:-1;margin-bottom:var(--space-5)}}.app-root.web .tk-stat.is-cancelled{background:var(--warn-tint)}.app-root.web .tk-flow{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}@media (max-width:640px){.app-root.web .tk-rounds tbody{display:flex;flex-direction:column}.app-root.web .tk-rounds tr.tk-total{order:-1}}.app-root.web .tk-line{display:none}@media (max-width:640px){.app-root.web .tk-rounds tr{padding:10px 12px}.app-root.web .tk-rounds tr:not(.is-open)>td:not(:first-child){display:none}.app-root.web .tk-rounds td:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.app-root.web .tk-rounds td:first-child:before{display:none}.app-root.web .tk-rounds tr.is-open>td:first-child{margin-bottom:6px}.app-root.web .tk-line{display:inline;flex:1 1 auto;min-width:0;padding:0;border:0;background:none;color:var(--text);font:inherit;font-size:var(--type-subhead);text-align:left;cursor:pointer}.app-root.web .tk-line span{color:var(--muted)}.app-root.web .tk-total .tk-line{font-weight:600}.app-root.web .tbl td[data-label]:before{text-align:left;justify-self:start}}.app-root.web .cap-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0 0 18px;padding:0;list-style:none}.app-root.web .cap-pick button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:var(--radius);color:var(--text);font:600 13px/1.25 var(--font-sans);text-align:left;cursor:pointer}.app-root.web .cap-pick button svg{width:22px;height:22px;flex:none}.app-root.web .cap-pick small{display:block;font-weight:500;color:var(--text-soft);font-size:12px}.app-root.web .cap-pick button.is-on{box-shadow:inset 0 0 0 2px var(--art-ink)}.app-root.web .cap-pick button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .cap-head{display:grid;gap:14px;padding:22px 24px;margin-bottom:22px;border-radius:var(--radius)}.app-root.web .cap-head-top{display:flex;gap:16px;align-items:center}.app-root.web .cap-head h2{margin:0;font-size:24px;line-height:1.2;color:var(--text);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.app-root.web .cap-facts{display:flex;flex-wrap:wrap;gap:8px}.app-root.web .cap-fact{padding:7px 12px;border-radius:var(--radius);background:color-mix(in oklab,var(--bg-soft) 72%,transparent);font-size:13px;color:var(--text)}.app-root.web .cap-fact b{display:block;font-size:12px;color:var(--text-soft);font-weight:600}.app-root.web .cap-h{margin:0 0 10px;font-size:16px;font-weight:600;color:var(--text);display:flex;gap:8px;align-items:baseline}.app-root.web .cap-h span{font-size:13px;font-weight:500;color:var(--text-soft)}.app-root.web .cap-docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:0 0 24px;padding:0;list-style:none}.app-root.web .cap-doc{position:relative;isolation:isolate;overflow:hidden;min-height:140px;padding:16px 18px;border-radius:var(--radius);background:var(--bg-alt,var(--bg-soft));display:flex;flex-direction:column;gap:6px}.app-root.web .cap-doc .dw-fmt-mark{right:-14px;bottom:-22px;width:110px;height:130px}.app-root.web .cap-doc>:not(.dw-fmt-mark){position:relative;z-index:1}.app-root.web .cap-doc-name{font-size:16px;font-weight:600;color:var(--text);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.app-root.web .cap-doc-fmt{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--text-soft)}.app-root.web .cap-doc-fmt .dw-fmt-icon{width:14px;height:17px}.app-root.web .cap-doc-tag{align-self:flex-start;font-size:12px;font-weight:600;padding:3px 9px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--bg-soft) 80%,transparent);color:var(--text)}.app-root.web .cap-here{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:14px 16px;border-radius:var(--radius);background:var(--bg-alt,var(--bg-soft));font-size:14px}.app-root.web .cap-sum{margin:0;max-width:72ch;font-size:16px;line-height:1.55;color:var(--text)}.app-root.web .cap-two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px}.app-root.web .cap-card{padding:16px 18px;border-radius:var(--radius);background:var(--bg-alt,var(--bg-soft))}.app-root.web .cap-card h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text)}.app-root.web .cap-list{margin:0 0 4px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.5}.app-root.web .cap-list li{position:relative;padding-left:16px}.app-root.web .cap-list li:before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--text-soft)}.app-root.web .cap-list--can li:before{background:var(--ok)}.app-root.web .cap-card .cap-here{margin-top:12px;padding:12px 0 0;border-radius:0;background:none;border-top:1px solid color-mix(in oklab,var(--text-soft) 25%,transparent)}@media (max-width:900px){.app-root.web .cap-two{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.app-root.web .cap-pick{display:flex;overflow-x:auto;padding-bottom:4px}.app-root.web .cap-pick li{flex:none}.app-root.web .cap-head{padding:18px}.app-root.web .cap-head h2{font-size:21px}}.app-root.web .fc-round-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;color:var(--text-soft)}@media (max-width:700px){.app-root.web .dw-ftabs-row{flex-wrap:nowrap;overflow-x:auto;max-width:100%}.app-root.web .dw-ftabs-row .seg-btn{flex:none}}.app-root.web .fc-event.is-refused .fc-event-dot{background:var(--bad);border-color:var(--bad)}.app-root.web .fc-ticket-group{display:grid;gap:6px;margin-bottom:10px}.app-root.web .fc-ticket-head{display:flex;align-items:center;gap:8px}.app-root.web .fc-ticket-round{font-size:12px;font-weight:600;color:var(--text)}.app-root.web .fc-tickets li.is-replaced{opacity:.6}.app-root.web .dw-ac-sum{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:13.5px;font-weight:600}.app-root.web .dw-ac-bar{display:flex;flex:0 0 160px;height:8px;border-radius:var(--radius-pill);overflow:hidden;background:var(--bg-soft)}.app-root.web .dw-ac-bar i{display:block;min-width:0}.app-root.web .dw-ac-bar .is-pass{background:var(--ok)}.app-root.web .dw-ac-bar .is-fail{background:var(--bad)}.app-root.web .dw-ac-bar .is-blocked{background:var(--warn)}.app-root.web .dw-guide{background:var(--bg-alt);color:var(--text-soft);border:0}.app-root.web .dw-setup{display:grid;gap:10px;padding:16px 18px;margin-bottom:16px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-setup-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.app-root.web .dw-setup-list li{display:flex;align-items:center;gap:10px}.app-root.web .dw-setup-mark{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--bg-soft);font-size:12px;font-weight:600;color:var(--text-soft)}.app-root.web .dw-setup-list li.is-done .dw-setup-mark{background:var(--ok);color:var(--on-fill)}.app-root.web .dw-inline-ico{display:inline-flex;vertical-align:-2px;margin-right:4px}.app-root.web .dw-inline-ico svg,.app-root.web .dw-setup-mark svg,.app-root.web .dw-flow-mark svg,.app-root.web .br-drawer-close svg{width:14px;height:14px}.app-root.web .dw-setup-list li.is-done .dw-setup-go{color:var(--text-soft);text-decoration:line-through}.app-root.web .dw-setup-go{padding:0;border:0;background:transparent;font:inherit;color:var(--text);text-align:left;cursor:pointer}.app-root.web .dw-setup-go:hover{text-decoration:underline}.app-root.web .dw-tag-btn{cursor:pointer;border:0;font:inherit;font-size:12px}.app-root.web .dw-perm.is-fixed{cursor:default}.app-root.web .dw-egress li.is-removed{opacity:.75}.app-root.web .w-crumb-part{display:inline-flex;align-items:center;gap:inherit;min-width:0;white-space:nowrap}@media (max-width:1023px){.app-root.web .w-crumb-part:not(:last-child){display:none}}@media (max-width:1023px){.app-root.web .btn{min-height:44px}.app-root.web .w-icon-btn{width:44px;height:44px}.app-root.web .dw-egress li .dw-field,.app-root.web .dw-egress-add .dw-field{height:44px}.app-root.web .w-topbar{flex-wrap:nowrap}.app-root.web .w-crumb{flex:1 1 auto;min-width:0}.app-root.web .w-project{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .seg-btn,.app-root.web .dw-perm,.app-root.web .dw-role-chip,.app-root.web .pane-back{min-height:40px}.app-root.web .dw-field,.app-root.web .dw-edit,.app-root.web select,.app-root.web textarea,.app-root.web input{font-size:16px}}.app-root.web .dw-help-pop{position:fixed;z-index:60;padding:10px 12px;border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border);box-shadow:var(--float-shadow);color:var(--text);font-size:13px;font-weight:400;line-height:1.5;text-align:left;white-space:normal}@media (max-width:1023px){.app-root.web .dw-help-btn{width:28px;height:28px;font-size:13px}}.app-root.web .dw-crew-btn:not(:disabled):hover{background:var(--bg-hover)}.app-root.web .dw-crew-n{min-width:26px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.app-root.web .np-parts{display:flex;flex-direction:column;gap:6px;margin-top:8px}.app-root.web .np-part-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.app-root.web .np-part{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:6px 10px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-fcol--side{display:flex;flex-direction:column;gap:var(--space-6,32px)}.app-root.web .fc-channel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.app-root.web .fc-channel-top .fc-labelbox{min-width:0}.app-root.web .fc-live{display:inline-flex;flex:none;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--type-subhead);font-weight:600;white-space:nowrap;background:var(--bg-alt);color:var(--text-soft)}.app-root.web .fc-live.is-live{background:var(--ok-tint);color:var(--ok)}.app-root.web .fc-live.is-polling{background:var(--bg-alt);color:var(--text-soft)}.app-root.web .fc-live-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.app-root.web .fc-live.is-live .fc-live-dot{animation:dw-pulse 1.6s ease-in-out infinite}.app-root.web .fc-channel-empty{margin:0;padding:.8rem var(--space-3);border-radius:var(--radius);background:var(--bg-alt);color:var(--text-soft);font-size:var(--type-callout)}.app-root.web .fc-chat{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:520px;overflow-y:auto;overscroll-behavior:contain}.app-root.web .fc-msg{display:flex;flex-direction:column;gap:4px;max-width:88%;padding:.6rem .8rem;border-radius:var(--radius);animation:dw-rise .35s ease-out both}.app-root.web .fc-msg.is-dw{align-self:flex-start;background:var(--bg-alt);border-top-left-radius:var(--radius)}.app-root.web .fc-msg.is-person{align-self:flex-end;background:var(--bg-hover);border-top-right-radius:var(--radius)}.app-root.web .fc-sys{display:flex;flex-direction:column;gap:4px;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .fc-sys-row{display:flex;align-items:center;gap:8px;width:100%;text-align:center}.app-root.web .fc-sys-row:before,.app-root.web .fc-sys-row:after{content:"";flex:1 1 24px;min-width:16px;height:1px;background:var(--border)}.app-root.web .fc-sys-row>time{flex:none;font-size:var(--type-caption)}.app-root.web .fc-sys time,.app-root.web .fc-msg-at{font-variant-numeric:tabular-nums}.app-root.web .fc-sys-toggle{padding:2px 0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.app-root.web .fc-sys-toggle:hover>span{color:var(--text);text-decoration:underline}.app-root.web .fc-sys-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.app-root.web .fc-sys-toggle>span:after{content:" ▸";font-size:.85em}.app-root.web .fc-sys-toggle[aria-expanded=true]>span:after{content:" ▾"}.app-root.web .fc-sys-list{list-style:none;margin:0 auto;padding:6px 12px;display:flex;flex-direction:column;gap:3px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .fc-sys-list li{display:flex;justify-content:space-between;gap:16px}.app-root.web .fc-msg-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:var(--type-subhead)}.app-root.web .fc-msg-tag{padding:1px 7px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;letter-spacing:.02em;background:var(--bg-soft);color:var(--text-soft)}.app-root.web .fc-msg-tag.is-dw{background:var(--run-tint);color:var(--run)}.app-root.web .fc-msg-tag.is-person{background:var(--bg-soft);color:var(--text-soft)}.app-root.web .fc-msg-who{font-weight:600}.app-root.web .fc-msg-to,.app-root.web .fc-msg-at{color:var(--text-soft)}.app-root.web .fc-msg-at{margin-left:auto}.app-root.web .fc-msg-text{margin:0;font-size:var(--type-callout);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.app-root.web .fc-msg-detail{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .fc-post{display:flex;flex-direction:column;gap:8px;padding:var(--space-3);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .fc-post-text{width:100%;min-height:76px;resize:vertical;font:inherit}.app-root.web .fc-post-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.app-root.web .fc-post-to{display:inline-flex;align-items:center;gap:8px;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft);white-space:nowrap}.app-root.web .fc-post-to select{min-width:150px}.app-root.web .fc-post-count{font-size:var(--type-subhead);color:var(--text-soft);font-variant-numeric:tabular-nums}.app-root.web .fc-post-row .btn{margin-left:auto;min-height:36px;padding-inline:18px}.app-root.web .fc-post-hint{margin:0;font-size:var(--type-subhead);color:var(--text-soft)}@media (prefers-reduced-motion:reduce){.app-root.web .fc-live.is-live .fc-live-dot,.app-root.web .fc-msg{animation:none}}.app-root.web .br-sec{display:flex;flex-direction:column;gap:var(--space-4)}.app-root.web .br-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.app-root.web .br-switch{display:inline-flex;align-items:center;gap:8px;font-size:var(--type-subhead);color:var(--text-soft);cursor:pointer}.app-root.web .br-notes,.app-root.web .br-hits{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;list-style:none;margin:0;padding:0}.app-root.web .br-note,.app-root.web .br-hit{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:0;border-radius:var(--radius);background:var(--bg-alt);animation:dw-rise .3s ease-out both}.app-root.web .br-note.is-concern{background:var(--warn-tint)}.app-root.web .br-note.is-fact,.app-root.web .br-hit.is-handover,.app-root.web .br-note.is-lesson,.app-root.web .br-hit.is-wiki,.app-root.web .br-note.is-proposal,.app-root.web .br-hit.is-note,.app-root.web .br-hit.is-consult,.app-root.web .br-note.is-past{background:var(--bg-alt)}.app-root.web .br-note.is-past .br-note-text{color:var(--text-soft);text-decoration:line-through;text-decoration-color:color-mix(in oklab,var(--text-soft) 45%,transparent)}.app-root.web .br-note-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.app-root.web .br-note-id{font-family:var(--font-mono);font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .br-note-role,.app-root.web .br-hit-ref{margin-left:auto;font-size:var(--type-subhead);font-weight:600}.app-root.web .br-hit-ref{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.app-root.web .br-hit .br-note-role{margin-left:0}.app-root.web .br-tag{padding:2px 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;background:var(--bg-soft);color:var(--text-soft)}.app-root.web .br-tag.is-tier.is-person{background:var(--ok-tint);color:var(--ok)}.app-root.web .br-tag.is-tier.is-checked{background:var(--run-tint);color:var(--run)}.app-root.web .br-tag.is-tier.is-ticket{background:var(--bg-hover);color:var(--text-soft)}.app-root.web .br-tag.is-state{background:var(--bg-hover);color:var(--text)}.app-root.web .br-note-text{margin:0;font-size:var(--type-callout);line-height:1.5;overflow-wrap:anywhere}.app-root.web .dw-note-body p{margin:0 0 6px}.app-root.web .dw-note-body p:last-child,.app-root.web .dw-note-body ul:last-child{margin-bottom:0}.app-root.web .dw-note-body ul{margin:0 0 6px;padding-left:18px}.app-root.web .dw-note-body li{margin:2px 0}.app-root.web .dw-notetext.is-folded .dw-note-body{max-height:6em;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent);mask-image:linear-gradient(to bottom,#000 60%,transparent)}.app-root.web .dw-note-more{margin-top:4px;padding:0;border:0;background:none;font:inherit;font-size:var(--type-footnote);font-weight:600;color:var(--text);text-decoration:underline;cursor:pointer}.app-root.web .dw-note-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .br-note-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .br-source{overflow-wrap:anywhere}.app-root.web .br-replaced{font-weight:600;color:var(--text)}.app-root.web .br-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.app-root.web .br-edit{display:flex;flex-direction:column;gap:6px}.app-root.web .br-edit textarea{width:100%;resize:vertical;font:inherit}.app-root.web .br-hint{margin:0;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .br-raise{color:var(--warn);font-weight:600}.app-root.web .br-search{display:grid;grid-template-columns:minmax(0,1fr) 160px 150px auto auto;align-items:end;gap:10px;padding:var(--space-4);border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .br-search .dw-field,.app-root.web .br-search .btn{height:38px}.app-root.web .br-asof{display:flex;flex-direction:column;gap:4px;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .br-count{margin:0;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}@media (max-width:900px){.app-root.web .br-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.app-root.web .br-q,.app-root.web .br-search .btn{grid-column:1 / -1}}@media (max-width:480px){.app-root.web .br-notes,.app-root.web .br-hits{grid-template-columns:minmax(0,1fr)}}.app-root.web .br-drawer .br-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.app-root.web .br-drawer .br-q,.app-root.web .br-drawer .br-search .btn{grid-column:1 / -1}.app-root.web .br-drawer .br-notes,.app-root.web .br-drawer .br-hits{grid-template-columns:minmax(0,1fr)}@media (prefers-reduced-motion:reduce){.app-root.web .br-note,.app-root.web .br-hit{animation:none}}.app-root.web .ac-genesis .dw-tag,.app-root.web .ac-genesis>.btn{align-self:flex-start}.app-root.web .ac-genesis-form{display:flex;flex-direction:column;gap:6px}.app-root.web .ac-genesis-form .btn{align-self:flex-start}.app-root.web .au-genesis{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border)}.app-root.web .au-genesis h2{margin:0;font-size:var(--type-title3,18px)}.app-root.web .pj-genesis{display:flex;flex-direction:column;gap:4px}.app-root.web .pj-genesis .dw-meta{margin:0;white-space:normal;overflow:visible;text-overflow:clip}.app-root.web .br-ask-q{width:100%;resize:none;font:inherit}.app-root.web .br-drawer-body.is-chat{display:flex;flex-direction:column;overflow:hidden;padding:0}.app-root.web .br-chat{flex:1 1 auto;min-height:0;gap:0}.app-root.web .br-chat-log{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;list-style:none;margin:0;padding:14px 16px;display:flex;flex-direction:column;gap:14px}.app-root.web .br-chat-intro .br-hint{font-size:var(--type-footnote);line-height:1.5}.app-root.web .br-turn{display:flex;flex-direction:column;gap:8px}.app-root.web .br-msg{display:flex;flex-direction:column;gap:4px;max-width:88%;padding:10px 13px;border-radius:var(--radius);animation:dw-rise .25s ease-out both}.app-root.web .br-msg.is-you{align-self:flex-end;border-bottom-right-radius:var(--radius);background:var(--bg-alt)}.app-root.web .br-msg.is-brain{align-self:flex-start;border-bottom-left-radius:var(--radius);background:var(--bg-alt)}.app-root.web .br-msg-who{display:flex;align-items:baseline;gap:6px;font-size:var(--type-caption);font-weight:600;color:var(--text-soft)}.app-root.web .br-msg-role{font-weight:600}.app-root.web .br-msg-text{margin:0;font-size:var(--type-callout);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.app-root.web .br-msg[aria-busy=true] .br-msg-text{min-height:1.55em}.app-root.web .br-msg[aria-busy=true] .br-msg-text:after{content:"▍";margin-left:2px;animation:dw-pulse 1s ease-in-out infinite}.app-root.web .br-msg-err{margin:0;font-size:var(--type-subhead);color:var(--bad)}.app-root.web .br-msg-ok{margin:0;font-size:var(--type-subhead);color:var(--ok,var(--text))}.app-root.web .br-msg-act{align-self:flex-start;margin:2px 0 0 -6px}.app-root.web .br-compose{display:flex;flex-direction:column;gap:8px;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--bg-soft)}.app-root.web .br-compose-row{display:flex;align-items:center;gap:10px}.app-root.web .br-compose-row select{width:auto;flex:0 1 150px;min-width:0;height:34px}.app-root.web .br-compose-keys{flex:1 1 auto;min-width:0;font-size:var(--type-caption);color:var(--text-soft);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-root.web .br-compose-row .btn{flex:none;height:34px;padding-inline:18px}.app-root.web .br-save{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .br-save h3{margin:0;font-size:var(--type-callout)}.app-root.web .br-save-row{display:flex;flex-wrap:wrap;gap:12px}.app-root.web .br-save label{display:flex;flex-direction:column;gap:4px;font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .br-save-text textarea{width:100%;resize:vertical;font:inherit;font-weight:400;color:var(--text)}.app-root.web .br-save-do{display:flex;gap:8px}.app-root.web .np{display:flex;flex-direction:column;gap:12px}.app-root.web .np-title{margin:4px 0 0;font-size:var(--type-callout);font-weight:600}.app-root.web .np-form .np-title{margin:0}.app-root.web .np-form input.dw-field{width:100%;font-weight:400;color:var(--text)}.app-root.web .np-quota{margin:0}.app-root.web .np-reason{margin:0;font-size:var(--type-subhead);color:var(--text)}.app-root.web .np-similar{padding:8px 12px;border-radius:var(--radius);background:var(--bg-soft);font-size:var(--type-subhead)}.app-root.web .np-similar p{margin:0 0 4px;color:var(--text-soft)}.app-root.web .np-similar ul{margin:0;padding-left:18px}.app-root.web .br-tag.np-state.is-pending{background:var(--warn-tint);color:var(--warn)}.app-root.web .br-tag.np-state.is-accepted{background:var(--ok-tint);color:var(--ok)}.app-root.web .np-item.is-dropped .br-note-text,.app-root.web .np-item.is-withdrawn .br-note-text{color:var(--text-soft)}@media (prefers-reduced-motion:reduce){.app-root.web .br-msg,.app-root.web .br-msg[aria-busy=true] .br-msg-text:after{animation:none}}.app-root.web .br-conflicts{display:flex;flex-direction:column;gap:12px}.app-root.web .br-conflict{display:flex;flex-direction:column;gap:12px;padding:16px;border:0;border-radius:var(--radius);background:var(--bg-alt);animation:dw-rise .3s ease-out both}.app-root.web .br-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-root.web .br-side{display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px 14px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .br-side.is-b{background:var(--bg-alt)}.app-root.web .br-side-name{font-size:12px;font-weight:600;color:var(--text)}.app-root.web .br-quote{margin:0;padding:10px 14px;border-radius:var(--radius);background:var(--bg-alt);color:var(--text-soft);font-size:var(--type-callout);line-height:1.5;overflow-wrap:anywhere}.app-root.web .br-quote-head{display:block;margin-bottom:2px;font-size:12px;font-weight:600}.app-root.web .br-conflict-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.app-root.web .br-promoted{font-weight:600;color:var(--ok)}.app-root.web .br-declined{font-weight:600;color:var(--text-soft)}.app-root.web .br-promote{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--radius);background:var(--bg-soft)}.app-root.web .seg-btn .br-attn,.app-root.web .seg-btn.active .br-attn{padding:0 7px;border-radius:var(--radius-pill);background:var(--accent-tint);color:var(--accent-strong);font-weight:600;opacity:1}@media (max-width:640px){.app-root.web .br-sides{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.app-root.web .br-conflict{animation:none}}.app-root.web .bg-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}.app-root.web .bg-controls label{display:flex;flex-direction:column;gap:4px}.app-root.web .bg-controls .br-switch{flex-direction:row;align-items:center;height:38px}.app-root.web .bg-find{display:flex;align-items:flex-end;gap:10px;flex:1 1 260px;min-width:0}.app-root.web .bg-find label{flex:1;min-width:0}.app-root.web .bg-find .dw-field,.app-root.web .bg-asof .dw-field,.app-root.web .bg-role .dw-field{height:38px}.app-root.web .bg-asof{position:relative}.app-root.web .bg-asof .br-hint{position:absolute;right:0;top:0;font-size:12px;pointer-events:none}.app-root.web .bg-range input{width:120px}.app-root.web .bg-legend{display:flex;flex-wrap:wrap;gap:6px}.app-root.web .bg-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:0;border-radius:var(--radius-pill);background:var(--bg-alt);color:var(--text);font:inherit;font-size:var(--type-subhead);font-weight:600;cursor:pointer}.app-root.web .bg-chip.is-off{opacity:.45}.app-root.web .bg-chip.is-static{cursor:default}.app-root.web .bg-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.app-root.web .bg-stage{position:relative;height:max(420px,calc(100dvh - 330px));min-height:360px;border-radius:var(--radius);background:var(--bg-alt);overflow:hidden;touch-action:none}.app-root.web .bg-canvas{display:block;width:100%;height:100%}.app-root.web .bg-wait{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0}.app-root.web .bg-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.app-root.web .bg-label{position:absolute;left:0;top:0;margin:-8px 0 0 10px;font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;text-shadow:0 0 3px var(--bg-soft)}.app-root.web .bg-label.is-hub{margin:-9px 0 0 18px;font-size:13px;font-weight:600}.app-root.web .bg-tip{position:fixed;z-index:20;max-width:320px;padding:6px 10px;border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font-size:var(--type-subhead);box-shadow:var(--float-shadow);pointer-events:none}.app-root.web .bg-panel{width:300px;display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .bg-panel-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.app-root.web .bg-panel-close{margin-left:auto}.app-root.web .bg-panel-title{margin:0;font-size:var(--type-callout);line-height:1.5;overflow-wrap:anywhere}.app-root.web .bg-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;flex:none}.app-root.web .bg-tune{position:relative;z-index:5;display:flex;align-items:center;gap:8px;flex:0 1 280px;min-width:0}.app-root.web .bg-tune-panel{display:flex;flex-direction:column;gap:12px;width:min(600px,calc(100vw - 48px));max-height:calc(100dvh - 240px);overflow-y:auto;overscroll-behavior:contain;padding:14px 16px;border-radius:var(--radius);background:var(--bg-soft);box-shadow:var(--float-shadow)}.app-root.web .bg-tune-panel[hidden]{display:none}.app-root.web .bg-tune-panel>.br-hint{margin:0}.app-root.web .bg-pills{position:absolute;left:12px;bottom:12px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px);pointer-events:none}.app-root.web .bg-pill{margin:0;padding:4px 10px;border:0;border-radius:var(--radius-pill);background:var(--bg-soft);color:var(--text-soft);font:inherit;font-size:12px;font-weight:600;box-shadow:var(--float-shadow)}.app-root.web .bg-pill--warn{pointer-events:auto;cursor:pointer;background:var(--warn-tint);color:var(--warn)}.app-root.web .bg-pill--warn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .bg-sync{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.app-root.web .bg-sync .br-hint{margin:0}.app-root.web .bg-sync-error{flex-basis:100%;color:var(--bad)}.app-root.web .rd-wrap{display:flex;flex-direction:column;gap:14px}.app-root.web .rd-field{display:flex;flex-direction:column;gap:6px}.app-root.web .rd-text{resize:vertical;min-height:72px}.app-root.web .rd-anchors{display:flex;flex-wrap:wrap;gap:6px}.app-root.web .rd-anchor{max-width:100%;text-align:left;white-space:normal}.app-root.web .rd-anchor-kind{color:var(--text-soft);font-weight:600}.app-root.web .rd-answer{display:flex;flex-direction:column;gap:12px}.app-root.web .rd-answer>.br-hint,.app-root.web .rd-answer>.dw-banner{margin:0}.app-root.web .rd-group{display:flex;flex-direction:column;gap:8px}.app-root.web .rd-group-title{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--type-callout)}.app-root.web .rd-lines{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.app-root.web .rd-line{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .rd-line.is-affected{background:var(--warn-tint)}.app-root.web .rd-line.is-not_affected{opacity:.7}.app-root.web .rd-line-name{min-width:0;overflow-wrap:anywhere;font-weight:600}.app-root.web .rd-verdict.is-affected{background:var(--warn-tint);color:var(--warn)}.app-root.web .rd-quote{margin:0;font-style:italic;color:var(--text-soft)}.app-root.web .rd-why summary{cursor:pointer;color:var(--text);font-size:var(--type-subhead);font-weight:600}.app-root.web .rd-why p{margin:6px 0 0;overflow-wrap:anywhere}.app-root.web .rd-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.app-root.web .rd-vote{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.app-root.web .rd-vote .br-hint{margin:0}.app-root.web .rd-draft{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.app-root.web .rd-draft textarea{width:100%;resize:vertical}.app-root.web .wl-wrap{display:flex;flex-direction:column;gap:12px}.app-root.web .wl-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.app-root.web .wl-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .wl-row .br-hint{margin:0}.app-root.web .wl-name{font-weight:600}.app-root.web .wl-mode.is-on{background:var(--selected);color:var(--text)}.app-root.web .wl-pct{margin-left:auto}.app-root.web .wl-hit.is-noise{opacity:.6}.app-root.web .ib-watch{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}@media (max-width:900px){.app-root.web .bg-body{grid-template-columns:minmax(0,1fr)}.app-root.web .bg-panel{width:auto}}@media (min-width:1024px){.app-root.web .pane-body.br-pane{display:flex;flex-direction:column;overflow:hidden}.app-root.web .br-pane>.bg-wrap{flex:1 1 auto;min-height:0;padding-bottom:var(--space-4)}.app-root.web .br-pane .bg-body{flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch}.app-root.web .br-pane .bg-stage{height:auto;min-height:0}.app-root.web .br-pane .bg-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain}}@media (max-width:640px){.app-root.web .bg-stage{height:60vh;min-height:300px}.app-root.web .bg-controls .bg-range{display:none}}.app-root.web .br-fabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto}.app-root.web .br-fab{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font:inherit;font-size:var(--type-subhead);font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.app-root.web .br-fab:hover{border-color:var(--border-strong)}.app-root.web .br-fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root.web .br-fab.is-on{background:var(--text);border-color:var(--text);color:var(--bg-soft)}.app-root.web .br-fab .br-attn{padding:0 7px;border-radius:var(--radius-pill);background:var(--accent-tint);color:var(--accent-strong);font-weight:600;line-height:18px}.app-root.web .br-drawer{position:absolute;top:0;right:0;bottom:0;z-index:4;display:flex;flex-direction:column;width:min(460px,100%);border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border);box-shadow:var(--float-shadow);animation:br-drawer-in .22s var(--motion-ease)}.app-root.web .br-drawer-head{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.app-root.web .br-drawer-head h2{margin:0;font-size:var(--type-headline);font-weight:600;outline:none}.app-root.web .br-drawer-close{margin-left:auto}.app-root.web .br-drawer-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 18px}@keyframes br-drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.app-root.web .br-drawer{animation:none}}@media (max-width:640px){.app-root.web .bg-tune{flex:1 1 100%}.app-root.web .br-fabs{flex:1 1 100%;flex-wrap:nowrap;margin:0;overflow-x:auto;scrollbar-width:none}.app-root.web .br-fab{flex:none}.app-root.web .br-fab{height:32px;padding:0 11px}.app-root.web .br-drawer{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:60;width:auto;height:min(80dvh,640px);border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--float-shadow);animation-name:br-sheet-in}.app-root.web .br-drawer-body{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.app-root.web .br-compose-keys{visibility:hidden}}@keyframes br-sheet-in{0%{transform:translateY(32px);opacity:0}to{transform:none;opacity:1}}.app-root.web .ib-wait-why{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:var(--type-subhead);color:var(--text)}.app-root.web .tk-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}.app-root.web .tk-link:hover{color:var(--text);text-decoration:underline}.app-root.web .tk-unit{font-size:var(--type-footnote);font-weight:500;color:var(--text-soft)}.app-root.web .tk-live{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:24px}.app-root.web .tk-live-dot{display:inline-flex;align-items:center;gap:6px;font-size:var(--type-caption);font-weight:600;color:var(--ok)}.app-root.web .tk-live-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok)}.app-root.web .tk-live-n{font-size:26px;line-height:32px;font-weight:600;font-variant-numeric:tabular-nums}.app-root.web .tk-live-nodes{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .tk-live-nodes b{color:var(--text);font-family:var(--font-mono);font-weight:600}.app-root.web .tk-csv{margin-left:auto;text-decoration:none}.app-root.web .tk-period{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.app-root.web .tk-custom{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.app-root.web .tk-custom label{display:flex;flex-direction:column;gap:4px}.app-root.web .tk-custom .dw-field{width:auto}.app-root.web .tk-bad{color:var(--bad);font-size:var(--type-footnote);font-weight:600}.app-root.web .tk-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.app-root.web .tk-stat{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border:0;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .tk-stat.is-budget,.app-root.web .tk-stat.is-cache,.app-root.web .tk-stat.is-calls{background:var(--bg-alt)}.app-root.web .tk-stat-l{font-size:var(--type-subhead);font-weight:600;color:var(--text-soft)}.app-root.web .tk-stat-n{font-size:28px;line-height:36px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.app-root.web .tk-stat-note{font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .tk-h3{margin:0 0 10px;font-size:var(--type-callout);font-weight:600}.app-root.web .tk-chart-card{padding:16px 18px;border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border);margin-bottom:16px}.app-root.web .tk-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .tk-legend-item{display:inline-flex;align-items:center;gap:6px}.app-root.web .tk-swatch{display:inline-block;width:10px;height:10px;border-radius:var(--radius);flex:none}.app-root.web .tk-swatch.is-input,.app-root.web .tk-bar .is-input{background:var(--tk-input);fill:var(--tk-input)}.app-root.web .tk-swatch.is-write,.app-root.web .tk-bar .is-write{background:var(--tk-write);fill:var(--tk-write)}.app-root.web .tk-swatch.is-output,.app-root.web .tk-bar .is-output{background:var(--tk-output);fill:var(--tk-output)}.app-root.web .tk-plot{position:relative;width:100%;overflow:hidden}.app-root.web .tk-plot svg{display:block}.app-root.web .tk-grid line{stroke:var(--rule);stroke-width:1}.app-root.web .tk-chart-card svg{overflow:visible}.app-root.web .tk-grid text,.app-root.web .tk-x{fill:var(--text-soft);font-size:12px;font-variant-numeric:tabular-nums}.app-root.web .tk-bar.is-hover rect:not(.tk-hit){opacity:.85}.app-root.web .tk-hit{fill:transparent;outline:none}.app-root.web .tk-hit:focus-visible{stroke:var(--accent);stroke-width:2}.app-root.web .tk-tip{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;gap:2px;min-width:170px;padding:8px 10px;border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border);box-shadow:var(--float-shadow);font-size:var(--type-footnote);pointer-events:none;z-index:2}.app-root.web .tk-tip-row{display:flex;align-items:center;gap:6px}.app-root.web .tk-tip-row em{margin-left:auto;font-style:normal;font-variant-numeric:tabular-nums;font-weight:600}.app-root.web .tk-tip-row.is-muted{color:var(--text-soft)}.app-root.web .tk-tip-row.is-total{margin-top:2px;padding-top:4px;border-top:1px solid var(--rule);font-weight:600}.app-root.web .tk-table-toggle,.app-root.web .tk-chart .tbl{margin-top:8px}.app-root.web .tk-breakdowns{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}@media (min-width:1680px){.app-root.web .tk-breakdowns{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-root.web .tk-breakdown{min-width:0}.app-root.web .tk-share{display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.app-root.web .tk-share .dw-cov-bar{width:64px}.app-root.web .tk-share .dw-cov-bar span{background:var(--tk-input)}.app-root.web .tk-total td{font-weight:600;border-top:1px solid var(--border)}.app-root.web .tk-node{display:inline-flex;align-items:center;justify-self:start}.app-root.web .tk-run-mark{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;background:var(--ok);vertical-align:middle}.app-root.web .tk-seat{font-weight:500;color:var(--text-soft)}@media (max-width:640px){.app-root.web .tk-period .seg{flex-wrap:wrap;flex-shrink:1}.app-root.web .tk-stats{grid-template-columns:minmax(0,1fr);gap:8px}.app-root.web .tk-stat{padding:12px 14px}.app-root.web .tk-csv{margin-left:0}.app-root.web .tk-live-n{font-size:22px;line-height:28px}}.app-root.web .dw-idle{color:var(--bad);font-weight:600}.app-root.web .dw-accounts tr.is-picked td{background:var(--bg-alt)}.app-root.web .dw-accounts-how{margin-top:14px;display:flex;flex-direction:column;gap:6px}.app-root.web .dw-backups{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.app-root.web .dw-set-status{margin:0;font-size:13px;color:var(--text)}.app-root.web .dw-set-status.is-bad{padding:8px 12px;border-radius:var(--radius);background:var(--bad-tint);color:var(--bad);font-weight:600}.app-root.web .dw-set-last{flex-basis:100%;order:-1}.app-root.web .dw-ntp-check{margin-top:6px;flex-wrap:wrap;gap:6px 10px}.app-root.web .dw-egress-projects{display:flex;flex-direction:column;gap:6px}.app-root.web .dw-egress-plist{list-style:none;margin:0;padding:0;display:grid;gap:6px}.app-root.web .dw-egress-plist li{display:flex;flex-wrap:wrap;gap:4px 10px;padding:8px 12px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-backups-restore summary{cursor:pointer;font-size:13px;font-weight:600}@media (max-width:640px){.app-root.web .pane-titleline{flex-direction:column;align-items:flex-start;gap:0}.app-root.web .pane-back{display:inline-flex;align-items:center;min-height:44px;font-size:15px;line-height:20px;color:var(--text-soft)}.app-root.web .pane-back:before{content:"‹";margin-right:6px;font-size:20px;line-height:1}}.app-root.web .hm-item-title,.app-root.web .hm-item-sub{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.app-root.web .dw-kpi-grid .dw-tile .dw-art-motif{width:36%;height:36%;opacity:.1}.app-root.web .dw-kpi-grid .dw-tile:hover .dw-art-motif{opacity:.16}.app-root.web .dw-toc{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}@media (min-width:769px){.app-root.web .dw-users table{table-layout:fixed}.app-root.web .dw-users th:first-child{width:40%}.app-root.web .dw-users th:last-child{width:64px}}.app-root.web .bd-drop-touch,.app-root.web .bd-drop[hidden]{display:none}@media (pointer:coarse),(hover:none){.app-root.web .bd-drop{display:none}.app-root.web .bd-drop-touch{display:block}}.app-root.web .w-skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;border-radius:var(--radius);background:var(--text);color:var(--bg-soft);font-weight:600;text-decoration:none}.app-root.web .w-skip:focus{top:12px}.app-root.web .w-content:focus{outline:none}.app-root.web .dw-field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app-root.web[data-theme=dark] .fc-fold-state.is-ok{color:var(--ok)}.app-root.web[data-theme=dark] .w-logo-mark{background:var(--bg-soft);border-radius:50%;padding:3px;box-sizing:content-box}.app-root.web .tk-empty-run td{color:var(--text-soft);font-style:italic;text-align:left}@media (max-width:640px){.app-root.web .tk-empty-run td:before{content:none}}.app-root.web .fc-round-reasons summary:before{color:var(--text-soft);font-size:1em}.app-root.web .fc-read-on{color:var(--text);font-weight:600;white-space:nowrap}.app-root.web .fc-round-reasons details[open] .fc-read-on{display:none}.app-root.web .dw-egress li .dw-host{overflow-wrap:break-word;word-break:normal}@media (max-width:640px){.app-root.web .dw-egress li{flex-wrap:wrap}.app-root.web .dw-egress li .dw-host{flex:1 1 100%}}.app-root.web .dw-model-ep{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.app-root.web .dw-model-last,.app-root.web .dw-model-used{white-space:normal;overflow:visible;text-overflow:clip}.app-root.web .dw-strip-legend{flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}.app-root.web .dw-strip-legend .dw-strip-pill{font-size:12px}.app-root.web .dw-warn-ink{color:var(--warn)}.app-root.web .hm-figure-link{padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}.app-root.web .hm-figure-link:hover{color:var(--accent)}.app-root.web .lib-name{color:inherit;text-decoration:none}.app-root.web .lib-name:hover{color:var(--accent);text-decoration:underline}.app-root.web .dw-sec.is-accepted{padding:20px;margin:8px 0;border:1px solid color-mix(in oklab,var(--ok) 40%,transparent);border-radius:var(--radius);background:var(--ok-tint)}.app-root.web .mb-invite{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:0}.app-root.web .dw-label-inline{display:inline-flex;align-items:center;gap:4px}.app-root.web .dw-row-note{margin-top:4px;font-size:12.5px;color:var(--text)}.app-root.web .dw-members-foot{margin:10px 0 0;white-space:normal;overflow:visible}.app-root.web .mb-ask{display:flex;flex-direction:column;gap:6px;width:100%}.app-root.web .mb-ask .dw-line{flex-wrap:wrap}.app-root.web .mb-ask .dw-field{flex:1 1 220px}.app-root.web .dw-sheet-title{margin:4px 0 12px;font-size:var(--type-title3,18px)}.app-root.web .dw-sheet-chips .dw-role-chip,.app-root.web .dw-sheet-chips .dw-perm{min-height:40px;padding:0 14px;font-size:14px}.app-root.web .w-sheet>.btn-primary{width:100%}.app-root.web button.w-user{width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius)}.app-root.web button.w-user:hover{background:var(--bg-alt)}.app-root.web .fc-round-sum{margin:4px 0}.app-root.web .fc-round-sum-text{margin:0;padding:8px 10px;border-radius:var(--radius);background:var(--bg-alt);font-weight:600;white-space:pre-wrap;font-size:var(--type-subhead)}.app-root.web .dw-ac-cell{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:52ch}.app-root.web .dw-ac-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-soft);font-size:var(--type-footnote)}.app-root.web .dw-ac-why{color:var(--text-soft);font-size:var(--type-footnote);overflow-wrap:anywhere}.app-root.web .dw-ac-files{display:flex;flex-wrap:wrap;gap:4px 10px}.app-root.web .dw-ac-files .dw-link{font-family:var(--font-mono);font-size:12px;font-weight:500}.app-root.web .dw-handover-text{display:flex;flex-direction:column;gap:6px}.app-root.web .dw-handover-head{font-size:var(--type-subhead);line-height:1.35}.app-root.web .dw-handover-chips{display:flex;flex-wrap:wrap;gap:4px}.app-root.web .dw-chip{padding:1px 8px;border-radius:var(--radius-pill);background:var(--bg-alt);font-size:12px;font-weight:500;color:var(--text-soft)}.app-root.web .dw-handover-confirm{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:var(--type-footnote);font-weight:600;color:var(--text)}.app-root.web .dw-handover-acts{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:var(--type-footnote)}.app-root.web .dw-handover-doc{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.app-root.web .dw-link.is-soft{font-weight:500;color:var(--text-soft)}.app-root.web .dw-handover-full{display:flex;flex-direction:column;gap:4px;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .dw-handover-full ul{margin:0;padding-left:1.1rem}.app-root.web .dw-doc-dl{align-self:flex-start;font-size:var(--type-footnote);font-weight:500}.app-root.web .fc-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.app-root.web .fc-filters .seg{max-width:100%;overflow-x:auto}.app-root.web .fc-event-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.app-root.web .fc-event-text{overflow-wrap:anywhere}.app-root.web .fc-event-text.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.app-root.web .fc-item-show{margin-left:8px;font-size:var(--type-footnote)}.app-root.web .fc-items li{flex-wrap:wrap}.app-root.web .fc-item-body{flex-basis:100%;min-width:0;margin:6px 0 0;padding:8px 10px;max-height:320px;overflow:auto;border-radius:var(--radius);background:var(--bg-alt);font-family:var(--font-mono);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.app-root.web .fc-write-earlier{margin:6px 0 0;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .fc-write-earlier summary{cursor:pointer}.app-root.web .fc-write-earlier ul{margin:4px 0 0;padding-left:1.1rem}.app-root.web .dw-unsent{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.app-root.web .fc-event{grid-template-columns:96px 12px minmax(0,1fr)}.app-root.web .fc-event:before{left:111px}.app-root.web .fc-event-at{font-family:inherit;font-size:var(--type-footnote);white-space:nowrap;text-align:right}@media (max-width:640px){.app-root.web .fc-event{grid-template-columns:64px 12px minmax(0,1fr)}.app-root.web .fc-event:before{left:79px}.app-root.web .fc-event-at{white-space:normal}}.app-root.web .fc-rounds li.is-lit{border-radius:var(--radius);background:var(--selected);box-shadow:0 0 0 6px var(--selected)}.app-root.web .pane-titleline .dw-flow-state{align-self:center;flex-shrink:0}.app-root.web .fc-guide{margin:0;padding:10px 14px;border:0;border-radius:var(--radius);background:var(--bg-alt);font-size:var(--type-subhead);line-height:1.45}@media (max-width:640px){.app-root.web .pane-titleline .dw-flow-state{align-self:flex-start;margin-top:4px}}.app-root.web details.fc-ticket-group>summary.fc-ticket-head{padding:8px 10px;border-radius:var(--radius);background:var(--bg-alt);cursor:pointer;list-style:none}.app-root.web details.fc-ticket-group>summary.fc-ticket-head::-webkit-details-marker{display:none}.app-root.web details.fc-ticket-group>summary.fc-ticket-head:after{content:"›";margin-left:auto;font-size:16px;line-height:1;color:var(--text-soft);transition:transform .15s ease}.app-root.web details.fc-ticket-group[open]>summary.fc-ticket-head:after{transform:rotate(90deg)}.app-root.web .fc-ticket-node{font-size:var(--type-footnote);font-weight:600}.app-root.web details.fc-ticket-group>summary.fc-ticket-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:8px;row-gap:2px}.app-root.web details.fc-ticket-group>summary.fc-ticket-head>.dw-tag{justify-self:start}.app-root.web details.fc-ticket-group>summary.fc-ticket-head>.dw-meta{grid-column:1 / -1;grid-row:2}.app-root.web details.fc-ticket-group>summary.fc-ticket-head:after{grid-column:3;grid-row:1;margin-left:0}.app-root.web .fc-ticket-hint{margin:0 0 8px;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web details.fc-tickets-fold>summary.fc-label{padding:10px 12px;border-radius:var(--radius);background:var(--bg-alt);cursor:pointer;list-style:none;justify-content:flex-start}.app-root.web details.fc-tickets-fold>summary.fc-label::-webkit-details-marker{display:none}.app-root.web details.fc-tickets-fold>summary.fc-label:after{content:"›";margin-left:auto;font-size:16px;line-height:1}.app-root.web details.fc-tickets-fold[open]>summary.fc-label{margin-bottom:10px}.app-root.web .dw-nodelist{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.app-root.web .dw-nodelist ol{width:100%;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.app-root.web .dw-nodelist-row{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 12px;border:0;border-radius:var(--radius);background:var(--bg-alt);font:inherit;color:inherit;text-align:left;cursor:pointer}.app-root.web .dw-nodelist-row.is-sel{background:var(--bg-alt);box-shadow:inset 0 0 0 1px var(--text)}.app-root.web .dw-nodelist-name{flex:1 1 auto;min-width:0;font-weight:600}.app-root.web .dw-graph-back{align-self:flex-start}.app-root.web .dw-mm-fail{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-mm-fail p{margin:0;font-weight:600}.app-root.web .dw-mm-fail pre{width:100%;margin:0}.app-root.web .tk-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}.app-root.web .tk-tile{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:0;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .tk-tile.is-total{background:var(--bg-alt)}.app-root.web .tk-tile.is-redo{background:var(--warn-tint)}.app-root.web .tk-tile b{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2}.app-root.web .tk-tile-label,.app-root.web .tk-tile-sub{display:inline-flex;align-items:center;gap:4px;font-size:var(--type-footnote);color:var(--text-soft)}.app-root.web .tk-rounds tr.tk-node-first td{border-top:2px solid var(--border-strong)}@media (max-width:640px){.app-root.web .tk-sum{grid-template-columns:1fr 1fr}.app-root.web .tk-tile.is-total{grid-column:1/-1}}.app-root.web .tk-stat.is-done{background:var(--ok-tint)}.app-root.web .tk-stat-l,.app-root.web .tk-h3{display:inline-flex;align-items:center;gap:6px}.app-root.web .fc-open-all{align-self:flex-start;margin:4px 0 2px;font-size:var(--type-footnote)}.app-root.web .dw-verdict{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;flex-shrink:0;font-size:12px;font-weight:600;line-height:1}.app-root.web .dw-verdict.is-ok{background:var(--ok);color:var(--on-fill)}.app-root.web .dw-verdict.is-ok svg{width:12px;height:12px}.app-root.web .dw-verdict.is-bad{background:var(--bad);color:var(--on-fill)}.app-root.web .fc-fold>summary:before{font-size:16px;line-height:1;margin-right:8px}.app-root.web .tk-tech>summary{cursor:pointer}.app-root.web .fc-sys-line{display:flex;align-items:center;gap:6px}.app-root.web .fc-sys-line>.fc-sys-toggle{flex:1 1 auto;min-width:0}.app-root.web .fc-sys-open{color:var(--text);font-weight:600}.app-root.web .fc-msg-reply{align-self:flex-start;margin-top:4px;font-size:var(--type-footnote)}.app-root.web .sh-guide{position:relative;display:flex;flex-direction:column;gap:10px;margin:0 0 16px;padding:18px 20px 18px 72px;border:0;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .sh-guide-ico{position:absolute;left:20px;top:18px;display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius);background:var(--bg-soft);color:var(--text-soft)}.app-root.web .sh-guide-ico svg{width:20px;height:20px}@media (max-width:640px){.app-root.web .sh-guide{padding-left:20px;padding-top:66px}}.app-root.web .sh-guide-title{margin:0;font-size:var(--type-title3,1.15rem);font-weight:600}.app-root.web .sh-guide p{margin:0}.app-root.web .sh-guide-steps{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:4px}.app-root.web .sh-guide-example{padding:10px 12px;border-radius:var(--radius);background:color-mix(in oklab,var(--bg) 70%,transparent)}.app-root.web .kpi-engine-bar{margin:0 0 8px;flex-wrap:wrap;gap:6px 12px}.app-root.web .dw-kpi-grid .dw-tile .dw-art-motif{top:12px;bottom:auto;right:12px;width:40%;height:38%;opacity:.12}.app-root.web button.tl-text{display:block;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-root.web .tl-row.is-open button.tl-text{white-space:normal;overflow:visible}.app-root.web .tl-loaded{margin:4px 0 0}.app-root.web .dw-lsel-two{display:flex;flex-direction:column;gap:1px;white-space:normal}.app-root.web .dw-lsel-two>span{display:inline-flex;align-items:center;gap:8px}.app-root.web .dw-lsel-two small{font-size:var(--type-caption);font-weight:400;color:var(--text-soft);max-width:340px}.app-root.web .dw-cfg-row.dw-cfg-all{padding:.75rem .9rem;margin:4px 0 6px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-cfg-row.dw-cfg-all+.dw-cfg-row{border-top:0}.app-root.web .cfg-all-title{font-size:var(--type-callout);font-weight:600;color:var(--text)}.app-root.web .dw-cfg-all .cfg-dwname{flex-direction:column;align-items:flex-start;gap:2px}.app-root.web .dw-cfg-all .cfg-dwname .cfg-role{white-space:normal}.app-root.web .dw-cfg-row .cfg-role i{font-style:italic}.app-root.web .cfg-others{gap:10px;padding:.7rem 0 0;flex-wrap:wrap}.app-root.web .cfg-others .dw-lsel{min-width:0;border-style:dashed;background:transparent;color:var(--text);font-weight:600}.app-root.web .dw-cfg-row.is-off>*{opacity:.55}@keyframes cfg-flash{0%{background:var(--ok-tint)}to{background:transparent}}.app-root.web .dw-cfg-row.is-flash{animation:cfg-flash 1.6s ease-out 1}.app-root.web .dw-cfg-row.dw-cfg-all.is-flash{animation:none;box-shadow:0 0 0 2px var(--ok)}@media (prefers-reduced-motion:reduce){.app-root.web .dw-cfg-row.is-flash{animation:none;background:var(--ok-tint)}}.app-root.web .dw-cfg-row.dw-cfg-all{grid-template-columns:240px minmax(0,1fr)}@media (max-width:640px){.app-root.web .dw-cfg-row.dw-cfg-all{grid-template-columns:minmax(0,1fr)}}.app-root.web .dw-flow-cat tr.dw-flow-cat-group th{padding:10px 12px 6px;background:var(--bg-alt);font-size:var(--type-subhead);font-weight:600;color:var(--text);text-align:left;text-transform:none;letter-spacing:0}@media (max-width:640px){.app-root.web .tbl tr.dw-flow-cat-group{padding:8px 2px 0;margin:6px 0;border:0;background:transparent}.app-root.web .tbl tr.dw-flow-cat-group th{display:block;padding:0;background:transparent}}.app-root.web .dw-lsel-pre{display:none;color:var(--text-soft)}@media (min-width:641px) and (max-width:1279px){.app-root.web .dw-cfg-row .dw-cfg-acct{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch}.app-root.web .dw-cfg-row .dw-cfg-acct>.dw-tag,.app-root.web .dw-cfg-row .dw-cfg-acct>.dw-meta,.app-root.web .dw-cfg-row .dw-cfg-acct>.btn{grid-column:1/-1;justify-self:start;order:-1}.app-root.web .dw-cfg-row .dw-cfg-acct>.dw-lsel,.app-root.web .dw-cfg-row .dw-cfg-seat{min-width:0;width:100%}.app-root.web .dw-cfg-row .dw-cfg-seat{gap:4px}.app-root.web .dw-cfg-row .dw-cfg-seat>span[aria-hidden=true]{display:none}.app-root.web .dw-cfg-row .dw-cfg-seat .dw-lsel{flex:1 1 auto;min-width:0}.app-root.web .dw-cfg-row .dw-lsel-pre{display:inline}}@media (min-width:641px) and (max-width:1279px){.app-root.web .dw-cfg-row,.app-root.web .dw-cfg-row.dw-cfg-all{grid-template-columns:150px minmax(0,1fr)}.app-root.web .dw-cfg-row .dw-cfg-acct{gap:6px 8px}}@media (min-width:641px) and (max-width:1279px){.app-root.web .dw-cfg-row .dw-cfg-dw .cfg-role{white-space:normal}}.app-root.web .dw-egress--edit li .dw-mono-sm{flex:0 1 auto}.app-root.web .dw-egress--edit li .dw-egress-remove{margin-left:4px}.app-root.web .dw-egress-foot{margin-top:12px;justify-content:flex-end}.app-root.web .dw-egress-foot b{margin-right:auto;font-weight:600}.app-root.web .cfg-apply{margin-top:14px;flex-wrap:wrap;gap:8px 12px}.app-root.web .cfg-preview{display:grid;gap:6px;margin-top:10px;padding:12px 14px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .dw-setup.dw-setup--sum{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 18px;background:var(--bg-alt)}.app-root.web .dw-setup--sum .dw-sec-title{margin:0 0 2px}.app-root.web .cus-chips{flex-wrap:wrap;max-width:100%}.app-root.web .cus-chips .seg-btn{display:inline-flex;align-items:center;gap:2px}.app-root.web .cus-chip-job{font-weight:500}.app-root.web .cus-chip-n{margin-left:3px;font-weight:600;color:var(--warn)}.app-root.web .seg-btn.active .cus-chip-n{color:inherit}.app-root.web .cus-chip-dot{display:inline-block;width:6px;height:6px;margin-left:5px;border-radius:50%;background:var(--ok)}.app-root.web .dw-link-btn{padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.app-root.web .dw-link-btn:hover{color:var(--text-soft)}.app-root.web .cus-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.app-root.web .cus-toc{display:none}@media (min-width:1280px){.app-root.web .cus-layout{grid-template-columns:minmax(0,1fr) 200px}.app-root.web .cus-toc{display:block;position:sticky;top:76px;align-self:start;padding:12px 14px;border-radius:var(--radius);background:var(--bg-alt)}}.app-root.web .cus-toc b{display:block;margin-bottom:6px;font-size:var(--type-caption);color:var(--text-soft);text-transform:none;letter-spacing:0}.app-root.web .cus-toc ul{margin:0;padding:0;list-style:none;display:grid;gap:2px}.app-root.web .cus-toc-item{display:flex;align-items:center;gap:8px;width:100%;padding:3px 0;border:0;background:none;font:inherit;font-size:var(--type-subhead);color:var(--text);text-align:left;cursor:pointer}.app-root.web .cus-toc-item.is-empty{color:var(--text-soft)}.app-root.web .cus-toc-item:hover{text-decoration:underline}.app-root.web .cus-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.app-root.web .cus-toc-item.is-set .cus-dot{background:var(--ok)}.app-root.web .cus-toc-item.is-draft .cus-dot{background:var(--warn)}.app-root.web .cus-add{display:grid;gap:10px;margin:16px 0;padding:14px 16px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .cus-add .dw-sec-title{margin:0}.app-root.web .cus-add-list{display:flex;flex-wrap:wrap;gap:8px}.app-root.web .cus-tools{gap:8px;flex-wrap:wrap}.app-root.web .cus-section-line{gap:6px;flex-wrap:wrap}.app-root.web .cus-section-line .dw-field{width:auto;min-width:160px}.app-root.web .cus-skills{display:grid;gap:8px;margin:0;padding:0;border:0}.app-root.web .cus-skill{display:flex;gap:10px;align-items:flex-start}.app-root.web .cus-skill small{display:block}.app-root.web .dw-pack-line{margin:0;white-space:normal;overflow:visible;text-overflow:clip}.app-root.web .dw-older-role{margin:8px 0 0 4px}.app-root.web .dw-older-role>summary{cursor:pointer;font-weight:600;padding:4px 0}.app-root.web .dw-pack-preview{display:grid;gap:4px;margin-top:12px;padding:12px 14px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .bg-tune>.bg-tune-panel{position:absolute;top:46px;left:0}.app-root.web .bg-findbar{position:relative;flex:0 1 330px;align-items:center}.app-root.web .bg-findbar .dw-field{height:34px;width:100%;background:var(--bg-soft);box-shadow:none}.app-root.web .bg-find-list{position:absolute;top:42px;left:0;z-index:4;width:min(380px,calc(100vw - 48px));margin:0;padding:6px;list-style:none;border-radius:var(--radius);background:var(--bg-soft);box-shadow:var(--float-shadow)}.app-root.web .bg-find-list .br-hint{padding:4px 8px}.app-root.web .bg-find-list button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:0;border-radius:var(--radius);background:none;font:inherit;font-size:var(--type-subhead);color:var(--text);text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-root.web .bg-find-list button:hover{background:color-mix(in oklab,var(--text) 7%,transparent)}.app-root.web .bg-display{position:relative;z-index:5}.app-root.web .bg-display>.bg-tune-panel{position:absolute;top:42px;left:0;width:min(320px,calc(100vw - 48px))}.app-root.web .bg-chip.is-none{opacity:.4;cursor:not-allowed}.app-root.web .br-fab .br-attn.is-zero{background:var(--bg-alt);color:var(--text-soft)}.app-root.web .br-samples{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.app-root.web .br-quota.is-out{color:var(--bad);font-weight:600}.app-root.web .br-source a{color:var(--text);font-weight:500;text-decoration:underline;text-underline-offset:2px}.app-root.web .bg-tune>.br-fab{flex:none;white-space:nowrap}.app-root.web .bg-asof{display:flex;align-items:flex-end;gap:6px}.app-root.web .lib-usage-title{font-size:var(--type-subhead);font-weight:600;color:var(--text)}.app-root.web .fd.lib-drop{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:96px;cursor:pointer}.app-root.web .fd.lib-drop .fd-main{font-weight:600}.app-root.web .lib-guide{display:flex;gap:14px;align-items:flex-start;margin:0 0 var(--space-5);padding:16px 18px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .lib-guide h2{margin:0 0 4px;font-size:var(--type-callout);font-weight:600;color:var(--text)}.app-root.web .lib-guide p{margin:0 0 6px}.app-root.web .lib-guide ol{margin:4px 0 0;padding-left:20px;display:grid;gap:2px}.app-root.web .lib-guide-ico{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--bg-soft);font-weight:600;font-style:italic;color:var(--text-soft)}.app-root.web .cap-doc-name{justify-content:space-between;flex-wrap:nowrap}.app-root.web .cap-doc-name .cap-doc-fmt .dw-fmt-icon{width:16px;height:20px}.app-root.web .cap-doc-orig{margin-top:-4px}.app-root.web .cap-doc-line{font-size:var(--type-callout);color:var(--text);max-width:80%}.app-root.web .cap-doc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.app-root.web .cap-doc-pill{font-size:12px;font-weight:600;padding:3px 9px;border-radius:var(--radius-pill);background:var(--bg-hover);color:var(--text-soft)}.app-root.web .dw-about-link{padding:0;border:0;background:none;font:inherit;font-size:var(--type-caption);font-weight:600;color:var(--text);text-decoration:underline;text-underline-offset:2px;cursor:pointer;white-space:nowrap}.app-root.web .dw-about-link:hover{color:var(--text-soft)}.app-root.web .w-sheet-back:has(.dw-about-sheet){z-index:200}.app-root.web .dw-about-sheet h2{margin:8px 0 6px;font-size:var(--type-title3,18px)}.app-root.web .dw-about-sheet h3{margin:12px 0 4px;font-size:var(--type-callout)}.app-root.web .dw-about-sheet ul{margin:0 0 8px;padding-left:20px}.app-root.web .ch-more>summary{cursor:pointer;color:var(--text-soft);font-size:var(--type-subhead)}.app-root.web .ch-more[open]>summary{margin-bottom:12px}.app-root.web .ch-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.app-root.web .ch-step{display:flex;flex-direction:column;gap:6px}.app-root.web .ch-what{font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .ch-cmd{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-alt);border-radius:var(--radius)}.app-root.web .ch-cmd code{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;color:var(--text)}.app-root.web .ib-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.app-root.web .ib-file{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;background:var(--bg-alt);border-radius:var(--radius)}.app-root.web .ib-file-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;font-size:var(--type-subhead);color:var(--text)}.app-root.web .ib-file-size{font-size:var(--type-footnote);color:var(--text-soft);white-space:nowrap}.app-root.web .pp{display:flex;flex-direction:column;gap:var(--space-3)}.app-root.web .pp-state{margin:0;color:var(--text)}.app-root.web .pp-file{flex-wrap:wrap}.app-root.web .pp-contract{flex:0 1 220px;min-width:0}.app-root.web .pp-form{display:flex;flex-direction:column;gap:6px}.app-root.web .pp-ok{margin:0;color:var(--ok)}.app-root.web .pp-problems{padding:10px 12px;border-radius:var(--radius);background:var(--warn-tint);color:var(--text)}.app-root.web .pp-problems p{margin:0 0 6px}.app-root.web .pp-problems ul{margin:0;padding-left:18px}.app-root.web .pp-docs{padding:10px 12px;border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-size:var(--type-subhead)}.app-root.web .pp-docs p{margin:0 0 6px;color:var(--text-soft)}.app-root.web .pp-docs ul{margin:0;padding-left:18px}.app-root.web .pm{display:flex;flex-direction:column;gap:var(--space-3);padding:12px;border-radius:var(--radius);background:var(--bg-alt)}.app-root.web .pm-head{margin:0;font-weight:600;color:var(--text);overflow-wrap:anywhere}.app-root.web .pm-note{margin:0;font-size:var(--type-subhead);color:var(--text-soft);overflow-wrap:anywhere}.app-root.web .pm-where{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.app-root.web .pm-where label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:var(--type-subhead);color:var(--text-soft)}.app-root.web .pm-where .dw-field,.app-root.web .pm-map .dw-field{width:100%;min-width:0;height:36px;padding-top:0;padding-bottom:0}.app-root.web .pm-map table,.app-root.web .pm-rows table{width:100%;border-collapse:collapse}.app-root.web .pm-map table{table-layout:fixed}.app-root.web .pm-map th,.app-root.web .pm-map td{padding:6px 10px;vertical-align:middle;text-align:left}.app-root.web .pm-map th{font-weight:500;color:var(--text-soft);font-size:var(--type-subhead)}.app-root.web .pm-map td:first-child{color:var(--text);overflow-wrap:anywhere}.app-root.web .pm-map td:last-child{color:var(--text-soft);font-size:var(--type-subhead);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-root.web .pm-rows th,.app-root.web .pm-rows td{padding:6px 10px;text-align:left;vertical-align:top;font-size:var(--type-subhead);max-width:220px;overflow-wrap:anywhere}.app-root.web .pm-rows th{font-weight:500;color:var(--text-soft);white-space:nowrap}.app-root.web .pm-rows td{color:var(--text)}.app-root.web .pm-count{margin:0;color:var(--text)}.app-root.web .pm-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.app-root.web .pm-done{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--text)}.app-root.web .pm-done svg{width:16px;height:16px;flex:none}@media (max-width:640px){.app-root.web .pm-map tr{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:6px 0;border:0;border-radius:0;background:transparent}.app-root.web .tbl.pm-map td,.app-root.web .tbl.pm-map td[data-label]{display:block;padding:0}.app-root.web .tbl.pm-map td[data-label]:before{content:none}.app-root.web .tbl.pm-map td:last-child{display:none}.app-root.web .pm-rows td{max-width:none}}.app-root.web .bg-stage.is-map{height:auto;min-height:0;background:none;border-radius:0;overflow:visible;touch-action:auto}.app-root.web .bm{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.app-root.web .bm-finding{margin:0;font-size:var(--type-callout);color:var(--text-soft)}.app-root.web .bm-trail{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:var(--type-subhead);color:var(--text-soft);min-width:0}.app-root.web .bm-trail button{padding:0;border:0;background:none;color:var(--text-soft);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.app-root.web .bm-trail button:hover{color:var(--text)}.app-root.web .bm-step{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:320px}.app-root.web .bm-step>:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration-skip-ink:auto}.app-root.web .bm-step [aria-current]{color:var(--text);font-weight:500;outline:none}.app-root.web .bm-map{position:relative;display:grid;grid-template-columns:repeat(var(--bm-cols),minmax(0,1fr));column-gap:88px;align-items:start;min-width:0}.app-root.web .bm-map:not(.is-focus)[style*="--bm-cols: 3"]{grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,5fr)}.app-root.web .bm-map.is-focus{grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr);column-gap:56px}.app-root.web .bm-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.app-root.web .bm-lines path{fill:none;stroke:var(--border-strong);stroke-width:1}.app-root.web .bm-lines path.is-on{stroke:var(--text);stroke-width:1.5}.app-root.web .bm-col{position:relative;display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.app-root.web .bm-centre{position:relative;align-self:center;min-width:0}.app-root.web .bm-centre .bg-panel{width:auto;background:var(--bg-soft);border:1px solid var(--border-strong)}.app-root.web .bm-centre .bg-panel-title{font-weight:600}.app-root.web .bm-group{display:flex;flex-direction:column;gap:2px;min-width:0}.app-root.web .bm-group-head{display:flex;align-items:center;gap:8px;margin:0 0 4px;padding:0 8px;font-size:var(--type-footnote);font-weight:500;color:var(--text-soft)}.app-root.web .bm-count{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:400}.app-root.web .bm-rows{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.app-root.web .bm-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;min-height:44px;padding:5px 8px;border:0;border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font:inherit;text-align:left;cursor:pointer}.app-root.web .bm-row:hover{background:var(--bg-hover)}.app-root.web .bm-row:focus-visible,.app-root.web .bm-more:focus-visible,.app-root.web .bm-chip:focus-visible,.app-root.web .bm-trail button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app-root.web .bm-row-title{display:-webkit-box;max-width:100%;overflow:hidden;font-size:var(--type-subhead);font-weight:500;line-height:1.35;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.app-root.web .bm-row-sub{max-width:100%;font-size:var(--type-footnote);line-height:1.35;color:var(--text-soft);overflow-wrap:anywhere}.app-root.web .bm-more{align-self:flex-start;margin:2px 8px 0;padding:0;border:0;background:none;color:var(--text-soft);font:inherit;font-size:var(--type-footnote);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.app-root.web .bm-more:hover{color:var(--text)}.app-root.web .bm-compact{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:32px;align-items:center}.app-root.web .bm-node{position:relative;margin:0;padding:10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-soft);font-size:var(--type-subhead);font-weight:600;line-height:1.35;overflow-wrap:anywhere}.app-root.web .bm-compact .bm-col{gap:6px}.app-root.web .bm-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);color:var(--text);font:inherit;font-size:var(--type-subhead);text-align:left;cursor:pointer}.app-root.web .bm-list{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--rule)}@media (min-width:1024px){.app-root.web .br-pane .bg-stage.is-map{overflow-y:auto;overscroll-behavior:contain}}@media (max-width:760px){.app-root.web .bm-map{column-gap:28px}}.app-root.web .ui-seg{max-width:100%;overflow-x:auto;scrollbar-width:none;flex-shrink:0}.app-root.web .ui-seg-option{flex:none;white-space:nowrap}
