@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--canvas:#05080f;--panel:#0b111e;--panel-2:#111a2b;--ink:#f2f5f9;--muted:#8a94a6;--dim:#5c6678;--accent:#2e7be8;--accent-bright:#63a4f4;--accent-deep:#1d4ed8;--line:#94a3b824;--line-strong:#94a3b852;--font-display:"Space Grotesk Variable", "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--gutter:16px;--wrap:74rem;--measure:68ch;--radius:2px;--header-h:4.25rem;color-scheme:dark}@media (width>=48rem){:root{--gutter:32px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--canvas);scroll-padding-top:1.5rem}body{background:var(--canvas);min-height:100dvh;color:var(--ink);font-family:var(--font-body);font-feature-settings:"cv11", "ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-wrap:break-word;flex-direction:column;margin:0;font-size:1rem;line-height:1.6;display:flex}main{flex:1 0 auto}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{color:var(--ink);background:#63a4f44d}:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px;border-radius:var(--radius)}button,input{font:inherit;color:inherit}.wrap{width:100%;max-width:calc(var(--wrap) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{left:var(--gutter);z-index:100;background:var(--accent-deep);color:var(--ink);font:500 .75rem/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;padding:.6rem .9rem;position:absolute;top:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:500;line-height:1.3}.label--accent{color:var(--accent-bright)}.display{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;font-weight:600;line-height:1.08}.section-label{align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}.section-label:after{content:"";background:var(--line);flex:auto;order:1;height:1px}.section-label>a{color:var(--muted);order:2;align-items:center;gap:.5rem;transition:color .15s;display:inline-flex}.section-label>a:hover{color:var(--accent-bright)}.arrow{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:square;flex:none;width:1em;height:1em}.site-header{border-bottom:1px solid var(--line)}.site-header__bar{min-height:var(--header-h);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.5rem;padding-block:.9rem;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.25rem;font-weight:600;line-height:1}.wordmark span{color:var(--accent-bright)}.nav{flex-wrap:wrap;gap:.25rem 1.75rem;display:flex}.nav a{color:var(--muted);border-bottom:1px solid #0000;padding-block:.5rem;transition:color .15s,border-color .15s}.nav a:hover{color:var(--ink)}.nav a[aria-current]{color:var(--ink);border-bottom-color:var(--accent)}@media (width<=36rem){.nav{border-top:1px solid var(--line);justify-content:space-between;gap:.5rem;width:100%;margin-top:.25rem;padding-top:.15rem}.nav a{letter-spacing:.14em}}.site-footer{border-top:1px solid var(--line);margin-top:clamp(4rem,9vw,8rem)}.site-footer__inner{gap:1.5rem;padding-block:2.25rem 3rem;display:grid}.site-footer__note{max-width:44ch;color:var(--muted);font-size:.9375rem}.site-footer__links{flex-wrap:wrap;gap:.5rem 1.75rem;display:flex}.site-footer__links a{color:var(--muted);padding-block:.4rem;transition:color .15s}.site-footer__links a:hover{color:var(--accent-bright)}@media (width>=48rem){.site-footer__inner{grid-template-columns:1fr auto;align-items:end}}@media (width>=90rem){.page-frame{position:relative}.page-frame:before{content:"";inset-block:0;width:calc(var(--wrap) + 2 * var(--gutter));border-inline:1px solid var(--line);pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}}.draft-banner{background:var(--accent-deep);color:var(--ink)}.draft-banner__inner{flex-wrap:wrap;align-items:center;gap:.35rem 1.25rem;padding-block:.8rem;display:flex}.draft-banner .label{color:var(--ink);letter-spacing:.22em;font-weight:700}.draft-banner p{color:#f2f5f9db;font-size:.9375rem}.chip{border:1px solid var(--accent);border-radius:var(--radius);font:500 .6875rem/1.2 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-bright);white-space:nowrap;padding:.2rem .45rem .18rem;display:inline-block}.hero{padding-top:clamp(3.5rem,9vw,8rem);padding-bottom:clamp(2rem,4vw,3.5rem)}.hero h1{letter-spacing:-.04em;max-width:17ch;font-size:clamp(2.375rem,.9rem + 6.2vw,5.75rem);line-height:1.02}.hero__lead{color:var(--muted)}.hero__core{color:var(--ink)}.meta-strip{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.5rem 2rem;margin-top:clamp(2rem,4vw,3.25rem);padding-top:1.25rem;display:flex}.meta-strip span b{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-right:.6em;font-size:1rem;font-weight:600}.meta-strip a{padding-block:.4rem;transition:color .15s}.meta-strip a:hover{color:var(--accent-bright)}.meta-strip__feeds{gap:1.5rem;margin-left:auto;display:flex}.home-section{margin-top:clamp(3.5rem,7vw,6rem)}.anatomy{border-top:1px solid var(--line);gap:0;margin-top:1.5rem;display:grid}.anatomy__part{border-bottom:1px solid var(--line);padding-block:1.5rem}.anatomy__part h3{margin-bottom:.6rem}.anatomy__part p{max-width:34ch;color:var(--muted)}.anatomy__part--tell{position:relative}.anatomy__part--tell:before{content:"";background:var(--accent);width:3.5rem;height:2px;position:absolute;top:-1px;left:0}.anatomy__part--tell h3{color:var(--accent-bright)}.anatomy__part--tell p{color:var(--ink)}@media (width>=48rem){.anatomy{grid-template-columns:repeat(3,1fr)}.anatomy__part{border-bottom:0;padding:1.75rem 2rem 2rem 0}.anatomy__part+.anatomy__part{border-left:1px solid var(--line);padding-left:2rem}}.post-list{margin-top:.75rem}.post-row{border-top:1px solid var(--line);gap:.6rem 2rem;padding-block:1.6rem;transition:border-color .15s;display:grid}.post-list li:last-child .post-row{border-bottom:1px solid var(--line)}.post-row__meta{flex-wrap:wrap;align-items:center;gap:.4rem .9rem;display:flex}.post-row__title{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.3125rem,1.1rem + .9vw,1.75rem);font-weight:600;line-height:1.18;transition:color .15s}.post-row__summary{max-width:62ch;color:var(--muted);margin-top:.5rem}.post-row__go{color:var(--dim);font-size:1.25rem;transition:color .15s,transform .2s;display:none}.post-row:hover .post-row__title,.post-row:focus-visible .post-row__title{color:var(--accent-bright)}.post-row:hover .post-row__go{color:var(--accent-bright);transform:translate(4px)}.post-row:hover{border-top-color:var(--line-strong)}@media (width>=56rem){.post-row{grid-template-columns:13rem minmax(0,1fr) 2rem;align-items:baseline;gap:2rem;padding-block:2rem}.post-row__meta{flex-direction:column;align-items:flex-start;gap:.55rem}.post-row__go{place-self:center end;display:block}}.family-links{flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;display:flex}.pill{border:1px solid var(--line);border-radius:var(--radius);min-height:2.5rem;color:var(--muted);align-items:center;gap:.7rem;padding:.4rem .8rem;transition:color .15s,border-color .15s;display:inline-flex}.pill:hover{color:var(--ink);border-color:var(--accent)}.pill i{color:var(--accent-bright);font-style:normal}.page-head{padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(1.5rem,3vw,2.5rem)}.page-head h1{letter-spacing:-.035em;max-width:22ch;margin-top:1rem;font-size:clamp(2.125rem,1.2rem + 3.6vw,4rem)}.page-head__dek{max-width:56ch;color:var(--muted);margin-top:1.25rem;font-size:1.125rem;line-height:1.6}.page-head__actions{flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.5rem;display:flex}.page-head__actions a{color:var(--muted);align-items:center;gap:.6rem;padding-block:.4rem;transition:color .15s;display:inline-flex}.page-head__actions a:hover{color:var(--accent-bright)}.group-grid{border-top:1px solid var(--line)}.group-row{border-bottom:1px solid var(--line);gap:.35rem 2rem;padding-block:1.6rem;transition:border-color .15s;display:grid}.group-row__name{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(1.3125rem,1.1rem + .9vw,1.75rem);font-weight:600;line-height:1.18;transition:color .15s;display:block}.group-row__latest{color:var(--muted);max-width:62ch;margin-top:.4rem;display:block}.group-row__name+.group-row__latest{margin-top:.75rem}.group-row:hover .group-row__name{color:var(--accent-bright)}.group-row:hover{border-bottom-color:var(--line-strong)}@media (width>=56rem){.group-row{grid-template-columns:8rem minmax(0,1fr);align-items:baseline;padding-block:2rem}}.tag-cloud{border-top:1px solid var(--line);flex-wrap:wrap;gap:.6rem;padding-top:1.5rem;display:flex}.tag-cloud .pill{font:500 .75rem/1.2 var(--font-mono);letter-spacing:.18em;text-transform:uppercase}.tag-cloud .pill i{color:var(--muted)}.post-head{padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:clamp(1.75rem,3vw,3rem)}.post-head h1{letter-spacing:-.035em;max-width:24ch;margin-top:1.1rem;font-size:clamp(2rem,1.1rem + 3.7vw,3.75rem);line-height:1.06}.post-head__dek{max-width:54ch;color:var(--muted);margin-top:1.5rem;font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);line-height:1.55}.post-grid{border-top:1px solid var(--line);gap:2rem;padding-top:2rem;display:grid}@media (width>=64rem){.post-grid{grid-template-columns:13.5rem minmax(0, var(--measure));column-gap:clamp(3rem,5vw,5rem);padding-top:3rem}}.rail{border-bottom:1px solid var(--line);flex-wrap:wrap;align-self:start;gap:1rem 2.25rem;padding-bottom:1.5rem;display:flex}.rail__item dt{margin-bottom:.35rem}.rail__item dd{font-size:.9375rem;line-height:1.5}.rail a:not(.pill){transition:color .15s}.rail a:not(.pill):hover{color:var(--accent-bright)}.rail__tags{flex-wrap:wrap;gap:.35rem .9rem;display:flex}@media (width>=64rem){.rail{border-bottom:0;flex-flow:column;gap:1.5rem;padding-bottom:0;position:sticky;top:2rem}}.prose{color:#d3dae5;min-width:0;font-size:1.0625rem;line-height:1.7}.prose>*+*{margin-top:1.3em}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--accent-bright);text-underline-offset:.2em;text-decoration:underline 1px #63a4f473;transition:text-decoration-color .15s}.prose a:hover{text-decoration-color:var(--accent-bright)}.prose ul,.prose ol{padding-left:1.4em}.prose ul{list-style:none}.prose ul>li{position:relative}.prose ul>li:before{content:"";background:var(--accent-bright);width:.45em;height:1px;position:absolute;top:.78em;left:-1.1em}.prose ol{list-style:decimal}.prose ol>li::marker{font-family:var(--font-mono);color:var(--muted);font-size:.85em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.55em}.prose blockquote{border-left:1px solid var(--line-strong);color:var(--muted);padding-left:1.25rem}.prose hr{background:var(--line);border:0;height:1px;margin-block:2.5em}.prose :not(pre)>code{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);font-family:var(--font-mono);color:var(--ink);overflow-wrap:anywhere;padding:.12em .38em;font-size:.86em}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.6rem .8rem}.prose th{font:500 .75rem/1.3 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.prose>h2{font:500 .75rem/1.3 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-items:center;gap:1rem;margin-top:3.5rem;margin-bottom:1.5rem;display:flex}.prose>h2:after{content:"";background:var(--line);flex:auto;height:1px}.prose>h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-top:2.25rem;font-size:1.375rem;font-weight:600;line-height:1.25}.lesson{margin-top:clamp(2.75rem,5vw,3.75rem)}.lesson>*+*{margin-top:1.3em}.lesson__label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-items:center;gap:1rem;margin:0 0 1.4rem;font-size:.75rem;font-weight:500;line-height:1.3;display:flex}.lesson__label:after{content:"";background:var(--line);flex:auto;height:1px}.lesson>.lesson__label+*{margin-top:0}.lesson--tell{border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--panel-2);padding:1.5rem 1.25rem 1.6rem;position:relative}.lesson--tell .lesson__label{color:var(--accent-bright)}.lesson--tell .lesson__label:before{content:"";background:var(--accent-bright);flex:none;width:.5rem;height:.5rem;margin-right:-.25rem}.lesson--tell .lesson__label:after{background:#63a4f452}.lesson--tell>:not(.lesson__label){color:var(--ink);font-size:1.1875rem;line-height:1.62}.lesson--tell>p:first-of-type{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.3125rem,1.15rem + .6vw,1.5rem);font-weight:500;line-height:1.38}@media (width>=48rem){.lesson--tell{padding:2rem 2.25rem 2.1rem}}@media (width>=72rem){.lesson--tell{margin-inline:-2rem;padding-inline:2rem}}.prose .expressive-code{margin-top:1.6em}@media (width>=72rem){.prose .expressive-code{width:calc(100% + 9rem);max-width:calc(100vw - 2 * var(--gutter))}}.related{margin-top:clamp(4rem,8vw,7rem)}.card-grid{border-top:1px solid var(--line);margin-top:1.5rem;display:grid}.post-card{border-bottom:1px solid var(--line);align-content:start;gap:.75rem;padding:1.5rem 0 1.75rem;display:grid}.post-card__title{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;font-size:1.3125rem;font-weight:600;line-height:1.2;transition:color .15s}.post-card__summary{color:var(--muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.9375rem;line-height:1.55;display:-webkit-box;overflow:hidden}.post-card:hover .post-card__title{color:var(--accent-bright)}@media (width>=56rem){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.post-card{border-bottom:0;padding:1.75rem 2rem 2rem 0}.post-card+.post-card{border-left:1px solid var(--line);padding-left:2rem}}.search-page{padding-bottom:2rem}.search-page .pagefind-ui{--pagefind-ui-scale:1;--pagefind-ui-primary:var(--accent-bright);--pagefind-ui-text:var(--ink);--pagefind-ui-background:var(--canvas);--pagefind-ui-border:var(--line);--pagefind-ui-tag:var(--panel-2);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:2px;--pagefind-ui-image-border-radius:2px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:var(--font-body);max-width:48rem}.search-page .pagefind-ui__form{position:relative}.search-page .pagefind-ui__search-input{border:1px solid var(--line-strong)!important;border-radius:var(--radius)!important;background:var(--panel)!important;height:3.5rem!important;color:var(--ink)!important;font-family:var(--font-body)!important;padding-left:3.25rem!important;font-size:1.125rem!important;font-weight:400!important}.search-page .pagefind-ui__search-input::placeholder{color:var(--muted)!important;opacity:1!important}.search-page .pagefind-ui__search-input:focus{outline:2px solid var(--accent-bright);outline-offset:2px;border-color:var(--accent)!important}.search-page .pagefind-ui__search-clear{letter-spacing:.18em;text-transform:uppercase;color:var(--muted)!important;font-family:var(--font-mono)!important;background:0 0!important;font-size:.75rem!important}.search-page .pagefind-ui__search-clear:hover{color:var(--accent-bright)!important}.search-page .pagefind-ui__form:before{background-color:var(--muted)!important;opacity:1!important}.search-page .pagefind-ui__message{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono)!important;height:auto!important;padding-block:1.25rem .5rem!important;font-size:.75rem!important;font-weight:500!important}.search-page .pagefind-ui__result{border-top:1px solid var(--line)!important;padding-block:1.75rem!important}.search-page .pagefind-ui__result:last-of-type{border-bottom:1px solid var(--line)!important}.search-page .pagefind-ui__result-title{letter-spacing:-.025em;font-family:var(--font-display)!important;font-size:1.5rem!important;font-weight:600!important;line-height:1.2!important}.search-page .pagefind-ui__result-link{color:var(--ink)!important}.search-page .pagefind-ui__result-link:hover{color:var(--accent-bright)!important;text-decoration:none!important}.search-page .pagefind-ui__result-excerpt{color:var(--muted);margin-top:.6rem;line-height:1.6;font-size:1rem!important}.search-page .pagefind-ui__result-excerpt mark,.search-page .pagefind-ui__result-title mark{text-underline-offset:.2em;text-decoration:underline 1px;color:var(--accent-bright)!important;background:0 0!important}.search-page .pagefind-ui__result-tags{gap:.5rem;margin-top:.75rem!important}.search-page .pagefind-ui__result-tag{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;border-radius:var(--radius)!important;color:var(--muted)!important;background:0 0!important;padding:.25rem .55rem!important;font-size:.6875rem!important}.search-page .pagefind-ui__result-nested{border-left:1px solid var(--line);margin-top:.6rem;padding-left:1rem!important}.search-page .pagefind-ui__result-nested .pagefind-ui__result-link{font-size:.9375rem;font-weight:500}.search-page .pagefind-ui__button{letter-spacing:.18em;text-transform:uppercase;min-height:2.75rem;border:1px solid var(--line-strong)!important;border-radius:var(--radius)!important;color:var(--ink)!important;font-family:var(--font-mono)!important;background:0 0!important;font-size:.75rem!important;font-weight:500!important}.search-page .pagefind-ui__button:hover{border-color:var(--accent)!important;color:var(--accent-bright)!important}.search-fallback{max-width:48ch;color:var(--muted)}.notfound{padding-top:clamp(3.5rem,9vw,8rem)}.notfound__code{font-family:var(--font-display);letter-spacing:-.06em;color:var(--panel-2);-webkit-text-stroke:1px var(--line-strong);user-select:none;font-size:clamp(5rem,3rem + 14vw,14rem);font-weight:600;line-height:.9}.notfound h1{letter-spacing:-.035em;max-width:18ch;margin-top:1.5rem;font-size:clamp(2rem,1.2rem + 3vw,3.25rem)}.notfound p:not(.notfound__code):not(.label){max-width:48ch;color:var(--muted);margin-top:1.1rem;font-size:1.125rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}.post-row:hover .post-row__go{transform:none}}
