@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:400;src:url(/nine-commits/_astro/literata-latin-400-normal.CLtNJ872.woff2)format("woff2"),url(/nine-commits/_astro/literata-latin-400-normal.CUhpYSl8.woff)format("woff")}@font-face{font-family:Literata;font-style:italic;font-display:swap;font-weight:400;src:url(/nine-commits/_astro/literata-latin-400-italic.BxdXY0No.woff2)format("woff2"),url(/nine-commits/_astro/literata-latin-400-italic.xjtKbHx7.woff)format("woff")}@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:600;src:url(/nine-commits/_astro/literata-latin-600-normal.A9sHopYh.woff2)format("woff2"),url(/nine-commits/_astro/literata-latin-600-normal.BFEFPlMO.woff)format("woff")}@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:700;src:url(/nine-commits/_astro/literata-latin-700-normal.DYBWKELl.woff2)format("woff2"),url(/nine-commits/_astro/literata-latin-700-normal.ocJiFfAw.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/nine-commits/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/nine-commits/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}:root{color-scheme:light dark;--ground:#f2f4f3;--ink-rgb:11 30 45;--ink:rgb(var(--ink-rgb));--ink-2:rgb(var(--ink-rgb) / .72);--ink-3:rgb(var(--ink-rgb) / .62);--rule:rgb(var(--ink-rgb) / .2);--rule-faint:rgb(var(--ink-rgb) / .1);--wash:rgb(var(--ink-rgb) / .045);--selection:rgb(var(--ink-rgb) / .14);--frame-user:var(--ink);--frame-assistant:#0e6e7d;--frame-tool:#8c5304;--frame-ok:#1a6b3c;--frame-error:#b02218;--frame-compaction:#6a46b8;--focus:#0e6e7d;--font-prose:"Literata", ui-serif, Georgia, "Times New Roman", serif;--font-data:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-2xs:.78rem;--text-xs:.889rem;--text-s:.95rem;--text-m:1.0625rem;--text-l:1.266rem;--text-xl:1.52rem;--text-2xl:1.82rem;--text-3xl:clamp(2.1rem, 1.55rem + 2.6vw, 3rem);--leading-prose:1.72;--leading-dialogue:1.75;--leading-tight:1.16;--leading-snug:1.34;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2.25rem;--space-xl:3.5rem;--space-2xl:5.5rem;--measure:64ch;--gutter:8.5rem;--gutter-gap:var(--space-m);--rail-width:2px;--duration:.16s;--ease:cubic-bezier(.2, 0, .2, 1)}@media (prefers-color-scheme:dark){:root{--ground:#0b1e2d;--ink-rgb:220 230 236;--frame-assistant:#5fd3e4;--frame-tool:#e8a93c;--frame-ok:#5ccb8a;--frame-error:#ff8478;--frame-compaction:#b9a0f5;--focus:#5fd3e4;--wash:rgb(var(--ink-rgb) / .06)}}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ol,ul,pre{margin:0}ol[class],ul[class]{padding:0;list-style:none}img,picture,svg{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}html{background:var(--ground);-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-prose);font-size:var(--text-m);line-height:var(--leading-prose);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}::selection{background:var(--selection)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.skip-link{z-index:10;padding:var(--space-2xs) var(--space-xs);background:var(--ground);border:1px solid var(--ink);text-decoration:none;position:absolute;inset-block-start:var(--space-s);inset-inline-start:var(--space-s);transform:translateY(-300%)}.skip-link:focus-visible{transform:none}.page{max-width:calc(var(--space-m) + var(--gutter) + var(--gutter-gap) + var(--measure));padding-inline:var(--space-s);padding-block:var(--space-l) var(--space-2xl);margin-inline:auto}.measured{padding-inline-start:var(--space-m);position:relative}.rail{width:var(--rail-width);background:var(--rule);position:absolute;inset-block:0;inset-inline-start:0}.rail__fill{width:100%;height:var(--fill,0%);background:var(--rail-tone,var(--ink-3));transition:height var(--duration) var(--ease);display:block}@supports (animation-timeline:scroll()){.rail--reading .rail__fill{transform-origin:top;height:100%;animation:linear both rail-scroll scroll(root)}}@keyframes rail-scroll{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.spread{grid-template-columns:var(--gutter) minmax(0, 1fr);column-gap:var(--gutter-gap);display:grid}.spread>*{grid-column:2}.spread>.marginal{text-align:end;grid-column:1}.spread>.full{grid-column:1/-1}.marginal{font-size:var(--text-2xs);line-height:var(--leading-snug);color:var(--ink-3);padding-block-start:.6em}h1,h2,h3{font-weight:700;line-height:var(--leading-tight);letter-spacing:-.012em;text-wrap:balance}.title{font-size:var(--text-3xl);margin-block-end:var(--space-s)}.lede{font-size:var(--text-l);line-height:var(--leading-snug);color:var(--ink-2);text-wrap:pretty;max-width:52ch}.masthead{font-size:var(--text-s);color:var(--ink-2);font-weight:600;text-decoration:none}.masthead:hover{color:var(--ink)}a{color:inherit;text-underline-offset:.17em;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:var(--ink-3);transition:text-decoration-color var(--duration) var(--ease)}a:hover{text-decoration-color:currentColor}code,kbd,samp,pre{font-family:var(--font-data);font-variant-ligatures:none;font-size:.86em}.intro{padding-block-end:var(--space-l)}.intro>p+p{text-wrap:pretty;max-width:56ch;margin-block-start:var(--space-s)}.standfirst{max-width:56ch;color:var(--ink-2);text-wrap:pretty;padding-block-end:var(--space-m)}.contents{display:grid}.entry{grid-template-columns:var(--gutter) minmax(0, 1fr);column-gap:var(--gutter-gap);padding-block:var(--space-m);border-block-start:1px solid var(--rule-faint);display:grid}.contents>.entry:last-child{border-block-end:1px solid var(--rule-faint)}.entry__ordinal{text-align:end;font-size:var(--text-2xs);line-height:var(--leading-snug);color:var(--ink-3);grid-column:1;padding-block-start:.6em}.entry__ordinal code,.marginal code{font-size:.94em}.entry__main{grid-column:2;min-width:0}.entry__title{font-size:var(--text-xl);margin-block-end:var(--space-3xs)}.entry__title a{text-decoration-color:var(--ink-3);text-underline-offset:.13em}.entry--planned .entry__title{color:var(--ink-2);font-weight:600}.entry__thesis{color:var(--ink-2);text-wrap:pretty;max-width:56ch}.entry__state{font-size:var(--text-xs);color:var(--ink-3);margin-block-start:var(--space-2xs)}.colophon{border-block-start:1px solid var(--rule);font-size:var(--text-s);color:var(--ink-2);max-width:56ch;margin-block-start:var(--space-xl);padding-block-start:var(--space-m)}.colophon>*+*{margin-block-start:var(--space-2xs)}.site-head{padding-block-end:var(--space-xl);padding-inline-start:calc(var(--space-m) + var(--gutter) + var(--gutter-gap))}.post__cover{width:100%;margin-block:var(--space-l);border:1px solid var(--rule-faint)}.post__footer{border-block-start:1px solid var(--rule);font-size:var(--text-s);color:var(--ink-2);margin-block-start:var(--space-xl);padding-block-start:var(--space-m)}.prose{max-width:var(--measure)}.prose>*+*{margin-block-start:var(--space-s)}.prose h2:not(.trace__task){font-size:var(--text-2xl);margin-block-start:var(--space-xl)}.prose h3{font-size:var(--text-l);margin-block-start:var(--space-l);font-weight:600}.prose ul,.prose ol:not(.transcript){padding-inline-start:1.4em}.prose li:not(.frame)+li:not(.frame){margin-block-start:var(--space-2xs)}.prose blockquote{border-inline-start:2px solid var(--rule);color:var(--ink-2);padding-inline-start:var(--space-s);font-style:italic}.prose hr{border:0;border-block-start:1px solid var(--rule);margin-block:var(--space-l)}.prose :not(pre)>code{background:var(--wash);padding:.1em .3em}.prose pre:not(.payload){background:var(--wash);padding:var(--space-xs) var(--space-s);tab-size:2;line-height:1.6;overflow-x:auto}.astro-code,.astro-code span{color:var(--shiki-light)}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)}}.prose img{border:1px solid var(--rule-faint)}.prose table{border-collapse:collapse;width:max-content;max-width:100%;font-size:var(--text-s);text-align:start;display:block;overflow-x:auto}.prose th,.prose td{padding:var(--space-2xs) var(--space-xs) var(--space-2xs) 0;border-block-end:1px solid var(--rule-faint);vertical-align:baseline}.prose th{color:var(--ink-2);text-align:start;border-block-end-color:var(--rule);font-weight:600}.prose td:not(:first-child){font-family:var(--font-data);font-size:var(--text-xs)}.transcript{gap:var(--space-m);margin-block:var(--space-m);display:grid}.frame{grid-template-columns:var(--gutter) minmax(0, 1fr);column-gap:var(--gutter-gap);--accent:var(--frame-user);--line-style:solid;--line-weight:1px;display:grid}.frame[data-tone=assistant]{--accent:var(--frame-assistant);--line-style:solid;--line-weight:2px}.frame[data-tone=tool]{--accent:var(--frame-tool);--line-style:dashed;--line-weight:2px}.frame[data-tone=ok]{--accent:var(--frame-ok);--line-style:solid;--line-weight:2px}.frame[data-tone=error]{--accent:var(--frame-error);--line-style:solid;--line-weight:5px}.frame[data-tone=compaction]{--accent:var(--frame-compaction);--line-style:dotted;--line-weight:3px}.frame__label{text-align:end;font-size:var(--text-xs);font-weight:600;line-height:var(--leading-snug);color:var(--accent);overflow-wrap:anywhere;grid-column:1;padding-block-start:.34em}.frame[data-tone=user] .frame__label,.frame[data-tone=error] .frame__label{font-weight:700}.frame__body{grid-column:2;min-width:0;padding-inline-start:var(--space-s);position:relative}.frame__body:before{content:"";border-inline-start:var(--line-weight) var(--line-style) var(--accent);transform-origin:top;position:absolute;inset-block:0;inset-inline-start:0}.frame__speech{line-height:var(--leading-dialogue);text-wrap:pretty;overflow-wrap:anywhere;max-width:56ch}.frame__body ul,.frame__body ol{max-width:56ch;padding-inline-start:1.3em}.frame__body li{line-height:var(--leading-dialogue);overflow-wrap:anywhere}.frame__body li::marker{color:var(--ink-3)}.frame__speech+.frame__speech,.frame__speech+ul,.frame__speech+ol,.frame__body ul+.frame__speech,.frame__body ol+.frame__speech{margin-block-start:var(--space-2xs)}.frame__body li+li,.frame__body li>ul,.frame__body li>ol{margin-block-start:var(--space-3xs)}.frame__body code{background:var(--wash);padding:.1em .3em}.frame__note{color:var(--ink-2);max-width:56ch}.frame__caption{font-size:var(--text-2xs);color:var(--ink-3);margin-block-start:var(--space-3xs)}.payload{font-family:var(--font-data);font-size:var(--text-xs);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-2);background:var(--wash);padding:var(--space-2xs) var(--space-xs);tab-size:2;max-height:22rem;line-height:1.6;overflow-y:auto}.player,.transcript-block,.compare{margin-block:var(--space-xl);position:relative}.prose .player,.prose .transcript-block,.prose .compare{max-width:none;width:calc(100% + var(--gutter) + var(--gutter-gap));margin-inline-start:calc(-1 * (var(--gutter) + var(--gutter-gap)))}.prose .compare .player{margin-inline:0;margin-block:var(--space-m) 0;width:100%}.compare__switch{gap:var(--space-2xs) var(--space-xs);flex-wrap:wrap;display:flex}.compare__switch .control{color:var(--ink-2);border-style:dashed}.compare__switch .control[aria-pressed=true]{border-style:solid;border-color:var(--ink);color:var(--ink)}.compare__caption{font-size:var(--text-s);color:var(--ink-3);text-wrap:pretty;max-width:52ch;margin-block-start:var(--space-xs)}.fork{gap:var(--space-2xs);padding-block:var(--space-s);border-block-end:1px solid var(--rule-faint);flex-direction:column;display:flex}.fork__question{font-size:var(--text-s);color:var(--ink-2);text-wrap:pretty;max-width:52ch}.fork__choices{gap:var(--space-2xs) var(--space-xs);flex-wrap:wrap;display:flex}.fork__choices .control{color:var(--ink-2);border-style:dashed}.fork__choices .control[aria-pressed=true]{border-style:solid;border-color:var(--ink);color:var(--ink)}.fork__choices .control:disabled{border-style:dashed;border-color:var(--rule-faint);color:var(--ink-3)}.prose .branch .player{margin-inline:0;margin-block:var(--space-m) 0;width:100%}.player>.rail{background:var(--rule);width:3px}.trace__task{font-size:var(--text-m);font-weight:600;line-height:var(--leading-snug);letter-spacing:0;text-wrap:pretty}.trace__note{font-size:var(--text-s);color:var(--ink-3);max-width:52ch;margin-block-start:var(--space-3xs)}.player__controls{align-items:center;gap:var(--space-2xs) var(--space-xs);border-block-end:1px solid var(--rule-faint);flex-wrap:wrap;margin-block-start:var(--space-m);padding-block-end:var(--space-s);display:flex}.control{font-family:var(--font-prose);font-size:var(--text-xs);color:var(--ink);border:1px solid var(--rule);cursor:pointer;transition:border-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border-radius:2px;padding:.58em .9em;font-weight:600;line-height:1}.control:hover:not(:disabled),.control[data-action=next]:not(:disabled){border-color:var(--ink-2)}.control:disabled{color:var(--ink-3);border-color:var(--rule-faint);cursor:not-allowed}.player__count{font-size:var(--text-xs);color:var(--ink-2);margin-inline-start:auto}.player__budget{font-size:var(--text-xs);color:var(--ink-3);flex-basis:100%}@media (prefers-reduced-motion:no-preference){.player .frame__body:before{animation:rule-draw .22s var(--ease) both}.player .frame__body>*{animation:words-in .2s var(--ease) 90ms both}}@keyframes rule-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes words-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.rail__fill,.control,a{transition:none}}@media (width<=52rem){:root{--gutter:0rem;--gutter-gap:0rem}.spread,.frame,.entry{grid-template-columns:minmax(0,1fr)}.spread>*,.spread>.marginal,.spread>.full,.entry__ordinal,.entry__main,.frame__label,.frame__body{grid-column:1}.spread>.marginal,.entry__ordinal,.frame__label{text-align:start;padding-block-start:0}.frame__label{margin-block-end:var(--space-3xs);padding-inline-start:var(--space-s)}.entry__ordinal,.marginal{margin-block-end:var(--space-2xs)}.prose .player,.prose .transcript-block,.prose .compare{width:calc(100% + var(--space-m));margin-inline-start:calc(-1 * var(--space-m));padding-inline-start:var(--space-m)}.prose .compare .player{width:100%;margin-inline:0;padding-inline-start:0}}
