.ofig{--f-ink:var(--ink);--f-ink-soft:var(--ink-soft);--f-muted:var(--muted);--f-line:#9fb0c8;--f-hair:var(--line);--f-panel:var(--panel);--f-ground:var(--white);--f-quiet:var(--tint);--f-lane:#f1f5fb;--f-accent:var(--blue);--f-accent-text:var(--blue-text);--f-accent-fill:#e6efff;--f-evidence:#0a93b3;--f-evidence-text:#0b6e86;--f-evidence-fill:#e7f7fb;--f-region:#2473ff0b;--f-region-line:#2473ff6b;--f-hatch:#b4c2d6;--f-key:var(--ink);--f-key-text:var(--white);background:var(--f-ground);border:1px solid var(--line);color:var(--f-ink);font-family:var(--body);text-align:left;max-width:100%;margin:0;padding:22px 24px 20px;font-size:14px;line-height:1.45;container:ofig/inline-size}html[data-theme=dark] .ofig{--f-line:#4c5d77;--f-lane:#ddebff0f;--f-accent:#5b8cff;--f-accent-fill:#12223f;--f-evidence:#4fcfe8;--f-evidence-text:#6fd6ea;--f-evidence-fill:#0c222b;--f-region:#5b8cff1a;--f-region-line:#8fb4fb73;--f-hatch:#3c4b62;--f-key:#dbe5f3;--f-key-text:#07101d}.ofig *,.ofig :before,.ofig :after{box-sizing:border-box}.ofig-head{max-width:64ch;margin:0 0 18px}.ofig .ofig-kicker{color:var(--f-accent-text);font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:700;line-height:1.3}.ofig .ofig-claim{color:var(--f-ink);font-family:var(--display);letter-spacing:-.005em;text-wrap:balance;margin:0;font-size:17px;font-weight:600;line-height:1.4}.ofig-body{gap:18px;display:grid}.ofig-stage{margin:0}.ofig-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;max-width:100%;overflow-x:auto}.ofig-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.ofig-scroll-hint{color:var(--muted);text-align:right;margin:6px 0 0;font-size:12.5px}.ofig-svg{height:auto;max-width:calc(var(--ofig-vbw,600) * 1.08px);min-width:min(100%, calc(var(--ofig-vbw,600) * 1px));width:100%;margin-inline:auto;display:block;overflow:visible}@container ofig (max-width:560px){.ofig-svg{min-width:calc(var(--ofig-vbw,600) * .92px)}}.ofig-keys{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 24px;margin:0;padding:0;list-style:none;display:grid}.ofig-keys:has(>li:nth-child(4):last-child){grid-template-columns:repeat(auto-fit,minmax(max(230px,34%),1fr))}.ofig-keys>li{grid-template-columns:22px minmax(0,1fr);align-content:start;column-gap:10px;margin:0;padding:0;display:grid}.ofig .ofig-key{background:var(--f-key);color:var(--f-key-text);font-family:var(--display);text-align:center;border-radius:50%;grid-row:span 2;width:22px;height:22px;font-size:12px;font-weight:700;line-height:22px}.ofig .ofig-key-title{color:var(--f-ink);margin:1px 0 0;font-size:13.5px;font-weight:700;line-height:1.4}.ofig .ofig-key-text{color:var(--f-ink-soft);margin:2px 0 0;font-size:13.5px;line-height:1.55}.ofig .ofig-nowrap{white-space:nowrap}.ofig-head,.ofig-keys,.ofig-legend,.ofig-foot{overflow-wrap:anywhere}.ofig-head code,.ofig-keys code,.ofig-legend code,.ofig-foot code{background:var(--code-bg);border:1px solid var(--code-border);color:var(--code-text);font-family:var(--mono);padding:0 4px;font-size:.9em}.ofig-legend{border-top:1px solid var(--line);color:var(--f-ink-soft);flex-wrap:wrap;gap:8px 22px;margin:18px 0 0;padding:12px 0 0;font-size:12.5px;line-height:1.4;list-style:none;display:flex}.ofig-legend>li{align-items:center;gap:8px;margin:0;padding:0;display:inline-flex}.ofig-glyph{flex:none;width:28px;height:14px;overflow:visible}.ofig .ofig-foot{color:var(--f-muted);margin:10px 0 0;font-size:12.5px;line-height:1.5}.ofig-legend+.ofig-foot{margin-top:8px}.ofig svg text{fill:var(--f-ink);font-family:var(--body);font-size:14px}.ofig svg .t-strong{font-weight:700}.ofig svg .t-code{font-family:var(--mono);font-size:13.5px}.ofig svg .t-label{fill:var(--f-ink-soft);font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.ofig svg .t-small{fill:var(--f-ink-soft);font-size:12.5px}.ofig svg .t-small.t-code{font-size:12.5px}.ofig svg .t-muted{fill:var(--f-muted)}.ofig svg .t-accent{fill:var(--f-accent-text)}.ofig svg .t-evidence{fill:var(--f-evidence-text)}.ofig svg .t-mid{text-anchor:middle}.ofig svg .t-end{text-anchor:end}.ofig .g-box{fill:var(--f-panel);stroke:var(--f-line);stroke-width:1px}.ofig .g-box--accent{fill:var(--f-accent-fill);stroke:var(--f-accent);stroke-width:1.5px}.ofig .g-box--evidence{fill:var(--f-evidence-fill);stroke:var(--f-evidence);stroke-width:1.25px}.ofig .g-box--ghost{fill:none;stroke:var(--f-muted);stroke-dasharray:4 3}.ofig .g-box--quiet{fill:var(--f-quiet);stroke:none}.ofig .g-held{stroke:var(--f-line);stroke-width:1px}.ofig .g-hatch{stroke:var(--f-hatch);stroke-width:1.4px}.ofig .g-cell{fill:var(--f-panel);stroke:var(--f-line);stroke-width:1px}.ofig .g-cell--accent{fill:var(--f-accent-fill);stroke:var(--f-accent)}.ofig .g-cell--evidence{fill:var(--f-evidence-fill);stroke:var(--f-evidence)}.ofig .g-cell--dim{fill:var(--f-quiet);stroke:var(--f-hair)}.ofig .g-state{fill:var(--f-panel);stroke:var(--f-ink-soft);stroke-width:1.25px}.ofig .g-state--accent{fill:var(--f-accent-fill);stroke:var(--f-accent);stroke-width:1.75px}.ofig .g-state--terminal{stroke-width:1.5px}.ofig .g-state-ring{fill:none;stroke:var(--f-ink-soft);stroke-width:1px}.ofig .g-lane{fill:var(--f-lane);stroke:none}.ofig .ofig-glyph .g-lane{stroke:var(--line);stroke-width:1px}.ofig .g-region{fill:var(--f-region);stroke:var(--f-region-line);stroke-width:1px}.ofig .g-line{fill:none;stroke:var(--f-ink-soft);stroke-width:1.25px}.ofig .g-line--accent{stroke:var(--f-accent);stroke-width:2px}.ofig .g-line--evidence{stroke:var(--f-evidence);stroke-width:1.5px}.ofig .g-line--alt{stroke:var(--f-muted);stroke-dasharray:5 4}.ofig .g-line--refuse{stroke:var(--f-muted)}.ofig .g-rule{fill:none;stroke:var(--f-hair);stroke-width:1px}.ofig .g-life{fill:none;stroke:var(--f-line);stroke-dasharray:2 4;stroke-width:1px}.ofig .g-brace{fill:none;stroke:var(--f-ink-soft);stroke-width:1.1px}.ofig .g-dot{fill:var(--f-ink-soft)}.ofig .g-dot--accent{fill:var(--f-accent)}.ofig .g-dot--evidence{fill:var(--f-evidence)}.ofig .g-dot--hollow{fill:var(--f-panel);stroke:var(--f-ink-soft);stroke-width:1.25px}.ofig .g-stop{fill:none;stroke:var(--f-ink-soft);stroke-linecap:butt;stroke-width:3px}.ofig .g-head{fill:var(--f-ink-soft)}.ofig .g-head--accent{fill:var(--f-accent)}.ofig .g-head--evidence{fill:var(--f-evidence)}.ofig .g-head--alt{fill:var(--f-muted)}.ofig .g-key circle{fill:var(--f-key)}.ofig svg .g-key text{dominant-baseline:central;fill:var(--f-key-text);font-family:var(--display);text-anchor:middle;font-size:12px;font-weight:700}.ofig .g-bar{fill:var(--f-line)}.ofig .g-bar--accent{fill:var(--f-accent)}.ofig .g-bar--soft{fill:var(--f-accent-fill);stroke:var(--f-accent);stroke-width:1px}.ofig .g-axis{fill:none;stroke:var(--f-ink-soft);stroke-width:1px}.ofig .g-grid{fill:none;stroke:var(--f-hair);stroke-dasharray:2 3;stroke-width:1px}@container ofig (max-width:560px){.ofig .ofig-claim{font-size:16px}}@media (max-width:640px){.ofig{padding:18px 16px 16px}}
