@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/jetbrains-mono-latin-600-normal.C8RAYTDA.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-600-normal.BfsvjouI.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/jetbrains-mono-latin-700-normal.BYuf6tUa.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-700-normal.D3wTyLJW.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/geist-sans-latin-300-normal.C3kkMBb6.woff2) format("woff2"),url(/_astro/geist-sans-latin-300-normal.plFOEHCX.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-sans-latin-400-normal.gapTbOY8.woff2) format("woff2"),url(/_astro/geist-sans-latin-400-normal.BOaIZNA2.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-sans-latin-500-normal.uokXdC-Q.woff2) format("woff2"),url(/_astro/geist-sans-latin-500-normal.CN2lyvyL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/geist-sans-latin-600-normal.DFOURf8L.woff2) format("woff2"),url(/_astro/geist-sans-latin-600-normal.CA1yjETN.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/geist-sans-latin-700-normal.BmN9tIp5.woff2) format("woff2"),url(/_astro/geist-sans-latin-700-normal.CjScfYeH.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-sans-latin-500-normal.uokXdC-Q.woff2) format("woff2"),url(/_astro/geist-sans-latin-500-normal.CN2lyvyL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/geist-sans-latin-600-normal.DFOURf8L.woff2) format("woff2"),url(/_astro/geist-sans-latin-600-normal.CA1yjETN.woff) format("woff")}:root{--ink: #16140F;--ink-2: #1F1C16;--paper: #F2ECDE;--paper-2: #E0E7D9;--accent: #C9633F;--bg: #16140F;--bg-2: #1F1C16;--fg: #F2ECDE;--fg-dim: rgba(237,231,217,.55);--fg-mute: rgba(237,231,217,.35);--rule: rgba(237,231,217,.1);--grid: rgba(237,231,217,.025);--hover-bg: rgba(237,231,217,.02);--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "Geist Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;color-scheme:dark}:root[data-theme=light]{--bg: #F2ECDE;--bg-2: #E0E7D9;--fg: #16140F;--fg-dim: rgba(22,20,15,.62);--fg-mute: rgba(22,20,15,.42);--rule: rgba(22,20,15,.12);--grid: rgba(22,20,15,.045);--hover-bg: rgba(22,20,15,.025);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body{display:flex;flex-direction:column;min-height:100vh}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(to right,var(--grid) 1px,transparent 1px),linear-gradient(to bottom,var(--grid) 1px,transparent 1px);background-size:64px 64px;pointer-events:none;mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,black 30%,transparent 75%);z-index:0}.topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:24px 40px;font-family:var(--mono);font-size:12px;letter-spacing:.02em}.topbar .brand-link{text-decoration:none;color:inherit}.topbar .brand{font-family:var(--mono);font-weight:600;font-size:16px;letter-spacing:-.03em;color:var(--fg);display:inline-flex;align-items:baseline;gap:0;transition:opacity .15s}.topbar .brand-link:hover .brand{opacity:.85}.topbar .brand .dot{color:var(--accent);margin-left:-.02em}.topbar nav{display:flex;align-items:center;gap:28px;color:var(--fg-dim)}.topbar nav a{color:inherit;text-decoration:none;transition:color .15s}.topbar nav a:hover,.topbar nav a[aria-current=page]{color:var(--fg)}.topbar nav .status{display:inline-flex;align-items:center;gap:7px}.topbar nav .status .led{width:6px;height:6px;border-radius:50%;background:#4ea36b;box-shadow:0 0 6px #4ea36bb3}.theme-toggle{background:none;border:none;padding:4px 6px;margin:0;font-family:var(--mono);font-size:14px;line-height:1;color:var(--fg-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,transform .2s ease;-webkit-tap-highlight-color:transparent}.theme-toggle:hover{color:var(--fg)}.theme-toggle:active{transform:scale(.92)}.theme-toggle .theme-icon{display:inline-block;line-height:1}.theme-toggle .theme-icon[data-icon=light]{display:none}:root[data-theme=light] .theme-toggle .theme-icon[data-icon=dark]{display:none}:root[data-theme=light] .theme-toggle .theme-icon[data-icon=light]{display:inline-block}main{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;padding:60px 40px 80px}.stage{width:100%;max-width:900px;text-align:left;display:flex;flex-direction:column;gap:8px}.prelude{font-family:var(--mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:22px;display:flex;align-items:center;gap:14px}.prelude.animated{opacity:0;transform:translateY(4px);transition:opacity .7s ease,transform .7s ease}.prelude.show{opacity:1;transform:none}.prelude .bar{flex:0 0 32px;height:1px;background:var(--accent)}.mark{display:flex;align-items:baseline;gap:0;font-family:var(--mono);font-size:clamp(54px,9.5vw,132px);line-height:.98;font-weight:600;letter-spacing:-.045em;color:var(--fg);flex-wrap:wrap}.mark .typed{white-space:pre}.mark .dot{color:var(--accent);margin-left:-.04em;opacity:0;transform:translateY(-.35em) scale(.6);transition:opacity .36s cubic-bezier(.2,.7,.2,1.4),transform .36s cubic-bezier(.2,.7,.2,1.4)}.mark .dot.show{opacity:1;transform:none}.mark .dot.pulse{animation:pulse 3.6s ease-in-out infinite;animation-delay:1.2s}@keyframes pulse{0%,92%,to{transform:scale(1)}96%{transform:scale(1.12)}}.tagline{display:flex;align-items:baseline;gap:0;font-family:var(--mono);font-size:clamp(13px,1.6vw,16px);line-height:1.15;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-dim);margin-top:10px;min-height:1.2em;flex-wrap:wrap}.tagline .typed{white-space:pre}.tagline .dot{color:var(--accent);margin-left:-.04em;opacity:0;transform:translateY(-.25em) scale(.6);transition:opacity .36s cubic-bezier(.2,.7,.2,1.4),transform .36s cubic-bezier(.2,.7,.2,1.4)}.tagline .dot.show{opacity:1;transform:none}.tagline .dot.pulse{animation:pulse 3.6s ease-in-out infinite;animation-delay:2.2s}.desc{margin-top:44px;max-width:64ch;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--fg-dim);line-height:1.65;border-top:1px solid var(--rule);padding-top:22px}.desc.animated{opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease}.desc.show{opacity:1;transform:none}.desc .key{color:var(--fg)}.desc a{color:var(--fg);text-decoration:none;border-bottom:1px dashed var(--fg-mute)}.desc a:hover{border-bottom-color:var(--fg)}.desc p{margin:0 0 8px}.desc p:last-child{margin-bottom:0}.sections{width:100%;max-width:900px;margin-top:80px;display:grid;grid-template-columns:1fr 1fr;gap:56px 64px}.sections.animated{opacity:0;transform:translateY(8px);transition:opacity .7s ease .15s,transform .7s ease .15s}.sections.show{opacity:1;transform:none}.sec{display:flex;flex-direction:column;gap:14px}.sec h3{margin:0;font-family:var(--sans);font-size:15px;letter-spacing:normal;text-transform:lowercase;color:var(--fg-mute);font-weight:500;display:inline-flex;align-items:baseline;gap:0}.sec h3 .dot{color:var(--accent)}.sec p{font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.65;color:var(--fg);margin:0}.sec .muted{color:var(--fg-dim)}.sec ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.sec ul li{display:block;position:relative;padding-left:18px;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--fg)}.sec ul li:before{content:"·";color:var(--accent);font-weight:700;position:absolute;left:0;top:0}.sec ul li a{color:inherit;text-decoration:none;border-bottom:1px dashed var(--fg-mute);transition:border-color .15s,color .15s}.sec ul li a:hover{color:var(--fg);border-bottom-color:var(--fg)}.sec a.link{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--fg);text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--rule);transition:border-color .15s}.sec a.link:hover{border-bottom-color:var(--fg)}.sec a.link .host{color:var(--fg-dim);font-size:11px;margin-left:8px;letter-spacing:.04em}.sec a.link .arrow{color:var(--fg-mute);transition:transform .15s,color .15s;margin-left:auto}.sec a.link:hover .arrow{transform:translate(3px);color:var(--fg)}.sec-wide{grid-column:1 / -1;padding-top:34px;border-top:1px solid var(--rule)}.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--rule);background:var(--rule)}.mini{min-height:150px;padding:18px;background:var(--bg);display:grid;grid-template-rows:auto 1fr;align-content:start;row-gap:26px}.mini span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent)}.mini p{color:var(--fg);margin:0}.sec-edu{grid-column:1 / -1;margin-top:-24px;padding-top:20px;gap:20px}.sec-edu ul{gap:14px}.sec-cta{grid-column:1 / -1;margin-top:8px;padding:24px 0 32px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.cta-link{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;margin-top:6px;padding:12px 14px;border:1px solid var(--accent);color:var(--fg);text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;transition:background .15s,color .15s,transform .15s}.cta-link:hover{background:var(--accent);color:var(--ink);transform:translateY(-1px)}.cta-link .arrow{color:inherit}@media(hover:none){.cta-link{background:var(--accent);color:var(--ink)}}.landing .desc{font-family:var(--mono);font-size:13.5px;font-weight:400;line-height:1.75;letter-spacing:.01em}.landing .sec h3{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.landing .sec p,.landing .sec ul li,.landing .sec a.link{font-family:var(--mono);font-size:13px;font-weight:400;line-height:1.75}.landing .sec b{color:var(--accent)}.landing #examples .mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.landing .sec a.link .host{font-family:var(--mono)}.post-list{width:100%;max-width:900px;margin-top:44px;display:flex;flex-direction:column;border-top:1px solid var(--rule)}.post-list .empty{font-family:var(--mono);font-size:13px;color:var(--fg-dim);padding:28px 0}.post-item{display:grid;grid-template-columns:120px 1fr auto;align-items:baseline;gap:24px;padding:22px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit;transition:background .15s}.post-item:hover{background:var(--hover-bg)}.post-item .date{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--fg-mute)}.post-item .body{display:flex;flex-direction:column;gap:6px}.post-item .title{font-family:var(--sans);font-size:17px;font-weight:500;letter-spacing:normal;color:var(--fg)}.post-item .title .dot{color:var(--accent)}.post-item .summary{font-family:var(--sans);font-size:14px;font-weight:500;line-height:1.55;color:var(--fg-dim);margin:0}.post-item .arrow{font-family:var(--mono);color:var(--fg-mute);transition:transform .15s,color .15s}.post-item:hover .arrow{color:var(--fg);transform:translate(3px)}.post-item .draft-badge{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:2px 6px;margin-left:8px;border-radius:2px;vertical-align:middle}.post-header{width:100%;max-width:720px}.post-header .post-title{margin:0;font-family:var(--sans);font-size:clamp(32px,5vw,56px);line-height:1.05;font-weight:500;letter-spacing:-.02em;color:var(--fg)}.post-header .post-title .dot{color:var(--accent)}.post-header .meta{margin-top:18px;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-mute)}.post-header .meta .bar{flex:0 0 32px;height:1px;background:var(--accent)}.post-header .post-description{margin-top:22px;max-width:64ch;font-family:var(--sans);font-size:17px;font-weight:500;line-height:1.6;color:var(--fg-dim)}.prose{width:100%;max-width:720px;margin-top:44px;padding-top:28px;border-top:1px solid var(--rule);font-family:var(--sans);font-size:16px;font-weight:500;line-height:1.75;color:var(--fg)}.prose>*+*{margin-top:1.1em}.prose h2,.prose h3,.prose h4{font-family:var(--sans);font-weight:500;letter-spacing:-.015em;color:var(--fg);margin-top:2em;margin-bottom:.6em;line-height:1.25}.prose h2{font-size:24px}.prose h3{font-size:20px}.prose h4{font-size:17px}.prose p{margin:0}.prose a{color:var(--fg);border-bottom:1px dashed var(--fg-mute);text-decoration:none}.prose a:hover{border-bottom-color:var(--fg)}.prose strong{color:var(--fg);font-weight:600}.prose em{font-style:italic;color:var(--fg)}.prose ul,.prose ol{margin:0;padding-left:1.4em}.prose ul li,.prose ol li{margin:.3em 0}.prose ul li::marker{color:var(--accent)}.prose ol li::marker{color:var(--fg-dim);font-family:var(--mono)}.prose blockquote{margin:0;padding:4px 0 4px 20px;border-left:2px solid var(--accent);color:var(--fg-dim);font-style:italic}.prose code{font-family:var(--mono);font-size:.9em;background:var(--bg-2);padding:2px 6px;border-radius:3px;color:var(--fg)}.prose pre{background:var(--bg-2);border:1px solid var(--rule);padding:18px;border-radius:4px;overflow-x:auto;font-size:13px;line-height:1.55}.prose pre code{background:transparent;padding:0;font-size:inherit}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.4em 0}.prose img{max-width:100%;height:auto;border-radius:4px}.back-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--fg-dim);text-decoration:none;margin-bottom:28px;transition:color .15s}.back-link:hover{color:var(--fg)}footer{position:relative;z-index:1;padding:28px 40px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--fg-mute)}footer .left,footer .right{display:flex;gap:22px;align-items:center;flex-wrap:wrap}footer a{color:var(--fg-dim);text-decoration:none}footer a:hover{color:var(--fg)}@media(max-width:900px){.sections{gap:44px 40px}}@media(max-width:720px){.topbar{padding:16px 18px;gap:12px}.topbar .brand{font-size:15px}.topbar nav{gap:16px;font-size:11px;flex-wrap:wrap;justify-content:flex-end}.topbar nav .status{gap:0}.topbar nav .status span:not(.led){display:none}main{padding:36px 20px 56px}.stage{gap:6px}.prelude{font-size:10px;letter-spacing:.24em;margin-bottom:14px;gap:10px}.prelude .bar{flex:0 0 24px}.mark{font-size:clamp(44px,13vw,72px);letter-spacing:-.04em}.tagline{font-size:clamp(11px,3vw,14px);letter-spacing:.18em;margin-top:8px}.desc{margin-top:28px;font-size:14px;line-height:1.65;padding-top:20px}.landing .desc{font-size:12.5px;line-height:1.7}.sections{grid-template-columns:1fr;gap:36px;margin-top:52px}.sec-wide{padding-top:30px}.mini-grid,.landing #examples .mini-grid{grid-template-columns:1fr}.mini{min-height:130px;padding:16px;row-gap:22px}.sec-edu{margin-top:-14px;padding-top:20px}.sec-cta{margin-top:4px;padding:22px 0 28px}.cta-link{width:100%;justify-content:space-between}.sec[id=elsewhere]>div{grid-template-columns:1fr!important;gap:0!important}.sec a.link{flex-wrap:wrap;align-items:baseline;gap:4px 8px}.sec a.link .host{margin-left:0}.sec a.link .arrow{margin-left:auto}.post-list{margin-top:32px}.post-item{grid-template-columns:1fr auto;gap:8px 12px;padding:20px 0}.post-item .date{grid-column:1 / -1}.post-item .title{font-size:15px}.post-item .summary{font-size:13.5px}.back-link{margin-bottom:22px;font-size:11px}.post-header .post-title{font-size:clamp(26px,7.5vw,40px);letter-spacing:-.03em}.post-header .meta{margin-top:14px;font-size:10px;letter-spacing:.16em;gap:10px}.post-header .meta .bar{flex:0 0 24px}.post-header .post-description{font-size:15px;margin-top:16px;line-height:1.55}.prose{margin-top:32px;padding-top:24px;font-size:15px;line-height:1.7}.prose h2{font-size:20px;margin-top:1.7em}.prose h3{font-size:17px}.prose h4{font-size:15px}.prose blockquote{padding-left:14px}.prose pre{padding:14px;font-size:12.5px}.prose ul,.prose ol{padding-left:1.2em}footer{padding:22px;font-size:10px;gap:12px;flex-direction:column;align-items:flex-start}footer .left,footer .right{gap:14px}}@media(max-width:380px){.topbar{padding:14px;gap:10px}.topbar nav{gap:12px;font-size:10.5px}main{padding:30px 16px 48px}.mark{font-size:clamp(40px,12.5vw,64px)}.post-header .post-title{font-size:clamp(24px,7.2vw,36px)}.prose{font-size:14.5px}}@media(prefers-reduced-motion:reduce){.prelude.animated,.desc.animated,.sections.animated,.mark .dot,.tagline .dot{transition:none}.mark .dot.pulse,.tagline .dot.pulse{animation:none}}
