:root{color-scheme:dark;--bg: #0e0e0e;--surface: #151515;--surface-2: #1b1b1b;--border: #242424;--border-strong: #333333;--text-strong: #ededed;--text: #c9c9c9;--text-2: #8a8a8a;--text-3: #5f5f5f;--green: #3dd68c;--green-soft: rgba(61, 214, 140, .12);--blue: #5b8def;--blue-soft: rgba(91, 141, 239, .14);--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--gutter: clamp(16px, 5vw, 48px);--max: 1120px;--radius: 10px;--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html:focus-within{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background:var(--green);color:var(--bg)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3{color:var(--text-strong);font-weight:400;letter-spacing:-.02em;line-height:1.15;margin:0}:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.label{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.muted{color:var(--text-3)}.tag-ai{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--blue);background:var(--blue-soft);padding:2px 7px;border-radius:999px}@media(prefers-reduced-motion:no-preference){.rise{animation:rise .8s var(--ease) both}.rise-2{animation-delay:.08s}.rise-3{animation-delay:.16s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}.prose{max-width:680px}.prose h2{font-size:clamp(1.5rem,3vw,2rem);margin:4rem 0 1rem;scroll-margin-top:96px}.prose h3{font-size:1.2rem;margin:2.5rem 0 .75rem}.prose #key-decisions~h3:not(#key-decisions~h2~h3){display:flex;align-items:center;gap:12px}.prose #key-decisions~h3:not(#key-decisions~h2~h3):before{content:"";flex:none;width:30px;height:30px;border-radius:8px;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233dd68c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3h5v5'/%3E%3Cpath d='M8 3H3v5'/%3E%3Cpath d='M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3'/%3E%3Cpath d='m15 9 6-6'/%3E%3C/svg%3E") center / 16px no-repeat}.prose p,.prose ul,.prose ol{margin:0 0 1.25rem}.prose ul,.prose ol{padding-left:1.2rem}.prose li{margin-bottom:.5rem}.prose li::marker{color:var(--text-3)}.prose strong{color:var(--text-strong);font-weight:500}.prose a{color:var(--text-strong);text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px}.prose blockquote{margin:2rem 0;padding:0 0 0 1.25rem;border-left:2px solid var(--green);color:var(--text-strong);font-size:1.2rem;line-height:1.5}.prose hr{border:0;border-top:1px solid var(--border);margin:3rem 0}.prose img,.prose .figure{margin:2.5rem 0 .75rem;border-radius:var(--radius);border:1px solid var(--border)}.prose .pair{display:flex;gap:12px;align-items:flex-start;margin:2.5rem 0 .75rem}.prose .pair img{flex:var(--ar, 1) 1 0;min-width:0;margin:0}@media(max-width:640px){.prose .pair{flex-direction:column}.prose .pair img{flex:none;width:100%}}.prose .figure{aspect-ratio:16 / 10;display:grid;place-items:center;padding:1.5rem;text-align:center;background:var(--surface);color:var(--text-3);font-family:var(--font-mono);font-size:12px}.prose .caption{font-size:14px;color:var(--text-2);margin-bottom:2.5rem}.prose .todo{border:1px dashed #e0b341;background:#e0b34114;color:#e0b341;padding:.75rem 1rem;border-radius:8px;font-size:14px}.prose .flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:2.5rem 0 .75rem;padding:0;list-style:none}.prose .flow>li{position:relative;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}.prose .flow>li+li:before{content:"→";position:absolute;top:50%;left:-22px;transform:translateY(-50%);color:var(--text-3);font-size:16px}.prose .flow .node{flex:1;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font-size:14px;line-height:1.4}.prose .flow .node b{display:block;color:var(--text-strong);font-weight:500}.prose .flow .node span{display:block;margin-top:4px;color:var(--text-2);font-size:13px}.prose .flow .kicker{display:block;margin-bottom:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.prose .flow .ai{border-color:#5b8def66;background:var(--blue-soft)}.prose .flow .end{border-color:#3dd68c66;background:var(--green-soft)}@media(max-width:640px){.prose .flow{grid-template-columns:minmax(0,1fr)}.prose .flow>li+li:before{content:"↓";top:-24px;left:16px;transform:none}}.header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:10;background:#0e0e0ecc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent}.inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:64px;font-size:14px}.name[data-astro-cid-3ef6ksr2]{color:var(--text-strong);font-weight:500}nav[data-astro-cid-3ef6ksr2]{display:flex;gap:clamp(16px,3vw,28px)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--text-2);transition:color .2s}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--text-strong)}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border);margin-top:6rem}.inner[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding-top:28px;padding-bottom:28px;font-size:14px;color:var(--text-3)}.links[data-astro-cid-sz7xmlte]{display:flex;gap:20px}.links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--text-2);transition:color .2s}.links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--green)}
