@property --morph-progress{syntax: "<number>"; inherits: true; initial-value: 0;}@layer components{.nv-figure{margin:0}.nv-stage{position:relative}.nv-stage>svg{display:block;inline-size:100%;block-size:auto}.nv-s-ink,.nv-s-line,.nv-s-soft,.nv-s-accent,.nv-s-risk,.nv-s-ok{fill:none;stroke-linecap:round;stroke-linejoin:round}.nv-s-ink{stroke:var(--text)}.nv-s-line{stroke:var(--line-strong)}.nv-s-soft{stroke:var(--line)}.nv-s-accent{stroke:var(--accent)}.nv-s-risk{stroke:var(--status-risk)}.nv-s-ok{stroke:var(--status-approved)}.nv-s-dashed{fill:none;stroke:var(--line-strong);stroke-dasharray:8 6;stroke-linecap:round;stroke-linejoin:round}.nv-s-dashed--accent{stroke:var(--accent)}.nv-f-ink{fill:var(--text)}.nv-f-accent{fill:var(--accent)}.nv-f-surface{fill:var(--surface-raised)}.nv-pulse{fill:var(--accent-hover)}.nv-svg-label{font-family:var(--font-body);font-size:13px;font-weight:var(--weight-medium);fill:var(--text-muted);letter-spacing:0}.nv-svg-label--risk{fill:var(--status-risk)}.nv-svg-symbol{font-family:var(--font-mono);font-size:15px;font-weight:var(--weight-medium);fill:var(--text)}.nv-label{position:absolute;inset-inline-start:var(--nv-x);inset-block-start:var(--nv-y);inline-size:var(--nv-w, auto);margin:0;font-size:var(--type-caption);line-height:1.3;color:var(--text-muted);text-align:var(--nv-align, start);pointer-events:none}.nv-label--strong{color:var(--text);font-weight:var(--weight-bold)}.nv-callout{margin:var(--space-4) 0 0;padding-inline-start:var(--space-4);border-inline-start:2px solid var(--line-strong);font-size:var(--type-caption);line-height:var(--leading-body);color:var(--text-muted);max-inline-size:60ch}.tbm-cbm-morph{display:grid;gap:var(--space-6)}.tbm-cbm-morph__captions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--space-5)}.tbm-cbm-morph__caption-title{margin:0;font-weight:var(--weight-bold);font-size:var(--type-body);color:var(--text)}.tbm-cbm-morph__caption-body{margin:var(--space-2) 0 0;font-size:var(--type-caption);line-height:var(--leading-body);color:var(--text-muted)}.tbm-cbm-morph[data-morph-mode] .morph-before{opacity:calc(1 - .65 * var(--morph-progress, 0))}.tbm-cbm-morph[data-morph-mode] .morph-after{opacity:calc(.35 + .65 * var(--morph-progress, 0))}.tbm-cbm-morph[data-morph-mode] .morph-head{transform:translateY(calc(-130px * (1 - var(--morph-progress, 0))))}.tbm-cbm-morph[data-morph-mode=io] .morph-before,.tbm-cbm-morph[data-morph-mode=io] .morph-after,.tbm-cbm-morph[data-morph-mode=io] .morph-head,.tbm-cbm-morph[data-morph-mode=toggle] .morph-before,.tbm-cbm-morph[data-morph-mode=toggle] .morph-after,.tbm-cbm-morph[data-morph-mode=toggle] .morph-head,.tbm-cbm-morph[data-morph-mode=scrubber] .morph-before,.tbm-cbm-morph[data-morph-mode=scrubber] .morph-after,.tbm-cbm-morph[data-morph-mode=scrubber] .morph-head{transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}@supports (animation-timeline: view()){.tbm-cbm-morph[data-morph-mode=timeline]{animation:nv-morph-progress linear both;animation-timeline:view(block 20%)}}@keyframes nv-morph-progress{0%{--morph-progress: 0}to{--morph-progress: 1}}.tbm-cbm-morph__controls{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tbm-cbm-morph__toggle{min-block-size:44px;padding:var(--space-2) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);font:inherit;font-size:var(--type-caption);font-weight:var(--weight-medium);cursor:pointer}.tbm-cbm-morph__toggle[aria-pressed=true]{border-color:var(--accent);background:var(--red-tint-08);font-weight:var(--weight-bold)}.tbm-cbm-morph__scrubber-label{display:block;margin-block-end:var(--space-2);font-size:var(--type-caption);color:var(--text-muted)}.tbm-cbm-morph__range{inline-size:100%;block-size:44px;accent-color:var(--accent);cursor:pointer}.tbm-cbm-morph__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--space-5) var(--space-6);border-block-start:1px solid var(--line);padding-block-start:var(--space-6)}.tbm-cbm-morph__stat-value{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.25rem);font-weight:var(--weight-black);font-variant-numeric:tabular-nums;line-height:1;color:var(--text)}.tbm-cbm-morph__stat-label{margin:var(--space-2) 0 0;font-size:var(--type-caption);color:var(--text-muted)}.tbm-cbm-morph__footnote{grid-column:1 / -1;margin:0;font-size:var(--type-micro);line-height:var(--leading-body);color:var(--text-muted)}.flow-map__stage{display:flex;flex-direction:column;gap:var(--space-3)}.flow-map__svg{display:none}.flow-map__heading{margin:0;font-size:var(--type-caption);font-weight:var(--weight-bold);color:var(--text)}.flow-map__heading+.flow-map__heading,.flow-map__nodes+.flow-map__heading,.flow-map__boundary+.flow-map__heading{margin-block-start:var(--space-4)}.flow-map__nodes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.flow-map__node{display:flex;align-items:center;min-block-size:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow-1);font-size:var(--type-caption);line-height:1.25;color:var(--text)}.flow-map__boundary{padding:var(--space-4);border:2px dashed var(--line-strong);border-radius:var(--radius-lg);text-align:center}.flow-map__boundary-title{margin:0;font-size:var(--type-body);font-weight:var(--weight-bold);color:var(--text)}.flow-map__boundary-sub{margin:var(--space-1) 0 0;font-family:var(--font-mono);font-size:var(--type-micro);color:var(--text-muted)}@media(min-width:46em){.flow-map__stage{display:block;position:relative;aspect-ratio:960 / 560}.flow-map__svg{display:block;position:absolute;inset-block:0;inset-inline:0;inline-size:100%;block-size:100%}.flow-map__heading,.flow-map__boundary,.flow-map__node{position:absolute;inset-inline-start:var(--nv-x);inset-block-start:var(--nv-y);inline-size:var(--nv-w);margin:0}.flow-map__nodes{display:contents}.flow-map__node{block-size:var(--nv-h);min-block-size:0;padding-block:var(--space-1)}.flow-map__boundary{border:0;padding:0}.flow-map__heading+.flow-map__heading,.flow-map__nodes+.flow-map__heading,.flow-map__boundary+.flow-map__heading{margin-block-start:0}}.one-line{display:block}.one-line--compact .nv-label{display:none}.boundary-diagram{display:block}@media(max-width:30em){.nv-label{font-size:var(--type-micro)}}}
