.afig{--afig-blue:#1f5fa8;--afig-amber:#9a5b00;--afig-green:#1a7f4b;--afig-purple:#6d4ac4;--afig-red:#c8322b;--afig-sans:var(--font-plex-sans,var(--font-geist-sans)), "IBM Plex Sans", system-ui, sans-serif;--afig-mono:var(--font-plex-mono,var(--font-jetbrains-mono)), "IBM Plex Mono", ui-monospace, monospace;border:1px solid var(--border);background:var(--bg-elevated);color:var(--fg);font-family:var(--afig-sans);border-radius:14px;margin:0;line-height:1.5;overflow:hidden;container-type:inline-size}.guide-section .afig{margin:26px 0}:root[data-theme=dark] .afig{--afig-blue:#7cb7ff;--afig-amber:#f2c063;--afig-green:#4cc38a;--afig-purple:#b39dfa;--afig-red:#fb7185}.afig .hue-blue{--hue:var(--afig-blue)}.afig .hue-amber{--hue:var(--afig-amber)}.afig .hue-green{--hue:var(--afig-green)}.afig .hue-purple{--hue:var(--afig-purple)}.afig .hue-red{--hue:var(--afig-red)}.afig .hue-accent{--hue:var(--accent)}.afig .hue-ink{--hue:var(--fg-subtle)}.afig-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;padding:12px 12px 4px 20px;display:grid}.afig-title{letter-spacing:-.01em;color:var(--fg);font-size:15px;font-weight:600}.afig-ctl{gap:2px;display:inline-flex}.afig-ctl button{width:30px;height:30px;color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;padding:0;display:inline-grid}.afig-ctl button:hover{color:var(--fg);background:var(--bg-2)}.afig-ctl button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.afig-cap{color:var(--fg-muted);grid-column:1/-1;margin:0;font-size:14px}.afig-count{font-family:var(--afig-mono);font-variant-numeric:tabular-nums;color:var(--accent);margin-right:8px;font-size:11.5px;font-weight:600}.afig-cap-text{animation:.35s ease-out both afig-fade}.afig .afig-dot{animation-timing-function:cubic-bezier(.45,0,.3,1);animation-fill-mode:both}.afig .afig-dot-core{fill:var(--hue)}.afig .afig-dot-halo{fill:var(--hue);opacity:.2}.afig-svg{width:100%;height:auto;display:block}.afig-narrow{display:none}@container (max-width:600px){.afig-wide{display:none}.afig-narrow{display:block}.afig-head{padding:10px 8px 2px 14px}.afig-title{font-size:14px}.afig-cap{min-height:3em;font-size:13px}}.afig svg text{font-family:var(--afig-sans);fill:var(--fg)}.afig svg .m{font-family:var(--afig-mono)}.afig svg .dim{fill:var(--fg-muted)}.afig svg .faint{fill:var(--fg-subtle)}.afig svg .t-hue{fill:var(--hue)}.afig-loop .lp-box{fill:color-mix(in srgb, var(--hue) 6%, var(--bg-elevated));stroke:var(--hue);stroke-width:1.6px;transition:fill .3s}.afig-loop .lp-node.is-dashed .lp-box{fill:none;stroke-dasharray:6 4}.afig-loop .lp-node.is-on .lp-box{fill:color-mix(in srgb, var(--hue) 16%, var(--bg-elevated))}.afig-loop .lp-ring{fill:none;stroke:var(--hue);stroke-width:5px;opacity:0;transition:opacity .3s}.afig-loop .lp-node.is-on .lp-ring{opacity:.22}.afig-loop .lp-chip{fill:var(--bg-elevated);stroke:var(--border);stroke-width:1px}.afig-loop .lp-pill{fill:color-mix(in srgb, var(--hue) 14%, var(--bg-elevated))}.afig-loop .lp-row{animation:.45s ease-out both afig-rise}.afig-loop .lp-line{fill:none;stroke:var(--fg-subtle);stroke-width:1.6px;opacity:.6;transition:opacity .3s,stroke .3s}.afig-loop .lp-edge.is-dashed .lp-line{stroke:var(--accent);stroke-dasharray:6 4;opacity:.8}.afig-loop .lp-head{fill:var(--fg-subtle);opacity:.6;transition:opacity .3s,fill .3s}.afig-loop .lp-edge.is-dashed .lp-head{fill:var(--accent);opacity:.8}.afig-loop .lp-edge.is-on .lp-line{stroke:var(--hue);opacity:1}.afig-loop .lp-edge.is-on .lp-head{fill:var(--hue);opacity:1}.afig-loop .lp-edge.is-on.is-dashed .lp-line{animation:.9s linear infinite afig-march}.afig-loop svg .lp-label{fill:var(--hue)}.afig-loop .lp-think circle{fill:var(--afig-amber);animation:1s ease-in-out infinite afig-blink}.afig-loop .lp-think circle:nth-child(2){animation-delay:.15s}.afig-loop .lp-think circle:nth-child(3){animation-delay:.3s}.afig-loop .lp-pop{animation:.35s ease-out both afig-fade}.afig-loop .lp-blink{animation:1s ease-in-out infinite afig-blink}.afig-trace .rt-frame{border:1px solid var(--border);border-radius:10px;margin:8px 20px 0;overflow:hidden}.afig-trace .rt-row{grid-template-columns:84px minmax(0,1fr) auto;align-items:baseline;column-gap:14px;padding:7px 14px;font-size:14.5px;transition:opacity .35s,transform .35s,visibility .35s;display:grid}.afig-trace .rt-row.is-turn{border-top:1px solid var(--border)}.afig-trace .rt-row.is-hidden{opacity:0;visibility:hidden;transform:translateY(4px)}.afig-trace .rt-row.is-read{animation:1s ease-in-out both rt-read;animation-delay:calc(var(--i) * .14s)}.afig-trace .rt-role{--role:var(--fg-subtle);font-family:var(--afig-mono);letter-spacing:.02em;color:var(--role);background:color-mix(in srgb, var(--role) 13%, var(--bg-elevated));border-radius:4px;justify-self:start;padding:1px 8px;font-size:11px;font-weight:600}.afig-trace [data-role=system] .rt-role{--role:var(--afig-purple)}.afig-trace [data-role=user] .rt-role{--role:var(--afig-blue)}.afig-trace [data-role=assistant] .rt-role{--role:var(--afig-amber)}.afig-trace .rt-text{min-width:0;color:var(--fg)}.afig-trace [data-role=system] .rt-text{color:var(--fg-muted)}.afig-trace .rt-text.is-typing{animation:.9s steps(26,end) both rt-type}.afig-trace .rt-mark{border-radius:3px;transition:background-color .4s,box-shadow .4s}.afig-trace .rt-mark.is-found{background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent)}.afig-trace .rt-note{font-family:var(--afig-mono);white-space:nowrap;color:var(--fg-muted);font-size:11.5px}.afig-trace .rt-where{color:var(--fg-subtle)}.afig-trace .rt-note.is-resent{color:var(--accent);font-weight:600}.afig-trace .rt-note.is-new{color:var(--afig-blue);font-weight:600}.afig-trace .rt-note.is-reply{color:var(--afig-amber)}.afig-trace .rt-think{align-items:center;gap:5px;height:1em;display:inline-flex}.afig-trace .rt-think i{background:var(--afig-amber);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite afig-blink}.afig-trace .rt-think i:nth-child(2){animation-delay:.15s}.afig-trace .rt-think i:nth-child(3){animation-delay:.3s}.afig-trace .rt-foot{color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:8px 22px;padding:12px 20px 16px;font-size:12px;display:flex}.afig-trace .rt-foot-label{font-family:var(--afig-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);font-size:11px;font-weight:600}.afig-trace .rt-call{opacity:.35;align-items:center;gap:8px;transition:opacity .3s;display:inline-flex}.afig-trace .rt-call.is-on{opacity:1}.afig-trace .rt-call-name{font-family:var(--afig-mono);color:var(--fg);font-size:12px;font-weight:600}.afig-trace .rt-units{border-radius:4px;gap:3px;padding:2px;transition:box-shadow .3s;display:inline-flex}.afig-trace .rt-units i{background:var(--afig-blue);border-radius:2px;width:9px;height:9px}.afig-trace .rt-units i[data-role=system]{background:var(--afig-purple)}.afig-trace .rt-units i[data-role=assistant]{background:var(--afig-amber)}.afig-trace .rt-call.is-now .rt-units{box-shadow:0 0 0 2px var(--accent)}@container (max-width:600px){.afig-trace .rt-frame{margin:6px 12px 0}.afig-trace .rt-row{grid-template-columns:auto minmax(0,1fr);column-gap:8px;padding:6px 10px;font-size:13.5px}.afig-trace .rt-text,.afig-trace .rt-think{grid-area:2/1/auto/-1;margin-top:2px}.afig-trace .rt-note{grid-area:1/2;justify-self:end;font-size:11px}.afig-trace .rt-foot{gap:6px 14px;padding:10px 12px 14px}.afig-trace .rt-foot-label{flex-basis:100%}.afig-trace .rt-call-n{display:none}}@keyframes rt-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes rt-read{0%,to{background-color:#0000}35%{background-color:color-mix(in srgb, var(--accent) 14%, transparent)}}.afig-build .bu-box{fill:color-mix(in srgb, var(--hue) 6%, var(--bg-elevated));stroke:var(--hue);stroke-width:1.6px;transition:fill .3s}.afig-build .bu-node.is-on .bu-box{fill:color-mix(in srgb, var(--hue) 16%, var(--bg-elevated))}.afig-build .bu-node.is-dashed .bu-box{stroke-dasharray:6 4}.afig-build .bu-in{animation:.5s ease-out both afig-rise}.afig-build .bu-pop{animation:.35s ease-out both afig-fade}.afig-build .bu-chip rect{fill:color-mix(in srgb, var(--hue) 12%, var(--bg-elevated));stroke:color-mix(in srgb, var(--hue) 40%, transparent);stroke-width:1px}.afig-build svg .bu-chip.hue-ink text{fill:var(--fg-muted)}.afig-build .bu-line{fill:none;stroke:var(--fg-subtle);stroke-width:1.6px;opacity:.6;transition:opacity .3s,stroke .3s}.afig-build .bu-head{fill:var(--fg-subtle);opacity:.6;transition:opacity .3s,fill .3s}.afig-build .bu-edge.is-dashed .bu-line{stroke:var(--accent);stroke-dasharray:6 4;opacity:.8}.afig-build .bu-edge.is-dashed .bu-head{fill:var(--accent);opacity:.8}.afig-build .bu-edge.is-on .bu-line{stroke:var(--hue);opacity:1}.afig-build .bu-edge.is-on .bu-head{fill:var(--hue);opacity:1}.afig-build .bu-edge.is-on.is-dashed .bu-line{animation:.9s linear infinite afig-march}.afig-build svg .bu-label{fill:var(--hue)}.afig-build .bu-badge circle{fill:var(--bg-elevated);stroke:var(--accent);stroke-width:1.4px;transition:fill .3s}.afig-build svg .bu-badge text,.afig-build .bu-badge.is-cur circle{fill:var(--accent)}.afig-build svg .bu-badge.is-cur text{fill:var(--bg-elevated)}.afig-build .bu-harness-frame{fill:color-mix(in srgb, var(--accent) 3%, transparent);stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:7 5;opacity:.75}.afig-build .bu-harness.is-cur .bu-harness-frame{opacity:1;animation:1s linear infinite afig-march}.afig-build .bu-harness-chip{fill:var(--bg-elevated);stroke:var(--accent);stroke-width:1.2px}.afig-build svg .bu-harness-text{fill:var(--accent)}.afig-build .bu-track{fill:var(--bg-2)}.afig-build .bu-bar{fill:color-mix(in srgb, var(--afig-amber) 40%, var(--bg-elevated));transform-box:fill-box;transform-origin:0;transition:transform .7s cubic-bezier(.3,.7,.2,1)}.afig-build .bu-bar-row.is-top .bu-bar{fill:var(--afig-amber)}.afig-build .bu-ft rect{fill:color-mix(in srgb, var(--afig-amber) 14%, var(--bg-elevated));stroke:var(--afig-amber);stroke-width:1px;stroke-dasharray:3 2}.afig-build svg .bu-ft text{fill:var(--afig-amber);font-weight:600}.afig-build .bu-mem-arrow .bu-line{stroke:var(--afig-purple);opacity:1}.afig-build .bu-mem-arrow .bu-head{fill:var(--afig-purple);opacity:1}.afig-build .bu-mem-on .bu-mem-arrow .bu-line{stroke-dasharray:4 3;animation:.9s linear infinite afig-march}.afig-build .bu-rail-line{stroke:var(--border);stroke-width:2px}.afig-build .bu-part circle{fill:var(--bg-elevated);stroke:var(--border-strong);stroke-width:1.4px;transition:fill .3s,stroke .3s}.afig-build svg .bu-part-n,.afig-build svg .bu-part-name{fill:var(--fg-subtle);transition:fill .3s}.afig-build .bu-part.is-on circle{stroke:var(--accent);fill:color-mix(in srgb, var(--accent) 12%, var(--bg-elevated))}.afig-build svg .bu-part.is-on .bu-part-n{fill:var(--accent)}.afig-build svg .bu-part.is-on .bu-part-name{fill:var(--fg)}.afig-build .bu-part.is-cur circle{fill:var(--accent)}.afig-build svg .bu-part.is-cur .bu-part-n{fill:var(--bg-elevated)}.afig-build svg .bu-part.is-cur .bu-part-name{fill:var(--accent);font-weight:600}@keyframes afig-fade{0%{opacity:0}to{opacity:1}}@keyframes afig-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes afig-blink{0%,to{opacity:.25}50%{opacity:1}}@keyframes afig-march{to{stroke-dashoffset:-20px}}@keyframes afig-travel{0%{opacity:0;transform:translate(var(--x0), var(--y0))}12%{opacity:1}88%{opacity:1;transform:translate(var(--x2), var(--y2))}to{opacity:0;transform:translate(var(--x2), var(--y2))}}@keyframes afig-travel3{0%{opacity:0;transform:translate(var(--x0), var(--y0))}8%{opacity:1}45%{transform:translate(var(--x1), var(--y1))}90%{opacity:1;transform:translate(var(--x2), var(--y2))}to{opacity:0;transform:translate(var(--x2), var(--y2))}}@media (prefers-reduced-motion:reduce){.afig *,.afig :before,.afig :after{transition:none!important;animation:none!important}.afig .afig-dot{display:none}}
