.fig{--fk-fg:var(--fg, #1c1b19);--fk-bg:var(--bg, #fbfaf7);--fk-muted:var(--muted, #6b675f);--fk-rule:var(--rule, #e4e0d8);--fk-accent:var(--accent, #8a3b12);--fk-traveler:var(--fk-accent);--fk-font:"Public Sans", system-ui, sans-serif;--fk-mono:"IBM Plex Mono", ui-monospace, monospace;--fk-dim:0.22;--fk-gap:0.6s;--fk-plate:var(--fk-bg);--fk-label-w:10.5rem}.fig .fk-scroll{overflow-x:auto;scrollbar-width:none;background:linear-gradient(to right,var(--fk-plate) 30%,transparent)0/2rem 100% no-repeat local,linear-gradient(to left,var(--fk-plate) 30%,transparent)100%/2rem 100% no-repeat local,radial-gradient(farthest-side at 0 50%,color-mix(in srgb,var(--fk-fg) 22%,transparent),transparent)0/.6rem 100% no-repeat,radial-gradient(farthest-side at 100% 50%,color-mix(in srgb,var(--fk-fg) 22%,transparent),transparent)100%/.6rem 100% no-repeat}.fig .fk-scroll::-webkit-scrollbar{display:none}.fig .fk-tip{position:fixed;z-index:60;max-width:min(20rem,calc(100vw - 16px));padding:.45rem .65rem;border-radius:6px;background:var(--fk-fg);color:var(--fk-bg);font:500 .8rem/1.45 var(--fk-font);text-align:left;box-shadow:0 8px 24px -10px rgb(0 0 0/.45);pointer-events:none}.fig [data-tip]{cursor:help}@media(pointer:coarse){.fig [data-tip]{cursor:pointer;-webkit-tap-highlight-color:transparent}}.fig [data-tip]:focus{outline:none}.fig [data-tip]:focus-visible{outline:2px solid var(--fk-accent);outline-offset:2px;border-radius:3px}.fig [data-fk-area]{pointer-events:visible}.fig .fk-halo{fill:none;stroke:transparent;stroke-width:14px;pointer-events:stroke}.fig :is([data-group],[data-fk-node],[data-fk-edge]){transition:opacity .15s}.fig [data-fk-node]{cursor:pointer}.fig .is-dim{opacity:var(--fk-dim)}.fig .is-hot{opacity:1}.fig [data-fk-edge].is-hot{stroke-opacity:1;stroke-width:2px}.fig .fk-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.25rem;margin-top:.9rem;padding-top:.75rem;border-top:1px solid var(--fk-rule);font:.85rem/1.4 var(--fk-font);color:var(--fk-fg);container-type:inline-size}.fig .fk-controls[hidden]{display:none}.fig .fk-controls>:is([data-fk-input],[data-fk-reset],[data-fk-summary],[data-fk-toggle],[data-fk-walk],[data-fk-hint]){display:none}.fig .fk-range{flex:1 1 100%;display:grid;grid-template-columns:minmax(var(--fk-label-w),max-content)minmax(0,24rem)minmax(4.5rem,max-content);align-items:center;gap:.25rem 1rem}.fig .fk-label{font-weight:600;white-space:nowrap}.fig .fk-range input{width:100%;min-width:0;margin:0;accent-color:var(--fk-accent)}.fig .fk-range output{text-align:right;white-space:nowrap;font-family:var(--fk-mono);font-variant-numeric:tabular-nums}@container(max-width:30rem){.fig .fk-range { grid-template-columns: minmax(0, 1fr) minmax(4.5rem, max-content); }
  .fig .fk-label { grid-column: 1 / -1; }
}.fig .fk-btn{font:600 .82rem/1.2 var(--fk-font);color:var(--fk-fg);background:var(--fk-bg);border:1px solid var(--fk-rule);border-radius:6px;padding:.45rem .8rem;cursor:pointer}.fig .fk-btn:hover{border-color:var(--fk-muted)}.fig .fk-btn:disabled{color:var(--fk-muted);cursor:default}.fig:has(.fk-tools){position:relative}.fig .fk-tools{position:absolute;top:.5rem;right:.5rem;z-index:2;display:flex;align-items:center;gap:.4rem}.fig .fk-tools .fk-btn{display:inline-flex;align-items:center;gap:.35rem;height:32px;min-height:32px;padding:0 .7rem;position:relative}.fig .fk-tools .fk-btn svg{display:block;width:11px!important;min-width:0!important;height:11px!important}.fig .fk-btn[aria-pressed=true]{color:var(--fk-accent);border-color:var(--fk-accent);background:color-mix(in srgb,var(--fk-accent) 10%,var(--fk-bg))}.fig .fk-btn:focus-visible,.fig .fk-range input:focus-visible{outline:2px solid var(--fk-accent);outline-offset:2px}.fig .fk-live{flex-basis:100%;margin:0;font:.8rem/1.45 var(--fk-mono);font-variant-numeric:tabular-nums;color:var(--fk-fg)}.fig .fk-live:empty{display:none}.fig .fk-hint{font-size:.8rem;color:var(--fk-muted)}@media(pointer:coarse){.fig .fk-btn{min-height:44px;padding-inline:1rem}.fig .fk-tools .fk-btn{min-height:32px;padding-inline:.7rem}.fig .fk-tools .fk-btn::after{content:"";position:absolute;inset:-6px}.fig .fk-range{min-height:44px}.fig .fk-range input{height:44px;margin:0}}.fig .fk-tools .fk-btn.fk-zoom-btn{justify-content:center;width:32px;padding:0;border-color:transparent;background:0 0;color:var(--fk-muted);transition:color .15s,border-color .15s}.fig .fk-tools .fk-btn.fk-zoom-btn[hidden]{display:none}.fig:hover .fk-tools .fk-btn.fk-zoom-btn,.fig .fk-tools .fk-btn.fk-zoom-btn:focus-visible{border-color:var(--fk-rule);color:var(--fk-fg)}.fig .fk-tools .fk-btn.fk-zoom-btn:hover{border-color:var(--fk-accent);color:var(--fk-accent)}.fig .fk-tools .fk-zoom-btn svg,.fig .fk-zv-ctl svg{width:16px!important;min-width:0!important;height:16px!important}.fig .fk-zv{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;margin:0;background:var(--fk-bg);color:var(--fk-fg);font:15px/1.4 var(--fk-font);text-align:left;overscroll-behavior:contain}.fig .fk-zv[hidden]{display:none}.fig .fk-zv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:calc(env(safe-area-inset-top,0px) + .6rem)1rem .6rem;border-bottom:1px solid var(--fk-rule)}.fig .fk-zv-title{flex:1 1 12rem;min-width:0;margin:0;font:600 15px/1.3 var(--fk-font);color:var(--fk-fg)}.fig .fk-zv-title span{display:block;font:500 11px/1.4 var(--fk-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fk-muted)}.fig .fk-zv-ctl{display:flex;align-items:center;gap:.35rem}.fig .fk-zv-ctl button{display:grid;place-items:center;min-width:44px;height:44px;padding:0 .6rem;border:1px solid var(--fk-rule);border-radius:6px;background:var(--fk-bg);color:var(--fk-fg);font:600 14px var(--fk-font);cursor:pointer}.fig .fk-zv-ctl button:hover{border-color:var(--fk-accent);color:var(--fk-accent)}.fig .fk-zv-ctl .fk-zv-close{margin-left:.4rem;background:var(--fk-fg);color:var(--fk-bg);border-color:var(--fk-fg)}.fig .fk-zv-ctl output{min-width:3.4rem;text-align:center;font:500 13px var(--fk-mono);font-variant-numeric:tabular-nums;color:var(--fk-muted)}.fig .fk-zv-ctl button:focus-visible{outline:2px solid var(--fk-accent);outline-offset:2px}.fig .fk-zv-stage{position:relative;flex:auto;min-height:0;overflow:hidden;touch-action:none;cursor:grab;background:var(--fk-plate)}.fig .fk-zv-stage:active{cursor:grabbing}.fig .fk-zv-stage:focus-visible{outline:2px solid var(--fk-accent);outline-offset:-4px}.fig .fk-zv-canvas{position:absolute;left:0;top:0;transform-origin:0 0}.fig .fk-zv .fk-scroll{overflow:visible;background:0 0}.fig .fk-zv-hint{margin:0;padding:.5rem 1rem calc(env(safe-area-inset-bottom,0px) + .5rem);border-top:1px solid var(--fk-rule);font:12px/1.4 var(--fk-mono);color:var(--fk-muted)}.fig.fk-play [data-animate~=sequence]{animation:fk-seq .6s ease-out calc(var(--fk-step,0) * var(--fk-gap))backwards}.fig.fk-play :is(path,line,polyline,polygon)[data-animate~=draw]{animation:fk-dash .8s ease-in-out calc(var(--fk-step,0) * var(--fk-gap))backwards}.fig.fk-play [data-animate~=grow]{transform-box:fill-box;transform-origin:left center;animation:fk-grow .8s cubic-bezier(.2,.7,.2,1)calc(var(--fk-step,0) * var(--fk-gap))backwards}.fig.fk-play [data-animate~=grow][data-axis=y]{transform-origin:center bottom;animation-name:fk-grow-y}.fig.fk-play [data-animate~=pop]{transform-box:fill-box;transform-origin:center;animation:fk-pop .45s cubic-bezier(.3,1.4,.5,1)calc(var(--fk-step,0) * var(--fk-gap))backwards}.fig .fk-traveler{opacity:0;fill:var(--fk-traveler);stroke:var(--fk-bg);stroke-width:1.5px}.fig.fk-play .fk-traveler{animation:fk-travel .6s ease-in-out calc(var(--fk-step,0) * var(--fk-gap))both}@keyframes fk-seq{from{opacity:.2;transform:translateY(6px)}}@keyframes fk-grow{from{transform:scaleX(0)}}@keyframes fk-grow-y{from{transform:scaleY(0)}}@keyframes fk-pop{from{transform:scale(0);opacity:0}}@keyframes fk-dash{from{stroke-dasharray:var(--fk-len);stroke-dashoffset:var(--fk-len)}to{stroke-dasharray:var(--fk-len);stroke-dashoffset:0}}@keyframes fk-travel{0%{opacity:0;transform:translate(var(--fk-x1),var(--fk-y1))}15%,85%{opacity:1}100%{opacity:0;transform:translate(var(--fk-x2),var(--fk-y2))}}@media(prefers-reduced-motion:reduce){.fig *,.fig{animation:none!important;transition:none!important}}