:root{color-scheme:dark;--ink:#09090b;--raised:#131316;--raised-2:#1a1a1f;--line:#ffffff14;--line-strong:#ffffff29;--text:#f4f4f5;--muted:#a1a1aa;--faint:#71717a;--accent:#8ea2ff;--accent-2:#c4b5fd;--accent-soft:#8ea2ff1f;--display:"Geist", ui-sans-serif, system-ui, sans-serif;--body:"Geist", ui-sans-serif, system-ui, sans-serif;--code:"Geist Mono", ui-monospace, "SFMono-Regular", monospace;--measure:44rem;--wide:72rem;--radius:16px}*{box-sizing:border-box}html{background:var(--ink);-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:radial-gradient(60rem 30rem at 50% -10rem, #8ea2ff1a, transparent 70%), var(--ink);min-height:100svh;color:var(--text);font:400 1.0625rem/1.7 var(--body);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;flex-direction:column;margin:0;display:flex}main{flex:1}::selection{color:#fff;background:#8ea2ff59}h1,h2,h3{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:600;line-height:1.1}h1{font-size:clamp(2.5rem,6.5vw,4.25rem);font-weight:650}h2{letter-spacing:-.03em;font-size:clamp(1.5rem,3vw,1.9rem)}h3{letter-spacing:-.02em}p{text-wrap:pretty}a{color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{color:var(--accent-2)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}img{max-width:100%;height:auto}.wrap{width:min(100% - 2rem, var(--measure));margin-inline:auto}.wrap.wide{width:min(100% - 2rem, var(--wide))}.page{padding-block:clamp(3rem,8vw,6rem)}.eyebrow{font:500 .75rem/1 var(--code);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);align-items:center;gap:.5rem;margin:0 0 1.1rem;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:1.5rem;height:1px}.lede{color:var(--muted);max-width:36rem;margin:1rem 0 3rem;font-size:clamp(1.1rem,2vw,1.25rem);line-height:1.6}.skip{position:absolute;left:-999px}.skip:focus{z-index:50;background:var(--raised);border-radius:8px;padding:.5rem .75rem;top:1rem;left:1rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.meta{color:var(--faint);font:400 .8125rem/1.5 var(--code);letter-spacing:.01em}.tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.tag{font:500 .75rem/1 var(--code);color:var(--muted);border:1px solid var(--line);background:#ffffff05;border-radius:999px;padding:.4rem .6rem}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.card{border-radius:calc(var(--radius) + 4px);border:1px solid var(--line);background:linear-gradient(#ffffff09,#ffffff03);flex-direction:column;height:100%;padding:.6rem;transition:border-color .25s,transform .25s,background .25s,box-shadow .25s;display:flex;position:relative}.card:hover{background:linear-gradient(#8ea2ff12,#ffffff03);border-color:#8ea2ff66;transform:translateY(-4px);box-shadow:0 24px 60px -30px #8ea2ff73}.card:hover .cover img,.card:hover .cover svg{transform:scale(1.045)}@media (prefers-reduced-motion:reduce){.card,.card:hover{transition:none;transform:none}.card:hover .cover img,.card:hover .cover svg{transform:none}}.card .body{flex-direction:column;flex:1;gap:.7rem;padding:1.1rem .9rem .9rem;display:flex}.card h3{font-size:1.3rem;line-height:1.25}.card h3 a{color:var(--text);text-decoration:none}.card h3 a:after{content:"";border-radius:inherit;z-index:2;position:absolute;inset:0}.card p.desc{color:var(--muted);margin:0;font-size:.975rem;line-height:1.6}.card .meta{margin:0}.card .foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;padding-top:.4rem;display:flex}.card .arrow{font-family:var(--code);color:var(--faint);transition:color .25s,transform .25s}.card:hover .arrow{color:var(--accent);transform:translate(3px)}.card.featured{background:radial-gradient(40rem 20rem at 100% 0,#8ea2ff1f,#0000 70%),linear-gradient(#ffffff0a,#ffffff03)}.card.featured h3{letter-spacing:-.035em;font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.12}.card.featured p.desc{font-size:1.075rem}@media (width>=52rem){.card.featured{grid-template-columns:1.3fr 1fr;align-items:stretch;gap:.5rem;display:grid}.card.featured .cover{aspect-ratio:auto;height:100%;min-height:21rem}.card.featured .body{justify-content:center;padding:2rem 1.75rem}.card.featured .foot{margin-top:.75rem}}.badge{font:500 .7rem/1 var(--code);text-transform:uppercase;letter-spacing:.1em;color:var(--ink);background:var(--accent);border-radius:999px;align-self:flex-start;padding:.4rem .6rem}.rows{margin:0;padding:0;list-style:none}.rows li{border-top:1px solid var(--line)}.rows li:last-child{border-bottom:1px solid var(--line)}.rows a.title{font:500 1.25rem/1.25 var(--display);letter-spacing:-.02em;color:var(--text);justify-content:space-between;padding-block:1.25rem;text-decoration:none;display:flex}.rows a.title:after{content:"↗";font-family:var(--code);color:var(--faint)}.rows a.title:hover,.rows a.title:hover:after{color:var(--accent)}.prose{color:#d4d4d8;font-size:1.125rem;line-height:1.8}.prose>*+*{margin-top:1.25em}.prose p,.prose ul,.prose ol{margin-bottom:0}.prose h2{color:var(--text);margin-top:2.5em;font-size:1.65rem}.prose h3{color:var(--text);margin-top:2em;font-size:1.3rem}.prose h2+*,.prose h3+*{margin-top:.75em}.prose strong{color:var(--text);font-weight:600}.prose ul,.prose ol{padding-left:1.25rem}.prose li{margin-block:.4rem;padding-left:.25rem}.prose li::marker{color:var(--accent);font-family:var(--code);font-size:.9em}.prose hr{background:var(--line);border:0;height:1px;margin-block:3rem}.prose code{font:.86em var(--code);color:var(--accent-2);background:var(--accent-soft);overflow-wrap:anywhere;border-radius:6px;padding:.15em .4em}.prose pre{border:1px solid var(--line);border-radius:12px;padding:1.25rem 1.4rem;font-size:.875rem;line-height:1.65;overflow-x:auto;background:#0f0f12!important}.prose pre code{color:inherit;overflow-wrap:normal;background:0 0;padding:0}.prose blockquote{background:var(--accent-soft);color:var(--text);border:1px solid #8ea2ff40;border-radius:12px;margin-inline:0;padding:1rem 1.25rem}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose img{border:1px solid var(--line);background:var(--raised);border-radius:14px;width:100%;height:auto;display:block}.prose p:has(>img:only-child){margin-block:2.25rem}@media (width>=52rem){.prose p:has(>img:only-child){margin-inline:-3rem}}.prose p:has(>img:only-child)+p>em:only-child{text-align:center;color:var(--faint);margin-top:-1.25rem;font-size:.9rem;font-style:normal;display:block}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .75rem}@media (width<=40rem){body{font-size:1.125rem}h1{font-size:clamp(2.75rem,12vw,3.5rem)}.page{padding-block:2.5rem 4rem}.eyebrow{font-size:.85rem}.lede{font-size:1.2rem}.meta{font-size:.9rem}.tag{padding:.5rem .75rem;font-size:.85rem}.card .body{gap:.8rem;padding:1.1rem .8rem .8rem}.card h3{font-size:1.5rem}.card.featured h3{font-size:1.85rem}.card p.desc,.card.featured p.desc{font-size:1.075rem}.prose{font-size:1.1875rem;line-height:1.75}.prose h2{font-size:1.75rem}.prose h3{font-size:1.4rem}.prose pre{padding:1.1rem;font-size:.9rem}.rows a.title{font-size:1.35rem}}header[data-astro-cid-wpvy4v7s]{z-index:20;-webkit-backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid var(--line);background:#09090bb3;position:sticky;top:0}.inner[data-astro-cid-wpvy4v7s]{width:min(100% - 2rem, var(--wide));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;margin-inline:auto;padding-block:.75rem;display:flex}.brand[data-astro-cid-wpvy4v7s]{color:var(--text);align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.mark[data-astro-cid-wpvy4v7s]{width:2.25rem;height:2.25rem;font:700 .9rem/1 var(--display);letter-spacing:-.04em;color:var(--ink);background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:10px;place-items:center;transition:transform .25s,box-shadow .25s;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f,0 6px 20px -6px #8ea2ffb3}.brand[data-astro-cid-wpvy4v7s]:hover .mark[data-astro-cid-wpvy4v7s]{transform:rotate(-6deg)scale(1.05);box-shadow:inset 0 0 0 1px #fff3,0 8px 26px -6px #8ea2ffe6}.name[data-astro-cid-wpvy4v7s]{font:600 1rem var(--display);letter-spacing:-.02em}nav[data-astro-cid-wpvy4v7s]{gap:.25rem;display:flex}nav[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{color:var(--muted);border-radius:999px;padding:.4rem .8rem;font-size:.925rem;text-decoration:none;transition:color .2s,background .2s}nav[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover{color:var(--text);background:#ffffff0d}nav[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s][aria-current]{color:var(--text);background:#ffffff14}@media (prefers-reduced-motion:reduce){.mark[data-astro-cid-wpvy4v7s],.brand[data-astro-cid-wpvy4v7s]:hover .mark[data-astro-cid-wpvy4v7s]{transition:none;transform:none}}@media (width<=40rem){.inner[data-astro-cid-wpvy4v7s]{padding-block:.8rem .55rem}.mark[data-astro-cid-wpvy4v7s]{width:2.5rem;height:2.5rem;font-size:1rem}.name[data-astro-cid-wpvy4v7s]{font-size:1.15rem}nav[data-astro-cid-wpvy4v7s]{justify-content:space-between;width:calc(100% + 1.1rem);margin-inline:-.55rem}nav[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{padding:.55rem .7rem;font-size:1.05rem}}footer[data-astro-cid-hkbrpulz]{z-index:2;border-top:1px solid var(--line);background:var(--ink);color:var(--faint);font:400 .8125rem/1.5 var(--code);position:relative}.quote[data-astro-cid-hkbrpulz]{width:min(100% - 2rem, var(--wide));font:500 clamp(1.15rem, 2.4vw, 1.5rem)/1.35 var(--display);letter-spacing:-.02em;color:var(--text);opacity:.85;margin:0 auto;padding:2.5rem 0 0}.inner[data-astro-cid-hkbrpulz]{width:min(100% - 2rem, var(--wide));flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-inline:auto;padding-block:2rem;display:flex}footer[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz]{gap:1.25rem;display:flex}footer[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--muted);text-decoration:none}footer[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--text)}
