@font-face{font-family:archivo;src:url(/fonts/archivo-latin-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:archivo;src:url(/fonts/archivo-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:archivo;src:url(/fonts/archivo-latin-700-normal.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:inter;src:url(/fonts/inter-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:inter;src:url(/fonts/inter-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:inter;src:url(/fonts/inter-latin-800-normal.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:jetbrains mono;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--bg:#ECEEF1;--surface:#FBFCFD;--surface-2:#F2F4F7;--ink:#13171C;--muted:#59616B;--line:#C8CED6;--line-soft:#DEE3E9;--accent:#F5A524;--accent-ink:#8A5400;--code-bg:#0B0D10;--code-line:#1F242B;--code-ink:#C3CAD3;--mark-bg:#0B0D10;--mark-line:#0B0D10;--display:"Archivo", "Helvetica Neue", Arial, sans-serif;--body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--wrap:1000px;--pad:clamp(1.15rem, 4vw, 2.25rem);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0B0D10;--surface:#12161B;--surface-2:#171C22;--ink:#E9ECF1;--muted:#98A2B3;--line:#232932;--line-soft:#1A1F26;--accent:#F5A524;--accent-ink:#F5A524;--code-bg:#10141A;--code-line:#262C35;--mark-bg:#171C22;--mark-line:#2C333D;color-scheme:dark}}:root[data-theme=dark]{--bg:#0B0D10;--surface:#12161B;--surface-2:#171C22;--ink:#E9ECF1;--muted:#98A2B3;--line:#232932;--line-soft:#1A1F26;--accent:#F5A524;--accent-ink:#F5A524;--code-bg:#10141A;--code-line:#262C35;--mark-bg:#171C22;--mark-line:#2C333D;color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--display);line-height:1.14;text-wrap:balance;margin:0}p{margin:0}a{color:inherit;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{text-decoration-color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}img{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.eyebrow{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--pad);top:.6rem;z-index:10;background:var(--surface);border:1px solid var(--line);padding:.5rem .8rem;font-family:var(--mono);font-size:.78rem}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad)}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.site-header .wrap{display:flex;align-items:center;gap:1.25rem;min-height:68px}.mark{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;margin-right:auto}.mark__box{display:grid;place-items:center;width:34px;height:34px;background:var(--mark-bg);border:1px solid var(--mark-line);color:var(--accent);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.04em}.mark__name{font-family:var(--display);font-weight:600;font-size:.95rem;letter-spacing:-.01em}.site-nav{display:flex;align-items:center;gap:1.1rem;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.site-nav a{text-decoration:none;color:var(--muted);padding-bottom:2px;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.theme-toggle{appearance:none;background:0 0;border:1px solid var(--line);color:var(--muted);width:32px;height:32px;display:grid;place-items:center;cursor:pointer;padding:0}.theme-toggle:hover{color:var(--ink);border-color:var(--ink)}.theme-toggle svg{width:15px;height:15px}:root[data-theme=dark] .theme-toggle .i-sun,.theme-toggle .i-moon{display:block}:root[data-theme=dark] .theme-toggle .i-moon,.theme-toggle .i-sun{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .i-sun{display:block}:root:not([data-theme=light]) .theme-toggle .i-moon{display:none}}main{display:block;padding-block:clamp(2.5rem,7vw,4.5rem)clamp(3rem,8vw,5rem)}.section+.section{margin-top:clamp(2.75rem,7vw,4rem)}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-top:2px solid var(--ink);padding-top:.75rem;margin-bottom:.25rem}.section__head h2{font-size:1.15rem;font-weight:600;letter-spacing:-.005em}.hero{display:flex;flex-direction:column;gap:1.15rem;max-width:40rem}.hero h1{font-size:clamp(2.3rem,7vw,3.5rem);font-weight:700;letter-spacing:-.028em}.hero__lede{font-size:1.14rem;color:var(--muted);max-width:54ch}.hero__facts{display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-family:var(--mono);font-size:.76rem;color:var(--muted);letter-spacing:.02em}.hero__facts span:not(:last-child)::after{content:"·";margin-left:.9rem;opacity:.5}.hero__open{border-left:3px solid var(--accent);padding:.1rem 0 .1rem .9rem;font-size:.98rem}.hero__links{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;margin-top:.2rem}.hero__links a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}.hero__links a:hover{border-bottom-color:var(--accent)}.log{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line-soft)}.log__row{border-top:1px solid var(--line-soft)}.log__row:first-child{border-top:0}.log__link{display:grid;grid-template-columns:6.5rem minmax(0,1fr)auto;align-items:baseline;gap:.35rem 1.25rem;padding:1.05rem 0;text-decoration:none;border-left:3px solid transparent;transition:border-color 140ms ease,padding-left 140ms ease}.log__link:hover,.log__link:focus-visible{border-left-color:var(--accent);padding-left:.85rem}.log__link--index{grid-template-columns:minmax(0,1fr)auto}.log__date{font-family:var(--mono);font-size:.74rem;color:var(--muted);letter-spacing:.03em;white-space:nowrap}.log__title{font-family:var(--display);font-size:1.12rem;font-weight:600;letter-spacing:-.012em;line-height:1.3}.log__summary{grid-column:2;color:var(--muted);font-size:.94rem;line-height:1.5;max-width:60ch;margin-top:.3rem}.log__tags{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.log__flag{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);border:1px solid var(--accent);padding:.05rem .35rem;margin-left:.5rem}.log__empty{color:var(--muted);padding:1.5rem 0}@media(max-width:640px){.log__link{grid-template-columns:minmax(0,1fr);gap:.3rem}.log__summary,.log__tags{grid-column:1}}.article__head{display:flex;flex-direction:column;gap:.9rem}.article__head h1{font-size:clamp(2rem,5.5vw,2.9rem);font-weight:700;letter-spacing:-.025em}.article__meta{display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-family:var(--mono);font-size:.73rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.article__meta span:not(:last-child)::after{content:"·";margin-left:.9rem;opacity:.5}.article__lede{font-size:1.12rem;color:var(--muted)}.article__rule{height:2px;background:var(--ink);margin:1.6rem 0 2.2rem}.prose>*+*{margin-top:1.15rem}.prose h2{font-size:1.5rem;font-weight:600;letter-spacing:-.012em;margin-top:2.6rem;padding-top:.7rem;border-top:1px solid var(--line)}.prose h3{font-size:1.15rem;font-weight:600;margin-top:1.9rem}.prose ul,.prose ol{padding-left:1.15rem}.prose li+li{margin-top:.45rem}.prose blockquote{margin:0;border-left:3px solid var(--accent);padding-left:1rem;color:var(--muted)}.prose figure{margin:0}.prose figcaption{font-size:.9rem;color:var(--muted);margin-top:.6rem}.article__foot{margin-top:3rem;border-top:1px solid var(--line);padding-top:1.1rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.article__foot a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}.article__foot a:hover{border-bottom-color:var(--accent);color:var(--ink)}.prose code{font-family:var(--mono);font-size:.86em;background:var(--surface-2);border:1px solid var(--line-soft);padding:.06em .32em}.prose pre{background:var(--code-bg);border:1px solid var(--code-line);color:var(--code-ink);padding:1.15rem 1.25rem;overflow-x:auto;font-family:var(--mono);font-size:.84rem;line-height:1.66;margin:.84rem 0 0}.prose pre code{background:0 0;border:0;padding:0;font-size:inherit;color:inherit}.highlight{margin:0}.prose .highlight .k,.prose .highlight .kd,.prose .highlight .kn,.prose .highlight .kr,.prose .highlight .kt,.prose .highlight .kc{color:#f5a524}.prose .highlight .s,.prose .highlight .s1,.prose .highlight .s2,.prose .highlight .sb,.prose .highlight .sc{color:#e8b87a}.prose .highlight .c,.prose .highlight .c1,.prose .highlight .cm,.prose .highlight .cs{color:#5a6472;font-style:italic}.prose .highlight .nf,.prose .highlight .nx,.prose .highlight .nc{color:#93aec9}.prose .highlight .m,.prose .highlight .mi,.prose .highlight .mf{color:#c3cad3}.prose .highlight .o,.prose .highlight .p{color:#98a2b3}.prose .mermaid{background:var(--surface);border:1px solid var(--line);padding:1.35rem 1.2rem;overflow-x:auto;text-align:center}.site-footer{border-top:1px solid var(--line);padding-block:1.6rem 2.75rem;color:var(--muted);font-size:.85rem}.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}.site-footer a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}.site-footer a:hover{color:var(--ink);border-bottom-color:var(--accent)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}