@import"https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap";:root{--d3-ink: rgb(21, 21, 21);--d3-ink-2: rgb(67, 68, 72);--d3-ink-3: rgb(106, 107, 112);--d3-ink-4: rgb(136, 137, 141);--d3-line: rgb(186, 186, 186);--d3-line-soft: rgb(217, 217, 217);--d3-bg-soft: rgb(228, 228, 228);--d3-bg: rgb(244, 244, 244);--d3-paper: rgb(255, 255, 255);--d3-black: rgb(0, 0, 0);--d3-blue: rgb(23, 55, 208);--d3-blue-deep: rgb(8, 35, 159);--d3-blue-soft: rgb(209, 215, 246);--fg-1: var(--d3-ink);--fg-2: var(--d3-ink-2);--fg-3: var(--d3-ink-3);--fg-mute: var(--d3-ink-4);--fg-on-dark: var(--d3-paper);--fg-link: var(--d3-blue-deep);--bg-page: var(--d3-paper);--bg-section: var(--d3-bg);--bg-chip: var(--d3-bg-soft);--bg-dark: var(--d3-ink);--bg-brand: var(--d3-blue);--border: var(--d3-line);--border-soft: var(--d3-line-soft);--border-strong: var(--d3-ink-2);--accent: var(--d3-blue);--ff-sans: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ff-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fw-thin: 100;--fw-extralight: 200;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--fw-black: 900;--fs-body: 14px;--fs-sm: 13px;--fs-xs: 12px;--fs-caption: 11px;--fs-micro: 10px;--fs-h-app: 18px;--fs-h-page: 16px;--fs-h-section: 13px;--lh-tight: .95;--lh-heading: 1.222;--lh-body: 1.5;--lh-snug: 1.333;--ls-tight: -.01em;--ls-normal: 0;--ls-eyebrow: .06em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-pill: 56px;--radius-circle: 999px;--shadow-card: 0 1px 2px rgba(21, 21, 21, .04), 0 8px 24px rgba(21, 21, 21, .06);--shadow-pop: 0 16px 48px rgba(21, 21, 21, .12);--shadow-focus: 0 0 0 3px rgba(23, 55, 208, .32);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .14s;--dur-base: .22s;--dur-slow: .36s}:root{font-family:var(--ff-sans);font-size:var(--fs-body);color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg-section);color:var(--fg-1)}input,select,textarea{font-family:var(--ff-sans);color:var(--fg-1);background-color:var(--bg-page)}button{font-family:var(--ff-sans)}input::placeholder{color:var(--fg-mute)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--bg-page);min-height:48px}.app-header-logo{height:50px;width:auto;display:block;flex-shrink:0}.app-version{font-size:var(--fs-caption);color:var(--fg-mute);line-height:1;margin-top:2px;letter-spacing:var(--ls-normal)}.app-header-spacer{flex:1}.app-user{font-size:var(--fs-xs);color:var(--fg-3);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-signout{font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--fg-2);font-family:var(--ff-sans);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);white-space:nowrap}.app-signout:hover{background:var(--bg-chip);border-color:var(--border-strong);color:var(--fg-1)}.app-signout:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.app-placeholder{padding:var(--space-5) var(--space-5);color:var(--fg-2);max-width:720px}.app-placeholder p{margin:0 0 var(--space-2)}.app-placeholder h2{margin:var(--space-4) 0 var(--space-2);font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--fg-3)}.app-error{color:#dc143c}.app-info{color:var(--accent);background:#eff6ff;padding:10px 12px;border-radius:var(--radius-sm);border-left:3px solid var(--accent)}.app-result{background:var(--bg-chip);padding:12px;border-radius:var(--radius-md);font-size:var(--fs-xs);margin:0}.auth-form{max-width:360px;display:flex;flex-direction:column;gap:12px}.auth-form h2{margin:0 0 4px;font-size:var(--fs-h-app);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:normal;color:var(--fg-1)}.auth-form label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--fg-2)}.auth-form input{font-size:var(--fs-body);padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);font-family:var(--ff-sans)}.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.auth-submit{font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:8px 14px;background:var(--accent);color:var(--fg-on-dark);border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--ff-sans);transition:opacity var(--dur-fast) var(--ease-out)}.auth-submit:hover:not(:disabled){opacity:.88}.auth-submit:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{font-size:var(--fs-xs);padding:4px;background:transparent;border:none;color:var(--fg-link);cursor:pointer;text-align:left;font-family:var(--ff-sans)}.auth-toggle:hover{text-decoration:underline}.user-menu{position:relative;display:inline-flex}.user-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--bg-page);color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.user-menu-icon:hover{background:var(--bg-chip);border-color:var(--border-strong);color:var(--fg-1)}.user-menu-icon:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.user-menu-pop{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:210px;padding:var(--space-1) 0;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);z-index:50}.user-menu-wsname{padding:var(--space-2) var(--space-3);font-size:var(--fs-xs);color:var(--fg-mute);background:var(--bg-chip);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;background:transparent;font-family:var(--ff-sans);font-size:var(--fs-sm);color:var(--fg-1);cursor:pointer}.user-menu-item:hover{background:var(--bg-chip)}.user-menu-item:focus-visible{outline:none;background:var(--bg-chip)}.user-menu-divider{height:1px;margin:var(--space-1) 0;background:var(--border)}.new-workspace-panel{margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.projects h2{margin:var(--space-5) 0 var(--space-3);font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--fg-3)}.projects h2:first-child{margin-top:0}.project-create{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.project-create input{flex:1;font-size:var(--fs-body);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page)}.project-create input:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.projects-empty{color:var(--fg-mute);font-style:italic;font-size:var(--fs-sm)}.projects-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.project-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.project-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card)}.project-name{font-weight:var(--fw-semibold)}.project-meta{font-size:var(--fs-caption);color:var(--fg-mute)}.workspace-body{display:flex;flex-direction:column;gap:var(--space-4)}.breadcrumb{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs)}.crumb{background:transparent;border:none;color:var(--fg-link);cursor:pointer;padding:2px var(--space-1);font-size:var(--fs-xs);font-family:var(--ff-sans);border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out)}.crumb:hover:not(:disabled){background:var(--bg-chip);text-decoration:underline}.crumb:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.crumb:disabled{color:var(--fg-1);cursor:default;background:transparent}.crumb-current{color:var(--fg-1);font-weight:var(--fw-semibold);cursor:default}.crumb-workspace{color:var(--fg-mute);cursor:default}.state-selector{position:relative;display:inline-flex;margin-left:var(--space-2)}.state-selector-trigger{display:inline-flex;align-items:center;gap:3px;padding:1px var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-chip);color:var(--fg-2);font-family:var(--ff-sans);font-size:var(--fs-xs);cursor:pointer}.state-selector-trigger:hover{color:var(--fg-1)}.state-selector-caret{font-size:9px;line-height:1}.state-selector-pop{position:absolute;top:calc(100% + var(--space-1));left:0;min-width:190px;padding:var(--space-1) 0;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);z-index:50}.state-selector-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;background:transparent;font-family:var(--ff-sans);font-size:var(--fs-sm);color:var(--fg-1);cursor:pointer}.state-selector-item:hover,.state-selector-item:focus-visible{outline:none;background:var(--bg-chip)}.state-selector-item.is-selected{font-weight:var(--fw-semibold)}.state-selector-item.is-selected:before{content:"✓ ";color:var(--fg-2)}.state-selector-divider{height:1px;margin:var(--space-1) 0;background:var(--border)}.state-coming-soon-title{margin:0 0 var(--space-2);font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--fg-1)}.state-coming-soon-actions{display:flex;justify-content:flex-end;margin-top:var(--space-4)}.state-coming-soon-ok{padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent, #1737d0);color:#fff;font-family:var(--ff-sans);font-size:var(--fs-sm);cursor:pointer}.crumb-sep{color:var(--fg-mute);user-select:none}.project-open{background:transparent;border:none;color:var(--fg-link);cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-semibold);padding:0;text-align:left;font-family:var(--ff-sans)}.project-open:hover{text-decoration:underline}.app-placeholder:has(.canvas-wrap){max-width:none}.canvas-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);overflow:auto;position:relative}.minimap-wrap{position:absolute;bottom:var(--space-3);right:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffffeb;backdrop-filter:blur(4px);box-shadow:var(--shadow-card);pointer-events:auto;overflow:hidden;line-height:0}.minimap-svg{display:block}.canvas-svg{width:100%;height:70vh;display:block;-webkit-user-select:none;user-select:none}.dfd-body{fill:#fff;stroke:#1a1a1a;stroke-width:1.5}.dfd-node-process .dfd-body{fill:#fff}.dfd-cap{fill:#f0f0f2;stroke:#1a1a1a;stroke-width:1.5}.dfd-name{font-weight:var(--fw-semibold);fill:#1a1a1a;dominant-baseline:middle}.dfd-node{cursor:pointer}.dfd-node[data-selected=true] .dfd-body{stroke:var(--accent);stroke-width:2.5}.dfd-decision-diamond{fill:#fff;stroke:#333;stroke-width:1.5}.dfd-decision-bound{stroke:#94a3b8;stroke-width:1}.dfd-node[data-selected=true] .dfd-decision-bound{stroke:var(--accent);stroke-width:1.5}.dfd-node.dfd-prop-highlight .dfd-body,.dfd-node.dfd-prop-highlight .dfd-cap,.dfd-node.dfd-prop-highlight .dfd-decision-diamond{stroke:#16a34a;stroke-width:2.5}.dfd-node.dfd-prop-highlight{filter:drop-shadow(0 0 3px rgba(22,163,74,.65))}.dfd-flow.dfd-prop-highlight .dfd-flow-line{stroke:#16a34a;stroke-width:2.5}.dfd-flow.dfd-prop-highlight .dfd-arrowhead{fill:#16a34a}.dfd-flow-line{fill:none;stroke:#555;stroke-width:1.5;pointer-events:none}.dfd-arrowhead{fill:#555}.dfd-flow-label{fill:#333}.dfd-flow-heading{fill:#333;font-weight:var(--fw-semibold)}.dfd-flow-prop{fill:#888}.dfd-prop-status-dot.is-confirmed{fill:#1737d0}.dfd-prop-status-dot.is-assumed{fill:#fff;stroke:#1737d0;stroke-width:1.2;stroke-dasharray:2 2}.dfd-prop-status-dot.is-unsourced{fill:#d97706}.dfd-prop-status-dot.is-external{fill:#94a3b8}.dfd-prop-status-dot.is-multi{fill:#7c3aed}.dfd-node-attr{fill:#888;font-style:italic;pointer-events:none}.dfd-seq-badge-bg{fill:#1e3a5f;opacity:.85;pointer-events:none}.dfd-seq-badge-text{fill:#fff;font-size:9px;font-weight:600;pointer-events:none}.dfd-flow-mot{fill:#888;font-style:italic;pointer-events:none}.dfd-branch-label{fill:#7c3aed;font-weight:var(--fw-semibold);cursor:text;user-select:none}.ext-radios{display:flex;gap:12px;font-size:var(--fs-sm)}.ext-radio{display:flex;align-items:center;gap:4px}.palette{display:flex;gap:var(--space-1);padding:var(--space-2);border-bottom:1px solid var(--border);flex-wrap:wrap}.palette-btn{font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);cursor:pointer;font-family:var(--ff-sans);color:var(--fg-2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.palette-btn:hover{background:var(--bg-chip);color:var(--fg-1);border-color:var(--border-strong)}.palette-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.palette-btn-active{background:var(--accent);color:var(--fg-on-dark);border-color:var(--accent);font-weight:var(--fw-semibold)}.palette-btn-active:hover{background:var(--accent);color:var(--fg-on-dark);border-color:var(--accent);opacity:.9}.dialog-backdrop{position:fixed;inset:0;background:#15151547;display:flex;align-items:center;justify-content:center;z-index:10}.dialog{background:var(--bg-page);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-pop);min-width:280px}.dialog-hint{font-size:var(--fs-xs);color:var(--fg-3);margin:0;line-height:var(--lh-body)}.assign-inbound{display:flex;flex-direction:column;gap:4px;margin:4px 0;padding-top:6px;border-top:1px solid var(--border, #e5e7eb)}.assign-inbound-candidates{display:flex;flex-direction:column;gap:2px;max-height:140px;overflow-y:auto}.assign-inbound-add{align-self:flex-start}.auto-layout-dialog{min-width:320px;text-align:center}.auto-layout-body{display:flex;align-items:center;gap:10px;margin:8px 0}.auto-layout-spinner{flex:0 0 auto;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent, #2563eb);border-radius:50%;animation:auto-layout-spin .8s linear infinite}@keyframes auto-layout-spin{to{transform:rotate(360deg)}}.auto-layout-improved{font-size:var(--fs-sm);font-weight:600;margin:4px 0 12px}.inherit-sections{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;margin:4px 0}.inherit-section-head{display:flex;align-items:center;gap:6px;font-weight:var(--fw-semibold)}.inherit-props{display:flex;flex-direction:column;gap:2px;margin:2px 0 2px 20px}.inherit-prop{display:flex;align-items:center;gap:6px;font-weight:var(--fw-regular)}.action-bar{display:flex;align-items:center;gap:var(--space-2);padding:6px 10px;min-height:40px;box-sizing:border-box;border-bottom:1px solid var(--border);flex-wrap:wrap}.breadcrumb .export-pdf-control{margin-left:auto;margin-right:249px}.export-pdf-control{display:inline-flex;align-items:center;gap:var(--space-2)}.export-pdf-btn{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);cursor:pointer;font-family:var(--ff-sans);color:var(--fg-2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.export-pdf-btn:hover:not(:disabled){background:var(--bg-chip)}.export-pdf-btn:disabled{opacity:.6;cursor:default}.export-pdf-error{font-size:var(--fs-xs)}.action-bar .palette{padding:0;border-bottom:none}.action-bar-notes-count{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--fg-mute)}.action-bar-menu{position:relative;display:inline-flex}.action-bar-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.action-bar-menu-btn:hover{background:var(--bg-chip);border-color:var(--border-strong);color:var(--fg-1)}.action-bar-menu-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.action-bar-menu-pop{position:absolute;top:calc(100% + var(--space-2));left:0;min-width:210px;padding:var(--space-1) 0;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);z-index:50}.action-bar-menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;background:transparent;font-family:var(--ff-sans);font-size:var(--fs-sm);color:var(--fg-1);cursor:pointer}.action-bar-menu-item:hover:not(:disabled){background:var(--bg-chip)}.action-bar-menu-item:focus-visible{outline:none;background:var(--bg-chip)}.action-bar-menu-item:disabled{color:var(--fg-mute);cursor:default}.action-bar-menu-hint{font-size:var(--fs-xs);color:var(--fg-mute)}.action-bar-menu-divider{height:1px;margin:var(--space-1) 0;background:var(--border)}.align-control{position:relative;display:inline-flex}.align-menu-pop{position:absolute;top:calc(100% + var(--space-2));left:0;min-width:200px;padding:var(--space-1) 0;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);z-index:50}.action-bar-menu-footer-hint{padding:var(--space-2) var(--space-3);padding-top:var(--space-1);border-top:1px solid var(--border);margin-top:var(--space-1);font-size:var(--fs-xs);color:var(--fg-mute);line-height:1.4}.action-bar-zoomgroup{display:flex;align-items:center;gap:6px;margin-left:auto;padding-left:var(--space-2);border-left:1px solid var(--border);font-size:11px}.action-bar-zoomgroup .palette-btn{font-size:11px;padding:2px 6px}.zoom-pct{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;min-width:40px;text-align:center}.label-scale-sep{width:1px;height:16px;background:var(--border);margin:0 4px}.label-pct{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;min-width:40px;text-align:center}.diagnostics{margin-top:32px;font-size:var(--fs-xs);color:var(--fg-mute)}.diagnostics summary{cursor:pointer;user-select:none}.dfd-handle{fill:var(--accent);stroke:#fff;stroke-width:1.5;cursor:crosshair;opacity:.9;pointer-events:none}.dfd-handle-hit{fill:transparent;cursor:crosshair}.dfd-handle-group:hover .dfd-handle{r:8}.dfd-handle-decomposed{fill:#1d4ed8;stroke:#dbeafe;stroke-width:2;opacity:1}.dfd-handle-group:hover .dfd-handle-decomposed{r:11}.dfd-rubber{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 4;fill:none;pointer-events:none}.dfd-flow-hit{fill:none;stroke:transparent;stroke-width:18;vector-effect:non-scaling-stroke;cursor:pointer}.dfd-flow-line[data-selected=true]{stroke:var(--accent);stroke-width:2.5}.dfd-anchor{fill:#fff;stroke:var(--accent);stroke-width:2;pointer-events:none}.dfd-anchor-hit{fill:transparent;cursor:crosshair}.dfd-anchor-group:hover .dfd-anchor{fill:var(--accent)}.dfd-seg-handle{fill:#fff;stroke:var(--accent);stroke-width:1.5;pointer-events:none}.dfd-seg-handle-hit{fill:transparent}.dfd-seg-handle-group:hover .dfd-seg-handle{fill:var(--d3-blue-soft)}.dfd-vertex-handle{fill:#fff;stroke:var(--accent);stroke-width:2;pointer-events:none}.dfd-vertex-handle-hit{fill:transparent}.dfd-vertex-handle-group:hover .dfd-vertex-handle{fill:var(--accent)}.dfd-flow-line[data-status=green]{stroke:#16a34a}.dfd-flow-line[data-status=yellow]{stroke:#eab308}.dfd-flow-line[data-status=red]{stroke:#dc2626}.dfd-flow-line[data-selected=true]{stroke:var(--accent)}.editor{display:flex;gap:9px;align-items:flex-start}.editor .canvas-wrap{flex:1;min-width:0}.right-rail{width:240px;flex:none;display:flex;flex-direction:column;gap:8px;max-height:80vh;overflow:hidden}.inspector{overflow-y:auto;flex:1 1 auto;min-height:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);padding:var(--space-3);font-size:var(--fs-sm);position:relative;z-index:10}.inspector-section{padding:var(--space-2) 0;border-top:1px solid var(--border-soft)}.inspector-section:first-child{padding-top:0;border-top:none}.inspector-title{margin:0 0 var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--fg-1);letter-spacing:var(--ls-tight)}.inspector-subtitle{margin:0 0 var(--space-3);font-size:var(--fs-caption);color:var(--fg-mute);text-transform:uppercase;letter-spacing:var(--ls-eyebrow)}.inspector-label{display:block;margin-bottom:var(--space-1);font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--fg-3);line-height:var(--lh-body)}.status-swatches{display:flex;align-items:center;gap:8px;margin:8px 0}.status-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.status-swatch-active{border-color:var(--fg-1)}.status-clear{font-size:var(--fs-xs);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);cursor:pointer;font-family:var(--ff-sans);color:var(--fg-2);transition:background var(--dur-fast) var(--ease-out)}.status-clear:hover{background:var(--bg-chip);color:var(--fg-1)}.status-clear:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.status-swatch:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.inspector-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--fg-2);margin-top:var(--space-2)}.inspector-field:first-child{margin-top:0}.inspector-field textarea{font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;font-family:var(--ff-sans);color:var(--fg-1)}.inspector-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.status-derived{margin:6px 0 0;font-size:var(--fs-caption);line-height:1.4;color:#92400e}.status-derived-tag{display:inline-block;padding:1px 6px;margin-right:4px;font-size:9px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:#fff;background:#d97706;border-radius:3px}.inspector-name{font-size:var(--fs-body);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--ff-sans);color:var(--fg-1)}.inspector-name:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.inspector-mot{font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--ff-sans);color:var(--fg-1)}.inspector-mot:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.payload-section{margin-bottom:8px}.payload-name-row{display:flex;align-items:center;gap:4px;margin-bottom:4px}.payload-name{flex:1;font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--ff-sans)}.payload-prop-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:3px;margin-left:12px}.payload-prop{flex:1;font-size:var(--fs-xs);padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--ff-sans)}.payload-section-remove,.payload-prop-remove{background:transparent;border:none;color:var(--fg-mute);cursor:pointer;font-size:var(--fs-xs);line-height:1;padding:2px 4px;flex:none}.payload-section-remove:hover,.payload-prop-remove:hover{color:var(--fg-2)}.payload-add-prop{display:block;font-size:var(--fs-caption);background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:3px 8px;cursor:pointer;margin-left:12px;margin-top:2px;width:calc(100% - 12px);color:var(--fg-3);font-family:var(--ff-sans)}.payload-add-prop:hover{border-color:var(--fg-mute);color:var(--fg-1)}.payload-drag-handle{color:var(--border);cursor:grab;font-size:var(--fs-body);line-height:1;flex:none;padding:0 2px;user-select:none}.payload-drag-handle:hover{color:var(--fg-mute)}.payload-prop-row.payload-drop-indicator{border-top:2px solid var(--d3-blue-soft)}.payload-drop-zone{height:4px;margin:0 0 2px 12px}.payload-drop-zone.payload-drop-zone-active{background:var(--d3-blue-soft);border-radius:2px}.payload-name-row.payload-drop-target-section{border-top:2px solid var(--d3-blue-soft)}.payload-bottom-controls{display:flex;gap:6px;margin-top:4px}.payload-add-section{display:block;font-size:var(--fs-caption);background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer;flex:1;color:var(--fg-3);font-family:var(--ff-sans)}.payload-add-section:hover{border-color:var(--fg-mute);color:var(--fg-1)}.object-browser{width:200px;flex:none;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);padding:var(--space-2);font-size:var(--fs-sm);max-height:70vh;overflow:auto}.object-browser-collapsed{width:auto;padding:4px}.ob-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rail-tabs{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:6px;margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 8px;padding:var(--space-2) var(--space-2) 6px;background:var(--bg-page);border-bottom:1px solid var(--border)}.rail-tabs-buttons{display:flex;gap:2px}.rail-tab{background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:var(--ff-sans);font-size:var(--fs-xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--fg-mute);padding:4px 8px}.rail-tab:hover{color:var(--fg-base)}.rail-tab-active{color:var(--fg-base);border-bottom-color:var(--accent, #2563eb)}.rail-body{min-height:0}.props-browser-list,.props-object-list{list-style:none;margin:0;padding:0}.props-browser-empty{color:var(--fg-mute);padding:8px 2px}.props-item{display:flex;align-items:center;gap:4px;width:100%;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--ff-sans);font-size:var(--fs-sm);text-align:left;padding:3px 4px;color:var(--fg-base)}.props-item:hover{background:var(--bg-soft)}.props-item-selected{background:var(--bg-soft);font-weight:600}.props-item-caret{color:var(--fg-mute);width:.9em}.props-object-list{margin:1px 0 4px 18px}.props-object-row{display:block;width:100%;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--ff-sans);font-size:var(--fs-xs);text-align:left;padding:2px 4px;color:var(--fg-base)}.props-object-row:hover{background:var(--bg-soft)}.props-object-dnum{color:var(--fg-mute);font-variant-numeric:tabular-nums}.props-object-role-p{color:#16a34a;font-weight:600}.props-object-role-c{color:var(--fg-mute);font-weight:600}.props-object-empty{color:var(--fg-mute);font-size:var(--fs-xs);padding:2px 4px 2px 18px}.ob-toggle{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-xs);padding:2px 8px;font-family:var(--ff-sans)}.pane-collapse-icon{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:2px;color:var(--fg-mute);line-height:0}.pane-collapse-icon:hover{background:var(--bg-soft);color:var(--fg-base)}.ob-group{margin-bottom:10px}.ob-group-label{font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--fg-mute)}.ob-item{display:block;width:100%;text-align:left;background:transparent;border:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);font-family:var(--ff-sans);color:var(--fg-1);transition:background var(--dur-fast) var(--ease-out)}.ob-item:hover{background:var(--bg-chip)}.ob-item:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.ob-item-disabled{color:var(--fg-mute);cursor:not-allowed}.ob-item-disabled:hover{background:transparent}.ob-row{display:flex;flex-direction:column}.ob-item-row{display:flex;align-items:center;gap:4px}.ob-expand,.ob-expand-spacer{width:16px;flex:0 0 16px;background:transparent;border:none;cursor:pointer;color:var(--fg-3);font-size:var(--fs-caption);padding:0;text-align:center}.ob-count{font-size:var(--fs-caption);color:var(--fg-mute)}.ob-props{list-style:none;margin:0 0 4px 20px;padding:0;font-size:var(--fs-xs);color:#64748b}.ob-props li{margin:2px 0}.dfd-node[data-virtual=true] .dfd-body{stroke-dasharray:6 4}.dfd-multi-instance-icon{color:#475569}.dfd-multi-instance-icon:hover{color:#1e293b}.dfd-label-leader{stroke:var(--border);stroke-width:1;stroke-dasharray:3 3;fill:none;pointer-events:none}.dfd-label-block-hit{fill:transparent;stroke:none}.dfd-label-block-sel{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 3;pointer-events:none}text.dfd-flow-prop.dfd-prop-selected{fill:var(--d3-blue);font-weight:var(--fw-semibold)}text.dfd-item-reorder-btn{fill:#6b7280}text.dfd-item-reorder-btn:hover{fill:var(--accent)}text.dfd-item-section-reorder-btn{fill:#6b7280}text.dfd-item-section-reorder-btn:hover{fill:var(--accent)}text.dfd-item-section-add-btn{fill:#16a34a}text.dfd-item-section-add-btn:hover{fill:#15803d}.lbcm-backdrop{position:fixed;inset:0;z-index:30}.lbcm{position:fixed;display:flex;flex-direction:column;gap:2px;min-width:164px;padding:var(--space-1);background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop)}.lbcm-item{text-align:left;padding:var(--space-2) var(--space-2);font-size:var(--fs-sm);color:var(--fg-1);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--ff-sans);transition:background var(--dur-fast) var(--ease-out)}.lbcm-item:hover:not(:disabled){background:var(--bg-chip)}.lbcm-item:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.lbcm-item:disabled{color:var(--fg-mute);cursor:default}.lbcm-item--danger{color:#dc2626}.lbcm-item--danger:hover:not(:disabled){background:#fef2f2}.lbcm-sep{border:none;border-top:1px solid var(--border-soft);margin:2px 0}.lbcm-inline-input{width:100%;height:100%;padding:1px 3px;font-size:inherit;font-family:var(--ff-sans);border:1px solid var(--accent);border-radius:3px;outline:none;background:var(--bg-page);color:var(--fg-1);box-sizing:border-box}.dfd-summary{cursor:pointer}.dfd-summary-body{fill:#f1f5f9;stroke:#94a3b8;stroke-width:1.5;stroke-dasharray:6 4}.dfd-summary[data-selected=true] .dfd-summary-body{stroke:var(--accent);stroke-width:2.5}.dfd-summary-title{fill:#e2e8f0;stroke:none}.dfd-summary-titletext{fill:#475569;font-weight:var(--fw-semibold);pointer-events:none}.dfd-summary-toggle{fill:#475569;font-weight:var(--fw-bold)}.dfd-summary-subtitle{fill:#94a3b8;font-style:italic;pointer-events:none}.dfd-summary-band{fill:#334155;font-weight:var(--fw-semibold);pointer-events:none}.dfd-summary-line{fill:#64748b;pointer-events:none}.dfd-summary-lane{stroke:#94a3b8;stroke-width:1.25;stroke-dasharray:5 3;fill:none;pointer-events:none}.dfd-marquee{fill:#1737d014;stroke:var(--accent);stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.dfd-summary-conn-label{fill:#64748b;font-weight:var(--fw-bold);letter-spacing:.03em;pointer-events:none;paint-order:stroke;stroke:var(--bg-page);stroke-width:3px;stroke-linejoin:round}.bc-spine{pointer-events:none}.bc-edge-obj-name{pointer-events:none;-webkit-user-select:none;user-select:none}.bc-repo-bar{pointer-events:none}.bc-wall-anchor{cursor:crosshair}.bc-anchor-glyph{pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:var(--fw-bold)}.bc-stub-line{cursor:pointer}.bc-payload-section{paint-order:stroke;font-weight:var(--fw-semibold);-webkit-user-select:none;user-select:none;cursor:pointer}.bc-payload-prop{paint-order:stroke;font-style:italic;-webkit-user-select:none;user-select:none}.bc-payload-hit{cursor:pointer}.bc-payload-scroll-box{font-family:var(--ff-sans);-webkit-user-select:none;user-select:none}.bc-color-chip{cursor:pointer}.inherited-group .inspector-label{color:var(--accent)}.inherited-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 0;font-size:var(--fs-sm)}.inherited-row .inherited-name{color:var(--fg-1)}.inherited-stale .inherited-name{color:#b45309}.inherited-remove{border:none;background:none;cursor:pointer;color:#64748b;font-size:var(--fs-xs);line-height:1}.inherited-remove:hover{color:#dc2626}.payload-row-unmet{fill:#dc2626;color:#dc2626}text.dfd-flow-heading.payload-row-unmet,text.dfd-flow-prop.payload-row-unmet{font-weight:var(--fw-semibold)}.payload-row-inherited{fill:#64748b;font-style:italic}.payload-row-stale{fill:#b45309}.dfd-unmet-link-pill{fill:var(--accent);font-weight:var(--fw-bold)}.dfd-unmet-link-pill:hover{fill:var(--d3-blue)}.unmet-group .inspector-label{color:#dc2626}.unmet-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 0;font-size:var(--fs-sm)}.unmet-row .unmet-name{color:#dc2626;font-weight:var(--fw-semibold)}.unmet-picker{flex:1 1 auto;min-width:0;font-size:var(--fs-xs)}.unmet-panel{position:absolute;top:48px;right:12px;z-index:20;width:280px;max-height:50%;overflow-y:auto;background:var(--bg-page);border:1px solid #fecaca;border-left:3px solid #dc2626;border-radius:var(--radius-md);box-shadow:var(--shadow-card);font-size:var(--fs-sm)}.unmet-panel-header{display:block;width:100%;padding:8px 10px;border:none;background:#fef2f2;color:#b91c1c;font-weight:var(--fw-bold);text-align:left;cursor:pointer;font-family:var(--ff-sans)}.unmet-panel.all-met{border-color:#bbf7d0;border-left-color:#16a34a}.unmet-panel.all-met .unmet-panel-header{background:#f0fdf4;color:#15803d}.unmet-panel-list{margin:0;padding:4px 0;list-style:none}.unmet-panel-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;padding:4px 10px}.unmet-panel-name{color:#dc2626;font-weight:var(--fw-semibold)}.unmet-panel-attr{color:#64748b;font-size:var(--fs-xs)}.unmet-panel-row-met{opacity:.75}.unmet-panel-name-met{color:#64748b;font-weight:var(--fw-semibold)}.unmet-panel-declared{display:inline-block;padding:0 5px;border-radius:var(--radius-pill, 999px);background:#fef3c7;color:#b45309;border:1px solid #fde68a;font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.unmet-panel-soft-help{flex-basis:100%;font-style:italic}.summary-provenance{margin:4px 0 0;padding-left:16px;font-size:var(--fs-xs);color:#475569}.summary-provenance li{margin:2px 0}.inspector-empty{margin:4px 0 0;font-size:var(--fs-xs);font-style:italic;color:#94a3b8}.ob-drag-ghost{position:fixed;z-index:1000;pointer-events:none;padding:4px 10px;font-size:var(--fs-sm);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--fg-on-dark);box-shadow:var(--shadow-pop);opacity:.92}.dfd-decompose-shadow rect{fill:#fff;stroke:var(--dfd-node-stroke, #475569);stroke-width:1.5;opacity:.55}.dfd-node-num{fill:#475569;font-weight:var(--fw-semibold);pointer-events:none}.inspector-decompose{display:flex;flex-direction:column;gap:8px;margin-top:12px}.inspector-btn{font-size:var(--fs-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);cursor:pointer;text-align:left;font-family:var(--ff-sans);color:var(--fg-1);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.inspector-btn:hover:not(:disabled){background:var(--bg-chip);border-color:var(--border-strong)}.inspector-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.inspector-btn:disabled{opacity:.5;cursor:not-allowed}.inspector-btn-danger{color:#b91c1c;border-color:#f0c0c0}.inspector-btn-danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.canvas-subchrome{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:8px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:var(--radius-md);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:#3730a3;width:fit-content}.canvas-subchrome-back{border:1px solid #c7d2fe;background:var(--bg-page);border-radius:var(--radius-sm);cursor:pointer;padding:2px 8px;font-size:var(--fs-body);line-height:1;font-family:var(--ff-sans)}.canvas-levelcrumbs{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);margin-bottom:8px}.canvas-levelcrumbs .crumb{background:transparent;border:none;cursor:pointer;color:var(--fg-link);font-size:var(--fs-xs);padding:0;text-decoration:underline;font-family:var(--ff-sans)}.canvas-levelcrumbs .crumb-current{color:var(--fg-1);font-weight:var(--fw-semibold);text-decoration:none}.canvas-levelcrumbs .crumb-sep{color:var(--fg-mute)}.required-mark{color:#b91c1c;margin-left:2px}.field-label{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--fg-2);letter-spacing:var(--ls-normal)}.project-create{align-items:flex-end}.project-create-field{flex:1;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--fg-2)}.kind-picker-backdrop{position:fixed;inset:0;z-index:30}.kind-picker{position:fixed;display:flex;flex-direction:column;gap:2px;min-width:160px;padding:var(--space-1);background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop)}.kind-picker-title{padding:var(--space-1) var(--space-2) var(--space-1);font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--fg-3)}.kind-picker-item{text-align:left;padding:var(--space-2) var(--space-2);font-size:var(--fs-sm);color:var(--fg-1);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--ff-sans);transition:background var(--dur-fast) var(--ease-out)}.kind-picker-item:hover{background:var(--bg-chip)}.kind-picker-item:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.producer-control{flex-basis:100%;min-width:0;width:100%;display:flex;align-items:center;gap:4px;margin-left:18px;font-size:var(--fs-xs);color:var(--fg-3)}.producer-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--fg-3)}.producer-dot[data-status=confirmed]{background:var(--status-green, #2e7d32)}.producer-dot[data-status=assumed],.producer-dot[data-status=multi]{background:var(--status-yellow, #f9a825)}.producer-dot[data-status=unsourced]{background:var(--status-red, #c62828)}.producer-dot[data-status=external]{background:#94a3b8}.producer-status{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.producer-btn{flex:none;padding:1px 6px;font-size:var(--fs-caption);color:var(--fg-1);background:var(--bg-chip);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--ff-sans)}.producer-btn:hover{background:var(--bg-page)}.producer-btn-confirm{font-weight:var(--fw-bold)}.producer-picker{width:248px}.producer-picker-filter{margin:0 var(--space-1) var(--space-1);width:calc(100% - var(--space-2))}.producer-picker-list{display:flex;flex-direction:column;gap:2px;max-height:46vh;overflow-y:auto}.producer-picker-group{display:flex;flex-direction:column;gap:2px}.producer-picker-group-header{padding:var(--space-1) var(--space-2);font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--fg-3);background:transparent;border:none;text-align:left;cursor:pointer;font-family:var(--ff-sans)}.producer-picker-group-header:hover{color:var(--fg-1)}.producer-picker-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.producer-picker-kind{font-size:var(--fs-caption);color:var(--fg-3);text-transform:uppercase;letter-spacing:var(--ls-eyebrow)}.producer-picker-external{margin-top:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--fs-caption);color:var(--fg-3);background:transparent;border:none;border-top:1px solid var(--border);text-align:left;cursor:pointer;font-family:var(--ff-sans)}.producer-picker-external:hover{color:var(--fg-1)}.locate-popover-backdrop{position:fixed;inset:0;z-index:30}.locate-popover{position:fixed;max-width:248px;padding:var(--space-3) var(--space-3);background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);font-size:var(--fs-sm)}.locate-popover-msg{margin:0 0 var(--space-1);font-weight:var(--fw-semibold);color:var(--fg-1)}.locate-popover-sub{margin:0 0 var(--space-3);font-size:var(--fs-xs);color:var(--fg-mute)}.locate-popover-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.locate-popover-go,.locate-popover-cancel{padding:var(--space-1) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--ff-sans);transition:opacity var(--dur-fast) var(--ease-out)}.locate-popover-go{color:var(--fg-on-dark);background:var(--accent);border:1px solid var(--accent)}.locate-popover-go:hover{opacity:.88}.locate-popover-go:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.locate-popover-cancel{color:var(--fg-2);background:transparent;border:1px solid var(--border)}.locate-popover-cancel:hover{background:var(--bg-chip);color:var(--fg-1)}.locate-popover-cancel:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.decompose-dialog-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#00000040}.decompose-dialog{max-width:360px;padding:16px 18px;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);font-size:var(--fs-sm)}.decompose-dialog-msg{margin:0 0 8px}.decompose-dialog-list{margin:0 0 8px;padding-left:18px}.decompose-dialog-num{font-variant-numeric:tabular-nums;color:var(--fg-2);font-weight:var(--fw-semibold)}.decompose-dialog-sub{margin:0 0 14px;font-size:var(--fs-xs);color:var(--fg-mute)}.decompose-dialog-actions{display:flex;gap:8px;justify-content:flex-end}.decompose-dialog-go{padding:6px 12px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--fg-on-dark);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--ff-sans)}.decompose-dialog-cancel{padding:6px 12px;font-size:var(--fs-sm);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--ff-sans)}.dfd-droptarget-ring{fill:none;stroke:#16a34a;stroke-width:2.5;stroke-dasharray:5 3;pointer-events:none}.ob-add{background:transparent;border:none;cursor:pointer;font-size:var(--fs-body);padding:0 4px;color:var(--fg-2);margin-left:4px}.ob-add:hover{color:var(--accent)}.ob-new-dept{display:block;width:calc(100% - 8px);margin:2px 4px 4px;padding:3px 6px;font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--ff-sans)}.ob-role-row{padding-left:12px}.actor-field{position:relative}.actor-scope-crumb{color:var(--fg-mute);font-size:var(--fs-xs)}.actor-dropdown{position:absolute;z-index:50;left:0;right:0;margin:2px 0 0;padding:4px 0;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);max-height:240px;overflow-y:auto}.actor-row{padding:6px 10px;font-size:var(--fs-sm);cursor:pointer}.actor-row-active{background:var(--bg-chip)}.actor-row[data-create]{color:var(--accent)}.ob-num{color:var(--fg-mute);font-size:var(--fs-caption)}.dfd-staged-pill{fill:#64748b;pointer-events:none}.staged-row{display:flex;gap:4px;align-items:center;margin-bottom:4px}.staged-row input.staged-name{flex:1;min-width:0}.staged-row button{flex:none}input.staged-add{width:100%;margin-top:4px}.branch-row{display:flex;gap:6px;align-items:center;margin:2px 0}.branch-target{font-size:12px;color:#475569;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-row input.branch-label-input{flex:1;min-width:0}.payload-derived-name{font-weight:600;font-size:var(--fs-caption)}.payload-derived-prop{font-size:var(--fs-caption);color:#475569;padding-left:12px}.seq-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.seq-chip{display:inline-flex;align-items:center;gap:2px;background:#eef2f7;border:1px solid #cbd5e1;border-radius:10px;padding:1px 6px;font-size:var(--fs-caption)}.seq-chip button{border:none;background:none;cursor:pointer;font-size:11px;color:#64748b;padding:0}input.seq-add{width:40px;border:1px dashed #cbd5e1;border-radius:10px;font-size:var(--fs-caption);padding:1px 6px}.wizard-ai-card{border:1px dashed var(--border);color:#94a3b8;border-radius:var(--radius-md);padding:8px 10px;margin:10px 0;font-size:var(--fs-xs);cursor:not-allowed}.outputs-list{list-style:none;margin:4px 0 6px;padding:0;display:flex;flex-direction:column;gap:4px}.outputs-loose-end{display:flex;align-items:center;gap:4px;font-size:var(--fs-xs)}.outputs-loose-end-warn{position:relative;color:#b45309;font-size:var(--fs-xs);flex:none;cursor:default;background:transparent;border:none;padding:0;line-height:1;outline-offset:2px}.outputs-loose-end-warn:before{content:attr(aria-label);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);white-space:nowrap;background:var(--bg-dark);color:var(--fg-on-dark);font-size:var(--fs-caption);padding:3px 7px;border-radius:var(--radius-sm);pointer-events:none;opacity:0;transition:opacity .15s;z-index:100}.outputs-loose-end-warn:hover:before,.outputs-loose-end-warn:focus-visible:before{opacity:1}.outputs-name-btn{flex:1;min-width:0;text-align:left;background:transparent;border:none;padding:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:#92400e;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ff-sans)}.outputs-name-btn:hover{text-decoration:underline;color:#78350f}.outputs-rename-input{flex:1;min-width:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:2px 4px;border:1px solid var(--border);border-radius:3px;color:var(--fg-1);background:var(--bg-page);font-family:var(--ff-sans)}.outputs-row-actions{display:flex;align-items:center;gap:3px;flex:none}.outputs-route-btn{font-size:var(--fs-caption);padding:2px 6px;border:1px solid var(--border);border-radius:3px;background:var(--bg-page);cursor:pointer;white-space:nowrap;color:var(--fg-2);font-family:var(--ff-sans)}.outputs-route-btn:hover:not(:disabled){background:var(--bg-chip);color:var(--fg-1)}.outputs-route-btn:disabled{opacity:.5;cursor:not-allowed}.outputs-delete-btn{background:transparent;border:none;color:var(--fg-mute);cursor:pointer;font-size:var(--fs-xs);line-height:1;padding:2px 3px}.outputs-delete-btn:hover{color:#dc2626}.outputs-golden-badge{display:inline-flex;align-items:center;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:var(--radius-pill);padding:1px var(--space-2);white-space:nowrap;flex:none}.outputs-golden-other{font-size:var(--fs-caption);color:var(--fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px;flex:none}.outputs-golden-action{font-family:var(--ff-sans);font-size:var(--fs-caption);font-weight:var(--fw-medium);padding:1px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:var(--bg-page);color:var(--fg-2);white-space:nowrap;flex:none;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.outputs-golden-action:hover:not(:disabled){background:var(--bg-chip);border-color:var(--border-strong);color:var(--fg-1)}.outputs-golden-action:disabled{opacity:.5;cursor:not-allowed}.outputs-golden-set{color:var(--d3-blue-deep);border-color:var(--d3-blue-soft);background:var(--d3-blue-soft)}.outputs-golden-set:hover:not(:disabled){background:#bfcbf7;border-color:var(--accent);color:var(--d3-blue-deep)}.project-actions-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-2);background:var(--bg-section);border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.project-actions-sep{width:1px;height:16px;background:var(--border);margin:0 var(--space-1);flex:none}.project-action-btn{font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;white-space:nowrap;color:var(--fg-2);font-family:var(--ff-sans);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.project-action-btn:hover{background:var(--bg-chip);color:var(--fg-1);border-color:var(--border)}.project-action-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.diagrams-table{width:100%;border-collapse:collapse;margin-top:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.diagrams-th{text-align:left;font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--fg-3);padding:var(--space-1) var(--space-3) var(--space-2);border-bottom:1px solid var(--border);background:var(--bg-section)}.diagrams-th-name{width:50%}.diagrams-th-type{width:auto}.diagrams-th-actions{width:40px}.diagrams-row{background:var(--bg-page);border-bottom:1px solid var(--border-soft);transition:background var(--dur-fast) var(--ease-out)}.diagrams-row:last-child{border-bottom:none}.diagrams-row:hover{background:var(--bg-section)}.diagrams-td{padding:var(--space-2) var(--space-3);vertical-align:middle}.diagrams-td-actions{text-align:right;padding-right:var(--space-2)}.diagram-type-badge{display:inline-block;font-size:var(--fs-caption);font-weight:var(--fw-medium);padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--d3-blue-soft);color:var(--d3-blue-deep);border:1px solid rgba(23,55,208,.18);white-space:nowrap;letter-spacing:var(--ls-normal)}.diagram-menu-btn{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:16px;line-height:1;padding:var(--space-1) var(--space-2);color:var(--fg-3);font-family:var(--ff-sans);transition:background var(--dur-fast) var(--ease-out)}.diagram-menu-btn:hover,.diagram-menu-btn[aria-expanded=true]{background:var(--bg-chip);border-color:var(--border);color:var(--fg-1)}.diagram-menu-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.diagram-row-menu-backdrop{position:fixed;inset:0;z-index:99}.diagram-row-menu{min-width:210px;padding:var(--space-1) 0;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop)}.diagram-row-menu-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--fg-1);background:transparent;border:none;cursor:pointer;font-family:var(--ff-sans);transition:background var(--dur-fast) var(--ease-out)}.diagram-row-menu-item:hover{background:var(--bg-chip)}.diagram-row-menu-item:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.diagram-row-menu-sep{height:0;border:none;border-top:1px solid var(--border-soft);margin:var(--space-1) 0}.loose-ends-module{border:1px solid #fde68a;border-left:3px solid #d97706;border-radius:var(--radius-md);background:var(--bg-page);font-size:var(--fs-xs);max-height:240px;overflow-y:auto;flex:0 1 auto;min-height:0;box-shadow:var(--shadow-card)}.loose-ends-module-header{display:block;width:100%;padding:var(--space-2) var(--space-2);border:none;border-bottom:1px solid #fde68a;background:#fffbeb;color:#92400e;font-weight:var(--fw-bold);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);text-align:left;cursor:pointer;font-family:var(--ff-sans);transition:background var(--dur-fast) var(--ease-out)}.loose-ends-module-header:hover{background:#fef3c7}.loose-ends-module-header:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.loose-ends-module-list{margin:0;padding:2px 0;list-style:none}.loose-ends-module-row{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:3px 8px}.loose-ends-module-info{display:flex;flex-direction:column;min-width:0;flex:1}.loose-ends-module-name{font-weight:var(--fw-semibold);color:#b45309;font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loose-ends-module-attr{font-size:var(--fs-caption);color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loose-ends-route-btn{font-size:var(--fs-caption);padding:2px 6px;border:1px solid var(--border);border-radius:3px;background:var(--bg-page);cursor:pointer;white-space:nowrap;flex:none;color:var(--fg-2);font-family:var(--ff-sans)}.loose-ends-route-btn:hover:not(:disabled){background:var(--bg-chip);color:var(--fg-1)}.loose-ends-route-btn:disabled{opacity:.5;cursor:not-allowed}.provenance-panel{border:1px solid #c7d2fe;border-left:3px solid #1737d0;border-radius:var(--radius-md);background:var(--bg-page);font-size:var(--fs-xs);max-height:280px;overflow-y:auto;flex:0 1 auto;min-height:0;box-shadow:var(--shadow-card)}.provenance-panel-header{display:block;width:100%;padding:var(--space-2) var(--space-2);border:none;border-bottom:1px solid #c7d2fe;background:#eef2ff;color:#1e3a8a;font-weight:var(--fw-bold);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);text-align:left;cursor:pointer;font-family:var(--ff-sans);transition:background var(--dur-fast) var(--ease-out)}.provenance-panel-header:hover{background:#e0e7ff}.provenance-panel-header:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.provenance-progress{padding:var(--space-2) var(--space-2);font-size:var(--fs-caption);color:var(--fg-2)}.provenance-progress-bar{margin-top:4px;height:4px;border-radius:2px;background:#e0e7ff;overflow:hidden}.provenance-progress-fill{height:100%;background:#1737d0;transition:width var(--dur-fast) var(--ease-out)}.provenance-empty{padding:var(--space-2) var(--space-2);font-size:var(--fs-caption);color:var(--fg-2);font-style:italic}.provenance-loose-summary{padding:var(--space-1) var(--space-2);font-size:var(--fs-caption);color:var(--accent-amber, #d97706)}.provenance-group-hint{padding:0 var(--space-2) 2px;font-size:var(--fs-caption);color:var(--fg-2);font-style:italic}.provenance-group{padding-bottom:2px}.provenance-group-header{padding:3px 8px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--fg-2);text-transform:uppercase;letter-spacing:var(--ls-eyebrow)}.provenance-row{display:flex;align-items:center;gap:4px;width:100%;padding:3px 8px 3px 16px;border:none;background:transparent;text-align:left;cursor:pointer;font-family:var(--ff-sans);font-size:var(--fs-xs);color:var(--fg-1)}.provenance-row:hover{background:var(--bg-soft)}.provenance-row:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.provenance-name{font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provenance-producers{font-size:var(--fs-caption);color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto}.provenance-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;flex:none}.provenance-dot.is-confirmed{background:#1737d0}.provenance-dot.is-assumed{background:#fff;border:1.5px dashed #1737d0}.provenance-dot.is-unsourced{background:#d97706}.provenance-dot.is-multi{background:#7c3aed}.provenance-dot.is-external{background:#94a3b8}.provenance-dot[data-used=yes]{background:#1737d0}.provenance-dot[data-used=no]{background:#dc2626}.declared-outputs-summary{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-2)}.declared-outputs-inspect{border:1px solid var(--border, #d0d0d0);background:var(--bg-1, #fff);border-radius:4px;cursor:pointer;padding:1px 6px;font-size:12px;line-height:1.4}.declared-outputs-inspect:hover{background:var(--bg-2, #f2f2f2)}.declared-outputs-overlay{max-width:360px}.declared-outputs-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.declared-outputs-close{border:none;background:transparent;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px}.declared-outputs-list{list-style:none;margin:8px 0 0;padding:0;max-height:320px;overflow-y:auto}.declared-outputs-row{display:flex;align-items:center;padding:3px 0}.declared-outputs-name{font-size:13px}.bc-producer-annotation{fill:#94a3b8;font-style:italic}.bc-producer-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;flex:none;vertical-align:middle}.bc-producer-dot.is-confirmed{fill:#1737d0;background:#1737d0}.bc-producer-dot.is-assumed{fill:#fff;background:#fff;stroke:#1737d0;stroke-width:1.5;stroke-dasharray:2 1.5;border:1.5px dashed #1737d0}.bc-producer-dot.is-unsourced{fill:#d97706;background:#d97706}.bc-producer-dot.is-multi{fill:#7c3aed;background:#7c3aed}.bc-producer-dot.is-external{fill:#94a3b8;background:#94a3b8}.app-placeholder:has(.pb-root){max-width:none}.pb-root{display:flex;flex-direction:column;height:calc(100vh - 96px);min-height:400px}.pb-header-bar{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0 var(--space-4);border-bottom:1px solid var(--border);margin-bottom:var(--space-4)}.pb-back-btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg-link);cursor:pointer;font-family:var(--ff-sans);font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:var(--space-1) var(--space-3);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);white-space:nowrap}.pb-back-btn:hover{background:var(--bg-chip);border-color:var(--border-strong);color:var(--fg-1)}.pb-back-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.pb-view-title{margin:0;font-size:var(--fs-h-page);font-weight:var(--fw-semibold);color:var(--fg-1);letter-spacing:var(--ls-tight);line-height:var(--lh-heading)}.pb-view-subtitle{font-size:var(--fs-xs);color:var(--fg-3)}.pb-body{display:flex;flex:1;overflow:hidden;gap:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);box-shadow:var(--shadow-card)}.pb-glossary-pane{width:260px;min-width:200px;flex:none;display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden}.pb-glossary-search-wrap{padding:var(--space-3);border-bottom:1px solid var(--border-soft)}.pb-search{width:100%;font-family:var(--ff-sans);font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-section);color:var(--fg-1);box-sizing:border-box}.pb-search:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.pb-glossary-list{list-style:none;margin:0;padding:var(--space-1) 0;overflow-y:auto;flex:1}.pb-glossary-list li{margin:0}.pb-glossary-item{width:100%;display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;font-family:var(--ff-sans);text-align:left;transition:background var(--dur-fast) var(--ease-out)}.pb-glossary-item:hover{background:var(--bg-section)}.pb-glossary-item-selected{background:var(--d3-blue-soft);border-left-color:var(--accent)}.pb-glossary-item-selected:hover{background:var(--d3-blue-soft)}.pb-glossary-item:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.pb-glossary-item-main{display:flex;align-items:center;gap:var(--space-1)}.pb-glossary-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--fg-1)}.pb-glossary-item-meta{font-size:var(--fs-caption);color:var(--fg-3)}.pb-meta-flow{font-variant-numeric:tabular-nums}.pb-detail-pane{flex:1;overflow-y:auto;min-width:0}.pb-no-selection{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--space-6)}.pb-no-selection-hint{color:var(--fg-mute);font-size:var(--fs-sm);font-style:italic;text-align:center}.pb-lineage-panel{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.pb-lineage-header{display:flex;flex-direction:column;gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-soft)}.pb-lineage-title{margin:0;font-size:var(--fs-h-page);font-weight:var(--fw-semibold);color:var(--fg-1);letter-spacing:var(--ls-tight)}.pb-lineage-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--fg-3)}.pb-meta-count{font-variant-numeric:tabular-nums}.pb-meta-sep{color:var(--fg-mute);user-select:none}.pb-ambiguity-note{margin:var(--space-2) 0 0;font-size:var(--fs-xs);color:var(--d3-ink-2);background:#fef9c3;border:1px solid #fde68a;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3)}.pb-section{display:flex;flex-direction:column;gap:var(--space-2)}.pb-section-heading{margin:0;font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--fg-3)}.pb-level-group{display:flex;flex-direction:column;gap:var(--space-1)}.pb-level-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--fg-mute);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);padding:var(--space-1) 0}.pb-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--bg-section);border:1px solid var(--border-soft);font-size:var(--fs-sm)}.pb-row-main{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.pb-row-actions{display:flex;align-items:center;gap:var(--space-1);flex:none}.pb-object-name{font-weight:var(--fw-medium);color:var(--fg-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-object-kind{font-size:var(--fs-caption);color:var(--fg-3);background:var(--bg-chip);border-radius:var(--radius-pill);padding:1px var(--space-2);text-transform:lowercase;flex:none}.pb-flow-arrow{font-size:var(--fs-xs);color:var(--fg-2);font-family:var(--ff-mono)}.pb-badge{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);padding:1px var(--space-2);border-radius:var(--radius-pill);flex:none}.pb-badge-master{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.pb-badge-small{padding:0 4px;font-size:var(--fs-micro)}.pb-chip{display:inline-flex;align-items:center;font-size:var(--fs-caption);font-weight:var(--fw-medium);padding:1px var(--space-2);border-radius:var(--radius-pill);flex:none}.pb-chip-inherited{background:#ede9fe;color:#5b21b6;border:1px solid #ddd6fe}.pb-chip-boundary{background:var(--d3-blue-soft);color:var(--d3-blue-deep);border:1px solid #a5b4fc}.pb-chip-declared{background:var(--bg-chip);color:var(--fg-3);border:1px solid var(--border-soft)}.pb-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;flex:none;vertical-align:middle}.pb-status-dot.is-confirmed{background:#1737d0}.pb-status-dot.is-assumed{background:#fff;border:1.5px dashed #1737d0}.pb-status-dot.is-unsourced{background:#d97706}.pb-status-dot.is-external{background:#94a3b8}.pb-status-dot.is-multi{background:#7c3aed}.pb-producer-status{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-caption);color:var(--fg-3);flex:none}.pb-status-label{font-size:var(--fs-caption);color:var(--fg-3)}.pb-empty-status{display:flex;align-items:center;gap:0}.pb-golden-mark{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:var(--radius-pill);padding:1px var(--space-2);flex:none}.pb-action-btn{font-family:var(--ff-sans);font-size:var(--fs-caption);font-weight:var(--fw-medium);padding:2px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:var(--bg-page);color:var(--fg-2);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);white-space:nowrap}.pb-action-btn:hover:not(:disabled){background:var(--bg-chip);border-color:var(--border-strong);color:var(--fg-1)}.pb-action-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.pb-action-btn:disabled{opacity:.5;cursor:not-allowed}.pb-action-set{color:var(--d3-blue-deep);border-color:var(--d3-blue-soft);background:var(--d3-blue-soft)}.pb-action-set:hover:not(:disabled){background:#bfcbf7;border-color:var(--accent);color:var(--d3-blue-deep)}.pb-action-clear{color:var(--fg-3)}.pb-loading-text{font-size:var(--fs-sm);color:var(--fg-mute);font-style:italic;padding:var(--space-5)}.pb-empty{font-size:var(--fs-sm);color:var(--fg-mute);font-style:italic;margin:0;padding:var(--space-2) 0}.pb-glossary-empty{padding:var(--space-4) var(--space-3)}.pb-lineage-loading{display:flex;align-items:center;justify-content:center;min-height:160px}.sticky-note-body{cursor:default}.note-text{white-space:pre-wrap;overflow-wrap:break-word;font-family:var(--ff-sans);font-size:12px;line-height:1.35;color:#111;padding:8px;box-sizing:border-box;width:100%;height:100%;overflow:hidden}.note-text-edit{width:100%;height:100%;box-sizing:border-box;padding:8px;border:none;outline:none;resize:none;background:transparent;font-family:var(--ff-sans);font-size:12px;line-height:1.35;color:#111;white-space:pre-wrap;overflow-wrap:break-word}.note-tether{stroke:#94a3b8;stroke-width:1.2;fill:none;pointer-events:none}.note-tether-preview{stroke-width:1.5;fill:none;pointer-events:none}.note-pin{cursor:pointer}.note-pin-dot{fill:#ffffffd9;pointer-events:none}.note-swatch{cursor:pointer}.note-link-handle{cursor:grab}.note-resize-handle{fill:#fff;stroke:var(--border-strong, #94a3b8);stroke-width:1}.dfd-resize-handle{fill:#fff;stroke:var(--accent, #2563eb);stroke-width:1.5}.dfd-resize-handle:hover{fill:var(--accent, #2563eb)}.notes-count-badge{display:inline-block;min-width:16px;padding:0 4px;margin-left:2px;border-radius:8px;background:var(--bg-chip);color:var(--fg-2);font-size:var(--fs-xs);text-align:center}
