.fd{--fd-bg:var(--ap-bg-2);--fd-panel:var(--ap-bg-3);--fd-fg:var(--ap-fg);--fd-muted:var(--ap-fg-3);--fd-rule:var(--ap-line);--fd-ok:var(--ap-ok);--fd-ink:var(--ap-bg);--fd-soft:color-mix(in oklab, var(--fd-fg) 10%, var(--fd-panel));--fd-hi:var(--fd-hi-dark,var(--fd-fg));--fd-tint:color-mix(in oklab, var(--fd-hi) 11%, var(--fd-panel));border:1px solid var(--fd-rule);border-radius:var(--ap-radius);background:var(--fd-bg);margin:0;position:relative;overflow:hidden;container-type:inline-size}:root[data-theme=light] .fd{--fd-hi:var(--fd-hi-light,var(--fd-fg))}@media (prefers-color-scheme:light){:root:not([data-theme]) .fd{--fd-hi:var(--fd-hi-light,var(--fd-fg))}}.fd-wide,.fd-square,.fd-tall{line-height:0}.fd-square{max-width:40rem;margin-inline:auto}.fd-tall{max-width:30rem;margin-inline:auto}@container (width>=50rem){.fd-square,.fd-tall{visibility:hidden;height:0;overflow:hidden}}@container (width>=32rem) and (width<=49.99rem){.fd-wide,.fd-tall{visibility:hidden;height:0;overflow:hidden}}@container (width<=31.99rem){.fd-wide,.fd-square{visibility:hidden;height:0;overflow:hidden}}.fd-hl-flywheel .fd-of-flywheel,.fd-hl-headwater .fd-of-headwater,.fd-hl-eddy .fd-of-eddy,.fd-hl-millpond .fd-of-millpond,.fd-hl-flume .fd-of-flume,.fd-hl-sounding .fd-of-sounding,.fd-hl-sluice .fd-of-sluice{--fd-on:var(--fd-hi);--fd-on-fill:var(--fd-tint);--fd-on-width:2}.fd-hl-headwater .fd-step-headwater .fd-n,.fd-hl-eddy .fd-step-eddy .fd-n,.fd-hl-millpond .fd-step-millpond .fd-n,.fd-hl-flume .fd-step-flume .fd-n,.fd-hl-sounding .fd-step-sounding .fd-n,.fd-hl-sluice .fd-step-sluice .fd-n{background:var(--fd-hi)}.fd.fd-hl-flywheel{border-color:var(--fd-hi)}.fd-hl-flywheel .fd-loop{stroke:var(--fd-hi);stroke-width:1.8px}.fd-hl-flywheel .fd-badge{--fd-on:var(--fd-hi)}.fd-hl-flywheel .fd-n{background:var(--fd-hi)}.fd-hl-flywheel .fd-loop-h{fill:var(--fd-hi)}.fd-svg{width:100%;height:auto;display:block}.fd-svg text{font-family:var(--ap-font-sans);fill:var(--fd-fg);font-size:12px}.fd-svg .fd-mono,.fd-svg .fd-pillt{font-family:var(--ap-font-mono);font-size:10.5px}.fd-svg .fd-10{font-size:10px}.fd-svg .fd-xs{font-size:11px}.fd-svg .fd-sm{font-size:12.5px}.fd-svg .fd-m{fill:var(--fd-muted)}.fd-svg .fd-ok{fill:var(--fd-ok)}.fd-svg .fd-ink{fill:var(--fd-ink)}.fd-svg .fd-soft-ink{opacity:.72}.fd-svg .fd-title{font-family:var(--ap-font-display);letter-spacing:-.01em;fill:var(--fd-on,var(--fd-fg));font-size:19px;font-weight:700}.fd-svg .fd-name{font-family:var(--ap-font-display);fill:var(--fd-on,var(--fd-fg));font-size:14.5px;font-weight:700}.fd-svg .fd-13{font-size:13px}.fd-svg .fd-hd{letter-spacing:.1em;fill:var(--fd-muted);font-size:11px;font-weight:600}.fd-badge-c{fill:var(--fd-on,var(--fd-fg))}.fd-svg .fd-badge-t{fill:var(--fd-ink);font-size:10.5px;font-weight:700}.fd-frame{fill:var(--fd-bg)}.fd-box{fill:var(--fd-on-fill,var(--fd-panel));stroke:var(--fd-on,var(--fd-rule));stroke-width:var(--fd-on-width,1.25)}.fd-row,.fd-chip,.fd-track{fill:var(--fd-soft)}.fd-card,.fd-chg{fill:var(--fd-panel);stroke:var(--fd-fg);stroke-width:1.2px}.fd-item,.fd-pill{fill:var(--fd-fg)}.fd-svg .fd-pillt{fill:var(--fd-ink);font-size:10px;font-weight:500}.fd-ghost{fill:none;stroke:var(--fd-muted);stroke-dasharray:3 3}.fd-tag circle{fill:var(--fd-fg)}.fd-link{fill:none;stroke:var(--fd-muted);stroke-width:1.3px}.fd-head{fill:var(--fd-muted)}.fd-ret{fill:none;stroke:var(--fd-muted);stroke-width:1.3px;stroke-dasharray:3 4}.fd-retlit{fill:none;stroke:var(--fd-ok);stroke-width:2.2px;stroke-linejoin:round;stroke-dasharray:1}.fd-bar{transform-box:fill-box;transform-origin:0}.fd-edge{stroke:var(--fd-muted);stroke-width:2px}.fd-commit{fill:var(--fd-muted)}.fd-merge,.fd-pin,.fd-concl{fill:var(--fd-ok)}.fd-flow{stroke:var(--fd-on,var(--fd-muted));stroke-width:1.2px;stroke-dasharray:10 14;opacity:.55}.fd-halo{fill:none;stroke:var(--fd-bg);stroke-width:6px}.fd-ping{fill:none;stroke:var(--fd-on,var(--fd-muted));stroke-width:1.5px;transform-box:fill-box;transform-origin:50%}.fd-mergein{fill:var(--fd-bg)}.fd-bot rect,.fd-bot circle{fill:var(--fd-fg)}.fd-bot line{stroke:var(--fd-fg);stroke-width:2px}.fd-bot .fd-eye{fill:var(--fd-panel)}.fd-caption{padding:.9rem var(--ap-gutter) 1rem;border-top:1px solid var(--fd-rule);font:.875rem/1.5 var(--ap-font-sans);color:var(--ap-fg-2);position:relative}.fd-caption b{color:var(--fd-on,var(--ap-fg));font-weight:600}.fd-claim{color:var(--ap-fg);margin:0 4.5rem .75rem 0}.fd-steps{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.fd-cap{grid-template-columns:1.35rem 1fr;align-content:start;align-items:start;gap:.4rem;display:grid}.fd-n{background:var(--ap-fg);width:1.2rem;height:1.2rem;color:var(--ap-bg);font:700 .68rem/1 var(--ap-font-sans);border-radius:50%;place-items:center;margin-top:.08rem;display:grid}@container (width>=50rem){.fd-steps{grid-template-columns:repeat(6,1fr);gap:1.1rem}.fd-cap{grid-template-columns:1fr;gap:.35rem}}.fd-pause{top:.75rem;right:var(--ap-gutter);border:1px solid var(--fd-rule);color:var(--ap-fg-3);font:500 .72rem/1.5 var(--ap-font-mono);cursor:pointer;background:0 0;border-radius:999px;padding:.15rem .6rem;position:absolute}.fd-pause:hover{color:var(--ap-fg)}.fd-paused .fd-svg *,.fd-paused .fd-cap{animation-play-state:paused!important}.card[data-astro-cid-e2calspi],.named{--m:var(--m-dark)}:root[data-theme=light] .card[data-astro-cid-e2calspi],:root[data-theme=light] .named{--m:var(--m-light)}@media (prefers-color-scheme:light){:root:not([data-theme]) .card[data-astro-cid-e2calspi],:root:not([data-theme]) .named{--m:var(--m-light)}}.opening[data-astro-cid-e2calspi]{padding-bottom:40px}h1[data-astro-cid-e2calspi]{margin:12px 0 20px;font-size:clamp(2.6rem,6vw,4.6rem);line-height:.95}h1[data-astro-cid-e2calspi] span[data-astro-cid-e2calspi]{color:var(--ap-accent)}.under[data-astro-cid-e2calspi]{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px 40px;display:flex}.deck[data-astro-cid-e2calspi]{max-width:48ch}.deck[data-astro-cid-e2calspi] p{margin:0;font-size:1.1rem}.legend[data-astro-cid-e2calspi]{font:12px/1.6 var(--ap-font-mono);grid-template-columns:auto auto;justify-content:start;gap:6px 14px;margin:0;display:grid}.legend[data-astro-cid-e2calspi] div[data-astro-cid-e2calspi]{display:contents}.legend[data-astro-cid-e2calspi] dt[data-astro-cid-e2calspi]{color:var(--ap-fg-3);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;display:flex}.legend[data-astro-cid-e2calspi] dd[data-astro-cid-e2calspi]{color:var(--ap-fg);margin:0}.dot[data-astro-cid-e2calspi]{background:var(--m,var(--ap-fg-3));border-radius:50%;flex:none;width:8px;height:8px}.dot[data-astro-cid-e2calspi].planned,.planned[data-astro-cid-e2calspi] .dot[data-astro-cid-e2calspi]{box-shadow:inset 0 0 0 1.5px var(--m,var(--ap-fg-3));background:0 0}.family[data-astro-cid-e2calspi]{margin-top:72px}.family[data-astro-cid-e2calspi]>h2[data-astro-cid-e2calspi]{margin:0 0 20px}.card[data-astro-cid-e2calspi]{border:1px solid var(--ap-line);background:var(--ap-bg-2);border-radius:12px;padding:18px 20px 16px;transition:border-color .2s;position:relative}.card[data-astro-cid-e2calspi]:before{content:"";background:var(--m);border-radius:12px 12px 0 0;height:3px;position:absolute;inset:-1px -1px auto}.card[data-astro-cid-e2calspi]:hover{border-color:color-mix(in oklab, var(--m) 55%, transparent)}.card[data-astro-cid-e2calspi] h3[data-astro-cid-e2calspi]{font:700 1.6rem/1.05 var(--ap-font-display);letter-spacing:-.03em;margin:14px 0 6px}.card[data-astro-cid-e2calspi] h3[data-astro-cid-e2calspi] a[data-astro-cid-e2calspi]{color:var(--ap-fg);text-decoration:none}.card[data-astro-cid-e2calspi] h3[data-astro-cid-e2calspi] a[data-astro-cid-e2calspi]:hover{color:var(--m)}.status[data-astro-cid-e2calspi]{font:11px/1.6 var(--ap-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ap-fg-3);align-items:center;gap:8px;margin:0;display:flex}.line[data-astro-cid-e2calspi]{color:var(--ap-fg-2);margin:12px 0 0;font-size:16px;line-height:1.5}.serves[data-astro-cid-e2calspi]{gap:2px;margin:14px 0 0;display:grid}.serves[data-astro-cid-e2calspi] span[data-astro-cid-e2calspi]{font:9.5px/1.6 var(--ap-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ap-fg-3)}.serves[data-astro-cid-e2calspi] a[data-astro-cid-e2calspi]{font:500 15px/1.35 var(--ap-font-display);color:var(--accent-text);text-decoration:none}.serves[data-astro-cid-e2calspi] a[data-astro-cid-e2calspi]:after{content:" →";color:var(--m)}.serves[data-astro-cid-e2calspi] a[data-astro-cid-e2calspi]:hover{color:var(--ap-fg)}.links[data-astro-cid-e2calspi]{border-top:1px solid var(--ap-line-soft);flex-wrap:wrap;gap:6px 18px;margin:16px 0 0;padding-top:12px;display:flex}.links[data-astro-cid-e2calspi] a[data-astro-cid-e2calspi]{font:11px/1.6 var(--ap-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ap-fg-3);text-decoration-color:var(--ap-line)}.links[data-astro-cid-e2calspi] a[data-astro-cid-e2calspi]:hover{color:var(--m);text-decoration-color:currentColor}.links[data-astro-cid-e2calspi] a[data-astro-cid-e2calspi]:after{content:" ↗"}.links[data-astro-cid-e2calspi] a[data-astro-cid-e2calspi].go{color:var(--ap-accent)}.links[data-astro-cid-e2calspi] a[data-astro-cid-e2calspi].go:after{content:" →"}.track[data-astro-cid-e2calspi]{grid-template-columns:repeat(var(--n), 1fr);margin:0;padding:0;list-style:none;display:grid;position:relative}.track[data-astro-cid-e2calspi]:before{content:"";left:4px;right:calc(100% / var(--n) - 4px);background:var(--ap-line);height:1px;position:absolute;top:4px}.track[data-astro-cid-e2calspi].all:before{background:var(--m)}.track[data-astro-cid-e2calspi] li[data-astro-cid-e2calspi]{font:9.5px/1.4 var(--ap-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ap-fg-3);opacity:.6;padding-top:16px;position:relative}.track[data-astro-cid-e2calspi] li[data-astro-cid-e2calspi]:before{content:"";background:var(--ap-bg-2);width:9px;height:9px;box-shadow:inset 0 0 0 1px var(--ap-line);border-radius:50%;position:absolute;top:0;left:0}.track[data-astro-cid-e2calspi] li[data-astro-cid-e2calspi].on{color:var(--ap-fg);opacity:1}.track[data-astro-cid-e2calspi] li[data-astro-cid-e2calspi].on:before{background:var(--m);box-shadow:0 0 0 4px color-mix(in oklab, var(--m) 22%, transparent)}.tools[data-astro-cid-e2calspi] .card[data-astro-cid-e2calspi]{container-type:inline-size}@container (width<=15rem){.track[data-astro-cid-e2calspi] li[data-astro-cid-e2calspi]:not(.on){color:#0000}.track[data-astro-cid-e2calspi] li[data-astro-cid-e2calspi].on{white-space:nowrap}}.umbrella[data-astro-cid-e2calspi]{border-color:color-mix(in oklab, var(--m) 45%, transparent);background:linear-gradient(135deg, color-mix(in oklab, var(--ap-accent) 7%, transparent), transparent 55%), var(--ap-bg-2);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:18px 48px;margin-bottom:16px;padding:24px 28px 20px;display:grid}.umbrella[data-astro-cid-e2calspi] .place[data-astro-cid-e2calspi]{font:11px/1.6 var(--ap-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ap-accent);margin:0}.umbrella[data-astro-cid-e2calspi] h3[data-astro-cid-e2calspi]{color:var(--ap-fg);margin-top:10px;font-size:clamp(2.2rem,4vw,3rem)}.umbrella[data-astro-cid-e2calspi] .line[data-astro-cid-e2calspi]{font:500 1.2rem/1.4 var(--ap-font-display);letter-spacing:-.01em;color:var(--ap-fg);margin-top:18px}.umbrella[data-astro-cid-e2calspi] .what[data-astro-cid-e2calspi]{padding-top:6px}@media (width<=48rem){.umbrella[data-astro-cid-e2calspi]{grid-template-columns:1fr;padding:20px}}.tools[data-astro-cid-e2calspi]{grid-template-columns:repeat(auto-fit, minmax(max(13rem, (100% - (var(--cols) - 1) * 16px) / var(--cols)), 1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.tools[data-astro-cid-e2calspi] .card[data-astro-cid-e2calspi]{flex-direction:column;display:flex}.tools[data-astro-cid-e2calspi] .links[data-astro-cid-e2calspi]{margin-top:auto}.tools[data-astro-cid-e2calspi] .card[data-astro-cid-e2calspi]>[data-astro-cid-e2calspi]:nth-last-child(2){margin-bottom:16px}.joined[data-astro-cid-e2calspi]{border-top:1px solid var(--ap-line-soft);grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:24px 64px;margin-top:64px;padding-top:8px;display:grid}.col[data-astro-cid-e2calspi] h2{margin:32px 0 14px}.col[data-astro-cid-e2calspi] p{margin:0 0 14px}.col[data-astro-cid-e2calspi] ul{margin:0;padding:0;list-style:none}.col[data-astro-cid-e2calspi] li{border-bottom:1px solid var(--ap-line-soft);padding:12px 0;line-height:1.55}.col[data-astro-cid-e2calspi] li:first-child{padding-top:0}.col[data-astro-cid-e2calspi] .named{font:700 1.05rem/1 var(--ap-font-display);letter-spacing:-.02em;color:var(--ap-fg);white-space:nowrap}.col[data-astro-cid-e2calspi] .named:before{content:"";background:var(--m);vertical-align:.1em;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}@media (prefers-reduced-motion:reduce){.card[data-astro-cid-e2calspi]{transition:none}}
