@font-face{font-family:"source serif 4";font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/source-serif-4-latin.woff2)format("woff2")}@font-face{font-family:"source serif 4";font-style:italic;font-weight:300 700;font-display:swap;src:url(/fonts/source-serif-4-italic-latin.woff2)format("woff2")}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2")}:root{--void:#080b1c;--plate:#0d1230;--line:#252c55;--ink:#e9e4d4;--dim:#9a9cbc;--sun:#ffcf7a;--display:"Source Serif 4", "Iowan Old Style", Georgia, serif;--serif:"Source Serif 4", "Iowan Old Style", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--max-width:40rem;color-scheme:dark}html{font-size:17px}body{font:1rem/1.65 var(--sans);color:var(--ink);background:var(--void)radial-gradient(120% 60% at 50% 0,var(--plate),var(--void) 70%)no-repeat;margin:0;padding:0}main,.site-header,.site-footer{max-width:var(--max-width);margin:0 auto;padding:1.5rem max(16px,1.25rem)}.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;border-bottom:1px solid var(--line)}.site-title{font:1.25rem/1.2 var(--display);text-decoration:none;color:var(--ink)}.site-header nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.site-header nav a{color:var(--dim);text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--sun)}.site-header nav a.nav-feature{color:var(--sun)}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.2}h1{font-size:clamp(2rem,6vw,2.8rem);margin:1.5rem 0 .5rem}h2{font-size:1.6rem;margin-top:2.25rem}h3{font-size:1.25rem;margin-top:1.75rem}a{color:var(--sun);text-underline-offset:.15em}a:focus-visible,button:focus-visible{outline:2px solid var(--sun);outline-offset:3px}.post-body p{margin:1rem 0}.post-body code{font-family:var(--mono);font-size:.88em;background:var(--plate);border:1px solid var(--line);padding:.05em .3em;border-radius:3px}.post-body pre{background:var(--plate);border:1px solid var(--line);padding:1rem;overflow-x:auto;font-size:.85rem;border-radius:6px}.post-body pre code{background:0 0;border:0;padding:0}.post-body blockquote{border-left:3px solid var(--sun);margin-left:0;padding-left:1rem;color:var(--dim);font-style:italic}.post-body img{max-width:100%;height:auto}.post-body hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.lede{font-size:1.12rem;color:var(--dim)}.post-list ul{list-style:none;padding:0}.post-list li{margin:.75rem 0;padding-top:.75rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}.post-list li a{font:1.2rem/1.3 var(--display)}.post-list time{color:var(--dim);font:.8rem/1.8 var(--mono);white-space:nowrap}.site-footer{border-top:1px solid var(--line);color:var(--dim);font-size:.85rem;margin-top:4rem}.site-footer a{color:inherit}.skip{position:absolute;left:-999px;top:0;padding:.5rem .75rem;background:var(--void);color:var(--ink);z-index:10}.skip:focus{left:1rem;top:1rem}.notfound{padding:3rem 0}.kicker{margin:1.5rem 0 0;font:500 .75rem/1.5 var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.08em}.kicker a{color:inherit}.project h1{margin-top:.25rem}.project-facts{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1.25rem;margin:2rem 0;padding-top:1rem;border-top:1px solid var(--line);font:.85rem/1.6 var(--mono)}.project-facts dt{color:var(--dim)}.project-facts dd{margin:0}.back{font-size:.92rem}.project-index li{display:block}.project-index li span{display:block;color:var(--dim);font-size:.92rem}.btn{display:inline-block;padding:.55rem 1rem;border:1px solid var(--sun);border-radius:999px;color:var(--sun);text-decoration:none;font:500 .85rem/1.2 var(--mono);letter-spacing:.04em}.btn:hover{background:rgba(255,207,122,.14)}.btn.primary{background:var(--sun);color:var(--void)}.btn.primary:hover{background:#ffe0a3}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:1.25rem 0 0}.shot{display:block;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--plate)}.shot img{display:block;width:100%;height:auto}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}.post-meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:.5rem 0 0;color:var(--dim);font:500 .74rem/1.6 var(--mono);letter-spacing:.07em;text-transform:uppercase}.post-meta .persona{color:var(--sun);text-transform:none;letter-spacing:.02em}.post h1{font-size:clamp(2.1rem,6vw,3rem);line-height:1.08;margin-top:.4rem}.post .post-body{font:1.12rem/1.72 var(--serif);margin-top:2rem}.post .post-body h2{font-size:1.55rem;margin-top:2.5rem}.post .post-body code{font-size:.8em}.logbook-head{margin-bottom:2rem}.section-note p{margin:.75rem 0 0;color:var(--dim);font-size:.95rem;max-width:60ch}.logbook-head h1{font-size:clamp(2.4rem,7vw,3.4rem);margin:.25rem 0 .5rem}.entry{padding:1.75rem 0;border-top:1px solid var(--line)}.entry h2{margin:.5rem 0 .6rem;font-size:1.65rem;line-height:1.15}.entry h2 a{color:var(--ink);text-decoration:none}.entry h2 a:hover{color:var(--sun)}.entry .excerpt p{margin:0;font:1.05rem/1.65 var(--serif);color:var(--ink);opacity:.88}.entry .more{margin:.9rem 0 0;font:500 .8rem/1.4 var(--mono);letter-spacing:.05em}.entry .more a{text-decoration:none}.entry-lead h2{font-size:clamp(1.9rem,5vw,2.4rem)}.entry-lead .excerpt p{font-size:1.15rem}.reading-topics{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1rem}.reading-topics summary{cursor:pointer;color:var(--sun)}.reading-topics summary:focus-visible{outline:2px solid var(--sun);outline-offset:3px}.reading-groups{display:grid;gap:1rem;margin-top:.75rem}.reading-groups h2{font-size:1.25rem;margin:.5rem 0}.reading-groups ul{margin:0;padding-left:1.2rem}.reading-groups li{margin:.4rem 0}@media(min-width:600px){.reading-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}.post-body table{width:100%;border-collapse:collapse;font:.88em/1.5 var(--sans)}.post-body th,.post-body td{text-align:left;vertical-align:top;padding:.6rem .4rem;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.project-group{margin-top:2rem}.project-group-heading{font:1.5rem/1.2 var(--display);margin:0 0 .75rem}.project-list .project-name{margin:0;font:1.35rem/1.2 var(--display)}.project-catalogue .meta{font:.74rem/1.5 var(--mono);color:var(--dim)}.post-meta .draft-credit{text-transform:none;letter-spacing:normal}.site-footer .follow{margin-bottom:.5rem}.commit-inspection{margin:1.5rem 0}.commit-inspection .table-scroll,.commit-inspection .chart{overflow-x:auto}.commit-inspection table{width:100%;border-collapse:collapse;font:.78rem/1.5 var(--mono)}.commit-inspection th,.commit-inspection td{padding:.6rem .4rem;text-align:left;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.commit-inspection caption{text-align:left;color:var(--dim);margin-bottom:.6rem}.commit-inspection .chart img{display:block;width:100%;min-width:620px;height:auto;background:#101429}.commit-inspection figure{margin:1rem 0}.commit-inspection .note{color:var(--dim);font-size:.86rem}.commit-inspection details,details.inspection-methods{margin:1.25rem 0;border-top:1px solid var(--line);padding-top:.75rem}.commit-inspection summary{cursor:pointer;color:var(--sun);font:.8rem/1.5 var(--mono)}.commit-inspection .legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font:.72rem/1.4 var(--mono)}.commit-inspection .legend i{display:inline-block;width:9px;height:9px;margin-right:6px}.commit-inspection .ci-botswarm{background:#e8b04b}.commit-inspection .ci-tower{background:#6fa8ff}.commit-inspection .ci-conclave{background:#8fd3c1}.commit-inspection .ci-kit{background:#c9c2e8}.commit-inspection .ci-phronopolis{background:#f08a6c}.commit-inspection .ci-trading{background:#7d9ba9}.commit-inspection .ci-other{background:#db92b1}