.prose figure.fig{margin:2em 0;padding:20px 20px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.prose figure.fig svg{display:block;width:100%;height:auto;overflow:hidden}.prose figure.fig figcaption{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11.5px;line-height:1.6;color:var(--muted)}.fig text{font-family:var(--mono);font-size:11px;fill:var(--ink-2)}.fig .cap{fill:var(--muted);font-size:10.5px;letter-spacing:.04em}.fig .lbl{fill:var(--muted);font-size:10.5px}.fig .lbl.ok{fill:var(--accent)}.fig .lbl.bad{fill:var(--ink-2)}.fig .guide line{stroke:var(--line-strong);stroke-width:1;opacity:.45}.fig .cells rect{fill:var(--surface-2);stroke:var(--line-strong)}.fig .tick line{stroke:var(--line-strong);stroke-width:1}.fig .val text{fill:var(--ink);font-size:11px;text-anchor:middle}.fig .hop path{stroke:var(--line-strong);stroke-width:1.5;fill:none}.fig .hop circle{fill:var(--line-strong)}.fig .hop.a path,.fig .hop.a circle{stroke:var(--accent);fill:none}.fig .hop.a circle{fill:var(--accent)}.fig .hop.c path{stroke:var(--ink-2);stroke-dasharray:4 3}.fig .hop.c circle{fill:var(--ink-2)}.fig .row-lbl text{fill:var(--muted);font-size:10px;text-anchor:middle}.fig .axis line{stroke:var(--line);stroke-width:1}.fig .axis line.frame{stroke:var(--line-strong)}.fig .tick-lbl{fill:var(--muted);font-size:9.5px}.fig .curve{stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.fig .curve.ok{stroke:var(--accent)}.fig .curve.ok2{stroke:var(--accent);stroke-dasharray:5 3;opacity:.75}.fig .curve.bad{stroke:var(--ink-2);stroke-dasharray:5 3}.fig .curve.bad2{stroke:var(--ink-2)}.fig .opt{fill:none;stroke:var(--accent);stroke-width:2}.fig .offscale{stroke:var(--ink-2);stroke-width:1.4;fill:none}.fig .head-off{fill:var(--ink-2);stroke:none}.fig .axis line.floor{stroke:var(--muted);stroke-dasharray:4 4}.fig .edge path{stroke:var(--line-strong);stroke-width:1.4;fill:none}.fig .head{fill:var(--line-strong);stroke:none}.fig .head-b{fill:var(--accent);stroke:none}.fig .node rect{fill:var(--surface-2);stroke:var(--line-strong)}.fig .node rect.op{fill:var(--surface);stroke:var(--ink-2)}.fig .node rect.out{fill:var(--surface);stroke:var(--accent)}.fig .txt text{fill:var(--ink);text-anchor:middle;font-size:11.5px}.fig .fwd text{fill:var(--ink-2);text-anchor:middle;font-size:10.5px}.fig .bwd text{fill:var(--accent);text-anchor:middle;font-size:10.5px}.fig .lane-mark path{stroke:var(--line-strong);stroke-width:1;fill:none}.fig .lane-mark path.b{stroke:var(--accent)}.fig .lane-mark text{fill:var(--muted);font-size:10px;letter-spacing:.04em}.fig .lane-mark text.b{fill:var(--accent)}.fig .grad-link path{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;fill:none}.fig .grad-link text{fill:var(--accent);font-size:10.5px;dominant-baseline:middle}.fig .hm rect{fill:var(--accent)}.fig .v{text-anchor:middle;font-size:11px}.fig .v.on{fill:var(--paper)}.fig .v.off{fill:var(--ink-2)}.fig .lbl-ax text{fill:var(--muted);font-size:11px;text-anchor:middle}.fig .lbl-ax text.r{text-anchor:end}.fig .lbl-ax .cap{fill:var(--muted);font-size:10px;letter-spacing:.04em}.fig .lbl-ax .cap.l{text-anchor:start}.fig .mark{fill:var(--accent)}.fig .ttl2{fill:var(--ink-2);font-size:11px;text-anchor:middle;font-weight:600}.fig .ttl2.l{text-anchor:start}.fig .curve.tgt{stroke:var(--muted);stroke-width:4;opacity:.42}.fig .curve.ok3{stroke:var(--accent);stroke-dasharray:2 3;opacity:.9}.fig .spread{stroke:none;opacity:.13}.fig .spread.ok{fill:var(--accent)}.fig .spread.bad,.fig .spread.bad2{fill:var(--ink-2)}.fig .alloc .pad{fill:var(--surface-2);stroke:var(--line);stroke-width:.6}.fig .alloc .use{fill:var(--accent)}.fig .alloc .blk{stroke:var(--paper);stroke-width:.8;opacity:.9}.fig .ref{stroke:var(--ink-2);stroke-width:1;stroke-dasharray:4 3}.fig .ref.ok{stroke:var(--accent)}.fig .dot{fill:var(--accent)}.fig .split .pre{fill:var(--ink-2)}.fig .split .dec{fill:var(--accent)}.fig .split .lbl.r{fill:var(--ink-2)}.fig .branch{stroke:var(--ink-2);stroke-width:1.2;stroke-dasharray:3 3}.fig .chunk{fill:var(--surface);stroke:var(--ink-2);stroke-width:1.4}.fig .dot.bad,.fig .ahd{fill:var(--ink-2)}.fig .lgd rect.bg{fill:var(--surface)}.fig .chars text{fill:var(--ink-2);font-size:8px;font-family:var(--mono)}.fig .hm2 rect{fill:var(--accent)}.fig rect.frame{fill:none;stroke:var(--line-strong);stroke-width:1}.fig .chars2 text{fill:var(--ink);font-size:13px;font-family:var(--mono)}.fig rect.win{fill:none;stroke:var(--accent);stroke-width:1.4}.fig circle.nd{r:2.6}.fig circle.nd.on{fill:var(--accent)}.fig circle.nd.off{fill:none;stroke:var(--line-strong);stroke-width:1}.fig line.lk{stroke:var(--accent);stroke-width:.7;opacity:.45}.fig .pulse-dot{opacity:0}@media(prefers-reduced-motion:reduce){.fig .pulse-dot{display:none}}.fig .hm rect.idle{fill:var(--surface-2);stroke:var(--line);stroke-width:1}.fig .lgd line{stroke-width:1.8}.fig .done line{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:2 2}.fig rect.miss{fill:var(--muted)}.fig rect.unrun{fill:none;stroke:var(--line-strong);stroke-width:1}.post[data-astro-cid-7jjqptxk]{max-width:760px;padding-top:clamp(32px,6vw,64px)}.back[data-astro-cid-7jjqptxk]{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;color:var(--muted)}.back[data-astro-cid-7jjqptxk] svg{transform:rotate(180deg)}.head-row[data-astro-cid-7jjqptxk]{display:flex;align-items:baseline;gap:14px}.lang-switch[data-astro-cid-7jjqptxk]{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:2px 9px}.lang-switch[data-astro-cid-7jjqptxk]:hover{background:var(--accent-soft)}.back[data-astro-cid-7jjqptxk]:hover{color:var(--accent)}h1[data-astro-cid-7jjqptxk]{margin:18px 0 0;font-size:clamp(1.9rem,4.2vw,2.6rem);font-weight:600;line-height:1.18;letter-spacing:-.02em;text-wrap:balance}.meta[data-astro-cid-7jjqptxk]{margin:14px 0 0;display:flex;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:12px;color:var(--muted)}.meta[data-astro-cid-7jjqptxk] .sep[data-astro-cid-7jjqptxk]{opacity:.5}.kind[data-astro-cid-7jjqptxk]{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-strong);border-radius:4px;padding:1px 6px}.kind[data-astro-cid-7jjqptxk].guide{color:var(--accent);border-color:var(--accent)}.run[data-astro-cid-7jjqptxk]{display:inline-flex;align-items:baseline;gap:10px;margin-top:16px;padding:4px 10px 4px 0}.run-name[data-astro-cid-7jjqptxk]{font-weight:600;font-size:.95rem;color:var(--accent)}.run[data-astro-cid-7jjqptxk]:hover .run-name[data-astro-cid-7jjqptxk]{text-decoration:underline;text-underline-offset:4px}.run-part[data-astro-cid-7jjqptxk]{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.run-nav[data-astro-cid-7jjqptxk]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:56px}.step[data-astro-cid-7jjqptxk]{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:var(--surface);transition:border-color .15s,background .15s}.step[data-astro-cid-7jjqptxk]:hover{border-color:var(--accent);background:var(--surface-2)}.step[data-astro-cid-7jjqptxk].next{text-align:right}.dir[data-astro-cid-7jjqptxk]{font-family:var(--mono);font-size:11.5px;color:var(--accent)}.ttl[data-astro-cid-7jjqptxk]{font-weight:600;font-size:.98rem}@media(max-width:560px){.run-nav[data-astro-cid-7jjqptxk]{grid-template-columns:1fr}.step[data-astro-cid-7jjqptxk].next{text-align:left}}.meta[data-astro-cid-7jjqptxk] .views{font-variant-numeric:tabular-nums}.meta[data-astro-cid-7jjqptxk] .views .sep{opacity:.5}.post-foot[data-astro-cid-7jjqptxk]{display:flex;gap:10px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}.prose[data-astro-cid-7jjqptxk]{margin-top:40px;font-size:1.05rem;line-height:1.72;color:var(--ink-2)}.prose[data-astro-cid-7jjqptxk]>*+*{margin-top:1.15em}.prose[data-astro-cid-7jjqptxk] h2{margin-top:2.2em;font-size:1.4rem;font-weight:600;color:var(--ink);letter-spacing:-.014em;line-height:1.3}.prose[data-astro-cid-7jjqptxk] h3{margin-top:1.8em;font-size:1.12rem;font-weight:600;color:var(--ink)}.prose[data-astro-cid-7jjqptxk] strong{color:var(--ink);font-weight:600}.prose[data-astro-cid-7jjqptxk] a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.prose[data-astro-cid-7jjqptxk] a:hover{text-decoration-thickness:2px}.prose[data-astro-cid-7jjqptxk] ul,.prose[data-astro-cid-7jjqptxk] ol{padding-left:1.3em}.prose[data-astro-cid-7jjqptxk] li+li{margin-top:.4em}.prose[data-astro-cid-7jjqptxk] li::marker{color:var(--muted)}.prose[data-astro-cid-7jjqptxk] blockquote{margin-inline:0;padding:2px 0 2px 20px;border-left:3px solid var(--accent);color:var(--ink-2)}.prose[data-astro-cid-7jjqptxk] hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.prose[data-astro-cid-7jjqptxk] img{border-radius:10px;border:1px solid var(--line)}.prose[data-astro-cid-7jjqptxk] figcaption{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:8px}.prose[data-astro-cid-7jjqptxk] table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}.prose[data-astro-cid-7jjqptxk] th,.prose[data-astro-cid-7jjqptxk] td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--line)}.prose[data-astro-cid-7jjqptxk] th{color:var(--ink);font-weight:600}.prose[data-astro-cid-7jjqptxk] code{font-family:var(--mono);font-size:.88em;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:.08em .32em}.prose[data-astro-cid-7jjqptxk] pre{padding:16px 18px;border-radius:11px;overflow-x:auto;border:1px solid var(--line);font-size:13px;line-height:1.65}.prose[data-astro-cid-7jjqptxk] pre code{background:none;border:0;padding:0;font-size:inherit}.prose[data-astro-cid-7jjqptxk] .astro-code{background-color:var(--surface)!important}:root[data-theme=dark] .prose[data-astro-cid-7jjqptxk] .astro-code span{color:var(--shiki-dark)!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .prose[data-astro-cid-7jjqptxk] .astro-code span{color:var(--shiki-dark)!important}}
