.sf{width:min(72rem,100vw - 2rem);margin-block:3rem;margin-inline:calc(50% + min(72rem,100vw - 2rem)/-2)}.sf-grid{grid-template-columns:minmax(0,1fr) 17.5rem;align-items:start;gap:2.5rem;display:grid}.sf-cards{gap:1.5rem;margin:0;padding:0 0 0 2.25rem;list-style:none;display:grid;position:relative}.sf-spine{background:var(--color-line);width:2px;position:absolute;top:.5rem;bottom:.5rem;left:.7rem}.sf-flow{background:repeating-linear-gradient(to bottom, var(--color-accent) 0 6px, transparent 6px 18px);opacity:.35;position:absolute;inset:0}.sf-packet{background:var(--color-accent);width:14px;height:14px;box-shadow:0 0 0 6px color-mix(in oklch, var(--color-accent) 18%, transparent);border-radius:50%;transition:top .7s cubic-bezier(.6,0,.3,1);position:absolute;top:0;left:-6px}.sf-card{background:var(--color-surface-2);border:1.5px solid var(--color-line);min-width:0;color:var(--color-ink-muted);border-radius:1rem;gap:.9rem;padding:1.4rem 1.5rem;scroll-margin-top:6rem;line-height:1.7;transition:border-color .35s,box-shadow .35s;display:grid}.sf-card.is-cur{border-color:var(--color-accent);box-shadow:0 0 0 5px color-mix(in oklch, var(--color-accent) 10%, transparent)}.sf-card header{flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;display:flex}.sf-card h3{font-family:var(--font-display);color:var(--color-ink);text-wrap:balance;margin:0;font-size:1.45rem;font-weight:600;line-height:1.2}.sf-num{font-family:var(--font-mono);color:var(--color-accent);font-size:.85rem;font-weight:700}.sf-kind{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--color-line-2);color:var(--color-ink-faint);white-space:nowrap;border-radius:999px;margin-left:auto;padding:.3rem .6rem;font-size:.66rem}.sf-kind.hook,.sf-kind.mod{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.sf-kind.measured{border-color:var(--color-up);color:var(--color-up)}.sf-kind.harness,.sf-kind.tool{border-color:var(--color-cyan-deep);color:var(--color-cyan-deep)}.sf-kind.person{border-color:var(--color-violet);color:var(--color-violet)}.sf-lead{color:var(--color-ink);margin:0;font-size:1.05rem}.sf-card p{margin:0}.sf-card code{font-family:var(--font-mono);color:var(--color-ink);background:var(--color-void);overflow-wrap:anywhere;border-radius:.3rem;padding:.05rem .3rem;font-size:.82em}.sf-card ul{gap:.55rem;margin:0;padding-left:1.1rem;display:grid}.sf-card b{color:var(--color-ink)}.sf-note{color:var(--color-ink-faint);border-left:3px solid var(--color-line-2);padding-left:.8rem;font-size:.88rem}.sf-card pre{background:var(--color-canvas);border:1px solid var(--color-line);font-family:var(--font-mono);color:var(--color-ink);white-space:pre;border-radius:.6rem;margin:0;padding:.8rem .9rem;font-size:.74rem;line-height:1.55;overflow-x:auto}.sf-card pre .c{color:var(--color-ink-faint)}.sf-card code,.sf-card pre,.sf-scene,.sf-inst{font-variant-ligatures:none}.sf-scene{background:var(--color-canvas);border:1px solid var(--color-line);font-family:var(--font-mono);color:var(--color-ink);border-radius:.75rem;min-width:0;padding:.9rem 1rem;font-size:.78rem;line-height:1.6;overflow:hidden}.sf-scene .dim{color:var(--color-ink-faint)}.sf-scene .ok{color:var(--color-up);font-weight:700}.sf-scene .no{color:var(--color-down);font-weight:700}.sf-scene .warn{color:var(--color-warn);font-weight:700}.sf-scene .arrow{color:var(--color-accent)}.sf-step{overflow-wrap:anywhere}.sf-scene .sans{font-family:var(--font-sans)}.sf-scene svg{width:100%;height:auto;display:block}.sf.is-moving .sf-step{opacity:.18;transition:opacity .35s,transform .35s;transform:translateY(4px)}.sf.is-moving .sf-step.on{opacity:1;transform:none}.sf-inst{background:var(--color-ink);color:var(--color-canvas);font-family:var(--font-mono);border-radius:1rem;gap:.7rem;padding:1rem 1.1rem;display:grid;position:sticky;top:5.5rem}.sf-nav{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.5rem;display:grid}.sf-btn{border:1px solid color-mix(in oklch, var(--color-canvas) 30%, transparent);width:2rem;height:2rem;color:var(--color-canvas);font:inherit;cursor:pointer;background:0 0;border-radius:.5rem;font-weight:700;display:none}.sf.is-live .sf-btn{display:block}.sf-btn:disabled{opacity:.3;cursor:default}.sf-btn:focus-visible,.sf-list summary:focus-visible,.sf-list a:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:2px}.sf-list summary{cursor:pointer;font-size:.8rem;line-height:1.35;list-style:none}.sf-list summary::-webkit-details-marker{display:none}.sf-n{color:var(--color-accent-2);font-weight:700}.sf-of{opacity:.55}.sf-list ol{gap:.15rem;max-height:50vh;margin:.6rem 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.sf-list a{color:var(--color-canvas);opacity:.75;border-radius:.35rem;padding:.25rem .4rem;font-size:.74rem;text-decoration:none;display:block}.sf-list a span{color:var(--color-accent-2)}.sf-list a.on{opacity:1;background:color-mix(in oklch, var(--color-canvas) 14%, transparent)}@media (hover:hover){.sf-btn:not(:disabled):hover{background:color-mix(in oklch, var(--color-canvas) 14%, transparent)}.sf-list a:hover{opacity:1}}.sf-row{border-top:1px solid color-mix(in oklch, var(--color-canvas) 16%, transparent);justify-content:space-between;align-items:center;gap:.6rem;min-width:0;padding-top:.55rem;display:flex}.sf-row.col{justify-content:stretch;gap:.25rem;display:grid}.sf-l{letter-spacing:.1em;text-transform:uppercase;opacity:.65;font-size:.62rem}.sf-v{font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;min-width:0;font-size:.88rem;font-weight:700}.sf-row.col .sf-v{text-align:left}.sf-v.big{font-size:1.5rem;line-height:1.1}.sf-lamps{flex-wrap:wrap;justify-content:flex-end;gap:.3rem;display:flex}.sf-lamp{border:1px solid color-mix(in oklch, var(--color-canvas) 25%, transparent);opacity:.35;border-radius:.35rem;padding:.25rem .45rem;font-size:.64rem;font-weight:700;transition:all .3s}.sf-lamp.on{opacity:1;background:var(--color-accent-2);border-color:var(--color-accent-2);color:var(--color-ink)}.sf-lamp.on[data-v=DENY],.sf-lamp.on[data-v=NOT\ DONE],.sf-lamp.on[data-v=failed],.sf-lamp.on[data-v=not\ met]{background:var(--color-down);border-color:var(--color-down);color:var(--color-on-accent)}.sf-lamp.on[data-v=ALLOW],.sf-lamp.on[data-v=ALL\ DONE],.sf-lamp.on[data-v=passed],.sf-lamp.on[data-v=met]{background:var(--color-up);border-color:var(--color-up);color:var(--color-on-accent)}.sf-bar{background:color-mix(in oklch, var(--color-canvas) 15%, transparent);border-radius:.25rem;height:.45rem;display:block;overflow:hidden}.sf-bar span{background:var(--color-accent-2);height:100%;transition:width .8s;display:block}.sf-foot{opacity:.55;font-size:.62rem;line-height:1.4}.sf-keys{opacity:.55;margin:0;font-size:.62rem;display:none}.sf.is-live .sf-keys{display:block}@media (width<=900px){.sf-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}.sf-inst{z-index:5;order:-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .7rem;padding:.7rem .8rem;top:4.25rem}.sf-nav,.sf-replica{grid-column:1/-1}.sf-row{border-top:0;justify-content:start;gap:.1rem;padding-top:0;display:grid}.sf-row.wide{grid-column:1/-1}.sf-v{text-align:left}.sf-v.big{font-size:1.05rem}.sf-lamps{justify-content:flex-start}.sf-foot,.sf-keys,.sf-bar,.sf-hide-phone{display:none!important}.sf-cards{padding-left:1.6rem}.sf-spine{left:.45rem}.sf-card{padding:1.1rem 1rem;scroll-margin-top:14rem}.sf-kind{margin-left:0}}@media (prefers-reduced-motion:reduce){.sf-packet,.sf-card,.sf-bar span,.sf-lamp{transition:none}}.cm-band[data-astro-cid-ompv6ffk]{gap:.35rem;display:grid}.cm-at[data-astro-cid-ompv6ffk]{opacity:.6;font-size:.66rem}.cm-glyphs[data-astro-cid-ompv6ffk]{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;display:grid}.cm-g[data-astro-cid-ompv6ffk]{gap:.05rem;display:grid}.cm-g[data-astro-cid-ompv6ffk] b[data-astro-cid-ompv6ffk]{color:var(--color-accent-2);font-size:1rem}.cm-g[data-astro-cid-ompv6ffk] i[data-astro-cid-ompv6ffk]{letter-spacing:.04em;opacity:.6;text-overflow:ellipsis;white-space:nowrap;font-size:.5rem;font-style:normal;overflow:hidden}.cm-line[data-astro-cid-ompv6ffk]{flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:.86rem;font-weight:700;display:flex}.cm-cells[data-astro-cid-ompv6ffk]{color:var(--color-accent-2);letter-spacing:.02em}.cm-side[data-astro-cid-ompv6ffk]{opacity:.7;font-size:.7rem}.rt[data-astro-cid-6v7qdhxt]{gap:.5rem;margin:0;display:grid}.rt[data-astro-cid-6v7qdhxt] svg[data-astro-cid-6v7qdhxt]{width:100%;height:auto;display:block;overflow:visible}.rt-grid[data-astro-cid-6v7qdhxt]{stroke:var(--color-line);stroke-width:1px}.rt-axis[data-astro-cid-6v7qdhxt]{stroke:var(--color-line-2);stroke-width:1px}.rt-ax[data-astro-cid-6v7qdhxt]{fill:var(--color-ink-faint);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10px}.rt-line[data-astro-cid-6v7qdhxt]{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.rt-run[data-astro-cid-6v7qdhxt] circle[data-astro-cid-6v7qdhxt]:not(.rt-hit){stroke:var(--color-canvas);stroke-width:2px}.rt-run[data-astro-cid-6v7qdhxt].ok circle[data-astro-cid-6v7qdhxt]:not(.rt-hit){fill:var(--color-up)}.rt-run[data-astro-cid-6v7qdhxt].no circle[data-astro-cid-6v7qdhxt]:not(.rt-hit){fill:var(--color-down)}.rt-glyph[data-astro-cid-6v7qdhxt]{fill:var(--color-ink);font-family:var(--font-mono);font-size:10px;font-weight:700}.rt-tally[data-astro-cid-6v7qdhxt] line[data-astro-cid-6v7qdhxt]{stroke:var(--color-line-2);stroke-width:1px}.rt-tally[data-astro-cid-6v7qdhxt] text[data-astro-cid-6v7qdhxt]{fill:var(--color-ink-muted);font-family:var(--font-mono);font-size:10px}.rt-end[data-astro-cid-6v7qdhxt]{fill:var(--color-ink);font-family:var(--font-mono);font-size:11px;font-weight:700}.rt-hit[data-astro-cid-6v7qdhxt]{fill:#0000;stroke:none}.rt[data-astro-cid-6v7qdhxt] figcaption[data-astro-cid-6v7qdhxt]{color:var(--color-ink-faint);font-size:.8rem}.rt-table[data-astro-cid-6v7qdhxt] summary[data-astro-cid-6v7qdhxt]{cursor:pointer;color:var(--color-ink-muted);font-size:.8rem}.rt-table[data-astro-cid-6v7qdhxt] table[data-astro-cid-6v7qdhxt]{border-collapse:collapse;width:100%;font-family:var(--font-mono);margin-top:.5rem;font-size:.74rem}.rt-table[data-astro-cid-6v7qdhxt] th[data-astro-cid-6v7qdhxt],.rt-table[data-astro-cid-6v7qdhxt] td[data-astro-cid-6v7qdhxt]{text-align:left;border-bottom:1px solid var(--color-line);font-variant-numeric:tabular-nums;padding:.2rem .4rem}.pp-diagram[data-astro-cid-3nbzr775]{gap:.5rem;margin:0;display:grid}.pp-diagram[data-astro-cid-3nbzr775] svg[data-astro-cid-3nbzr775]{width:100%;max-width:26rem;height:auto;margin-inline:auto;display:block}.pp-spine[data-astro-cid-3nbzr775]{stroke:var(--color-line-2);stroke-width:2px}.pp-box[data-astro-cid-3nbzr775]{fill:var(--color-canvas);stroke:var(--color-line);stroke-width:1px}.pp-name[data-astro-cid-3nbzr775]{fill:var(--color-ink);font-family:var(--font-sans);font-size:13px;font-weight:600}.pp-stops[data-astro-cid-3nbzr775]{fill:var(--color-ink-muted);font-family:var(--font-sans);font-size:11px}.pp-kind[data-astro-cid-3nbzr775]{fill:var(--color-ink-faint);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:8.5px}.pp-arrow[data-astro-cid-3nbzr775]{fill:none;stroke:var(--color-ink-faint);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.pp-person[data-astro-cid-3nbzr775] .pp-bar[data-astro-cid-3nbzr775]{fill:var(--color-violet)}.pp-harness[data-astro-cid-3nbzr775] .pp-bar[data-astro-cid-3nbzr775]{fill:var(--color-cyan-deep)}.pp-hook[data-astro-cid-3nbzr775] .pp-bar[data-astro-cid-3nbzr775]{fill:var(--color-accent)}.pp-mod[data-astro-cid-3nbzr775] .pp-bar[data-astro-cid-3nbzr775]{fill:var(--color-indigo)}.pp-file[data-astro-cid-3nbzr775] .pp-bar[data-astro-cid-3nbzr775]{fill:var(--color-ink-muted)}.pp-diagram[data-astro-cid-3nbzr775] figcaption[data-astro-cid-3nbzr775]{color:var(--color-ink-faint);text-align:center;font-size:.8rem}.hw[data-astro-cid-jvqv4e67]{gap:.5rem;margin:0;display:grid}.hw[data-astro-cid-jvqv4e67] svg[data-astro-cid-jvqv4e67]{width:100%;height:auto;display:block;overflow:visible}.hw-warn[data-astro-cid-jvqv4e67]{fill:var(--color-warn);opacity:.12}.hw-bad[data-astro-cid-jvqv4e67]{fill:var(--color-down);opacity:.1}.hw-grid[data-astro-cid-jvqv4e67]{stroke:var(--color-line);stroke-width:1px}.hw-day[data-astro-cid-jvqv4e67]{stroke:var(--color-line);stroke-width:1px;opacity:.6}.hw-axis[data-astro-cid-jvqv4e67]{stroke:var(--color-line-2);stroke-width:1px}.hw-ax[data-astro-cid-jvqv4e67]{fill:var(--color-ink-faint);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.hw-plan[data-astro-cid-jvqv4e67]{fill:none;stroke:var(--color-ink-muted);stroke-width:2px;stroke-linejoin:round}.hw-proj[data-astro-cid-jvqv4e67]{stroke:var(--color-accent);stroke-width:1px;opacity:.45}.hw-pt[data-astro-cid-jvqv4e67] circle[data-astro-cid-jvqv4e67]:not(.hw-hit){fill:var(--color-accent);stroke:var(--color-canvas);stroke-width:2px}.hw-hit[data-astro-cid-jvqv4e67]{fill:#0000;stroke:none}.hw-end[data-astro-cid-jvqv4e67],.hw-note[data-astro-cid-jvqv4e67]{fill:var(--color-ink);font-family:var(--font-mono);font-size:11px}.hw-note[data-astro-cid-jvqv4e67]{fill:var(--color-ink-muted);font-size:10px}.hw[data-astro-cid-jvqv4e67] figcaption[data-astro-cid-jvqv4e67]{color:var(--color-ink-faint);font-size:.8rem}.hw-table[data-astro-cid-jvqv4e67] summary[data-astro-cid-jvqv4e67]{cursor:pointer;color:var(--color-ink-muted);font-size:.8rem}.hw-table[data-astro-cid-jvqv4e67] table[data-astro-cid-jvqv4e67]{border-collapse:collapse;width:100%;font-family:var(--font-mono);margin-top:.5rem;font-size:.74rem}.hw-table[data-astro-cid-jvqv4e67] th[data-astro-cid-jvqv4e67],.hw-table[data-astro-cid-jvqv4e67] td[data-astro-cid-jvqv4e67]{text-align:left;border-bottom:1px solid var(--color-line);font-variant-numeric:tabular-nums;padding:.2rem .4rem}.hw-compact[data-astro-cid-jvqv4e67] .hw-plan[data-astro-cid-jvqv4e67]{stroke:var(--color-canvas);opacity:.7}.hw-compact[data-astro-cid-jvqv4e67] .hw-ax[data-astro-cid-jvqv4e67]{fill:var(--color-canvas);opacity:.6}.hw-compact[data-astro-cid-jvqv4e67] .hw-grid[data-astro-cid-jvqv4e67],.hw-compact[data-astro-cid-jvqv4e67] .hw-day[data-astro-cid-jvqv4e67],.hw-compact[data-astro-cid-jvqv4e67] .hw-axis[data-astro-cid-jvqv4e67]{stroke:var(--color-canvas);opacity:.18}.hw-compact[data-astro-cid-jvqv4e67] .hw-pt[data-astro-cid-jvqv4e67] circle[data-astro-cid-jvqv4e67]:not(.hw-hit){fill:var(--color-accent-2);stroke:var(--color-ink);opacity:.35}.hw-compact[data-astro-cid-jvqv4e67] .hw-pt[data-astro-cid-jvqv4e67].cur circle[data-astro-cid-jvqv4e67]:not(.hw-hit){opacity:1}.hw-compact[data-astro-cid-jvqv4e67] .hw-proj[data-astro-cid-jvqv4e67]{stroke:var(--color-accent-2);opacity:0}.hw-compact[data-astro-cid-jvqv4e67] .hw-proj[data-astro-cid-jvqv4e67].cur{opacity:.7}.hs-panel[data-astro-cid-s27irps2]{gap:.5rem;display:grid}.hs-at[data-astro-cid-s27irps2]{opacity:.65;font-size:.66rem}.hs-strip[data-astro-cid-s27irps2]{flex-wrap:wrap;gap:.2rem .7rem;font-size:.74rem;line-height:1.5;display:flex}.hs-g[data-astro-cid-s27irps2]{white-space:nowrap}.hs-l[data-astro-cid-s27irps2]{opacity:.6}.hs-bar[data-astro-cid-s27irps2]{color:var(--color-accent-2);letter-spacing:.02em}.hs-g[data-astro-cid-s27irps2][data-band=warn] .hs-bar[data-astro-cid-s27irps2]{color:var(--color-warn)}.hs-g[data-astro-cid-s27irps2][data-band=bad] .hs-bar[data-astro-cid-s27irps2],.hs-g[data-astro-cid-s27irps2][data-band=cold] .hs-bar[data-astro-cid-s27irps2]{color:var(--color-down)}.hs-dim[data-astro-cid-s27irps2]{opacity:.55;font-size:.66rem}
