.bh[data-astro-cid-cgl6nrfz]{z-index:30;background:var(--color-canvas);border-bottom:1px solid var(--color-line);position:sticky;top:0}.bh__inner[data-astro-cid-cgl6nrfz]{align-items:center;gap:2rem;max-width:88rem;height:3.5rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem);display:flex}.bh__logo[data-astro-cid-cgl6nrfz]{align-items:center;gap:.55rem;display:inline-flex}.bh__logo[data-astro-cid-cgl6nrfz] img[data-astro-cid-cgl6nrfz]:first-child{width:1.9rem;height:1.9rem;transition:transform .4s cubic-bezier(.23,1,.32,1)}.bh__logo[data-astro-cid-cgl6nrfz]:hover img[data-astro-cid-cgl6nrfz]:first-child{transform:rotate(-8deg)scale(1.06)}.bh__word[data-astro-cid-cgl6nrfz]{width:auto;height:1.2rem}.bh__nav[data-astro-cid-cgl6nrfz]{gap:1.5rem;font-size:.92rem;display:flex}.bh__nav[data-astro-cid-cgl6nrfz] a[data-astro-cid-cgl6nrfz],.bh__link[data-astro-cid-cgl6nrfz]{color:var(--color-muted);transition:color .15s ease-out}.bh__nav[data-astro-cid-cgl6nrfz] a[data-astro-cid-cgl6nrfz]:hover,.bh__link[data-astro-cid-cgl6nrfz]:hover,.bh__nav[data-astro-cid-cgl6nrfz] a[data-astro-cid-cgl6nrfz][aria-current=page]{color:var(--color-ink)}.bh__cta[data-astro-cid-cgl6nrfz]{align-items:center;gap:1.25rem;margin-left:auto;font-size:.92rem;display:flex}.bh__btn[data-astro-cid-cgl6nrfz]{background:var(--color-ink);color:var(--color-canvas);border-radius:.6rem;padding:.5rem .95rem;font-weight:600;transition:transform .15s cubic-bezier(.23,1,.32,1),background-color .15s ease-out}.bh__btn[data-astro-cid-cgl6nrfz]:hover{background:#fff}.bh__btn[data-astro-cid-cgl6nrfz]:active{transform:scale(.97)}@media (width<=760px){.bh__inner[data-astro-cid-cgl6nrfz]{gap:1rem}.bh__nav[data-astro-cid-cgl6nrfz],.bh__link[data-astro-cid-cgl6nrfz]{display:none}.bh__word[data-astro-cid-cgl6nrfz]{height:1rem}}.blog{--gutter:clamp(1rem, 4vw, 3rem);--ease-out:cubic-bezier(.23, 1, .32, 1);--measure:42rem;min-height:100dvh}.blog a{color:inherit;text-decoration:none}.blog-wrap{max-width:76rem;padding-inline:var(--gutter);margin-inline:auto}.blog-eyebrow{font:600 .75rem/1 var(--font-sub);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.blog-hero{padding-block:clamp(3rem,8vw,6rem) clamp(2rem,4vw,3rem)}.blog-hero h1{font-family:var(--font-title);letter-spacing:-.045em;text-wrap:balance;max-width:14ch;margin-top:1rem;font-size:clamp(2.6rem,7vw,5.5rem);font-weight:800;font-stretch:92%;line-height:.95}.blog-hero p{max-width:40rem;color:var(--color-muted);text-wrap:pretty;margin-top:1.25rem;font-size:1.1rem;line-height:1.6}.blog-cats{border-block:1px solid var(--color-line);font:500 .95rem var(--font-sub);flex-wrap:wrap;gap:.25rem 1.6rem;padding-block:1.25rem;display:flex}.blog-cats a{color:var(--color-muted);border-bottom:2px solid #0000;padding-block:.3rem;transition:color .15s ease-out,border-color .15s ease-out}.blog-cats a:hover{color:var(--color-ink)}.blog-cats a[aria-current=page]{color:var(--color-ink);border-color:var(--color-accent)}.blog-featured{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2.5rem,5vw,4rem);display:grid}.blog-featured__img{aspect-ratio:16/10;background:var(--color-panel);border-radius:1.25rem;overflow:hidden}.blog-featured__img img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-out)}.blog-featured:hover .blog-featured__img img{transform:scale(1.03)}.blog-featured h2{font-family:var(--font-title);letter-spacing:-.035em;text-wrap:balance;margin-top:.9rem;font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800;font-stretch:92%;line-height:1.02}.blog-featured p{color:var(--color-muted);margin-top:1rem;line-height:1.6}.blog-meta{color:var(--color-muted);flex-wrap:wrap;gap:.35rem .9rem;font-size:.85rem;display:flex}.blog-meta .cat{color:var(--color-accent);font-family:var(--font-sub);font-weight:600}.blog-list{margin:0;padding:0;list-style:none}.blog-list li{border-bottom:1px solid var(--color-line)}.blog-row{grid-template-columns:9.5rem minmax(0,1fr) 1.5rem;align-items:baseline;gap:1.5rem;padding-block:1.6rem;display:grid}.blog-row__side{color:var(--color-muted);gap:.35rem;font-size:.82rem;display:grid}.blog-row__side .cat{font-family:var(--font-sub);color:var(--color-accent);font-weight:600}.blog-row h3{font-family:var(--font-sub);letter-spacing:-.02em;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:700;line-height:1.25;transition:color .15s ease-out}.blog-row p{color:var(--color-muted);max-width:48rem;margin-top:.45rem;line-height:1.55}.blog-row__arrow{color:var(--color-muted);transition:transform .25s var(--ease-out), color .15s ease-out}.blog-row:hover h3{color:var(--color-accent)}.blog-row:hover .blog-row__arrow{color:var(--color-ink);transform:translate(4px)}.blog-section-title{font-family:var(--font-sub);margin-top:clamp(2.5rem,5vw,3.5rem);font-size:1.15rem;font-weight:700}.post-head{border-bottom:1px solid var(--color-line);padding-block:clamp(2.5rem,7vw,5rem) clamp(2rem,4vw,3rem)}.post-crumbs{color:var(--color-muted);flex-wrap:wrap;gap:.5rem;font-size:.85rem;display:flex}.post-crumbs a:hover{color:var(--color-ink)}.post-langs{flex-wrap:wrap;gap:.35rem 1.1rem;margin-top:1rem;font-size:.85rem;display:flex}.post-langs a{color:var(--color-muted);text-underline-offset:.2em;text-decoration:underline;text-decoration-color:var(--color-line);transition:color .15s ease-out}.post-langs a:hover{color:var(--color-ink)}.post-head h1{font-family:var(--font-title);letter-spacing:-.04em;text-wrap:balance;max-width:20ch;margin-top:1.4rem;font-size:clamp(2.3rem,5.6vw,4.4rem);font-weight:800;font-stretch:92%;line-height:.98}.post-head .lead{max-width:44rem;color:var(--color-muted);text-wrap:pretty;margin-top:1.25rem;font-size:1.15rem;line-height:1.6}.post-head .blog-meta{margin-top:1.5rem}.post-layout{grid-template-columns:minmax(0, var(--measure)) minmax(0, 16rem);justify-content:space-between;gap:3rem;padding-block:clamp(2rem,5vw,3.5rem);display:grid}.post-aside{align-self:start;gap:2rem;display:grid;position:sticky;top:5rem}.post-toc h2{font:600 .75rem/1 var(--font-sub);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.9rem}.post-toc ol{border-left:1px solid var(--color-line);gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.post-toc a{color:var(--color-muted);border-left:1px solid #0000;margin-left:-1px;padding-left:.9rem;font-size:.88rem;line-height:1.4;transition:color .15s ease-out,border-color .15s ease-out;display:block}.post-toc a:hover,.post-toc a.is-active{color:var(--color-ink);border-color:var(--color-accent)}.post-share{gap:.6rem;font-size:.88rem;display:grid}.post-share button,.post-share a{color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;transition:color .15s ease-out}.post-share button:hover,.post-share a:hover{color:var(--color-ink)}.prose{color:#dcd8ec;font-size:1.075rem;line-height:1.75}.prose>*+*{margin-top:1.15em}.prose h2{font-family:var(--font-sub);letter-spacing:-.02em;color:var(--color-ink);margin-top:2.4em;scroll-margin-top:5rem;font-size:clamp(1.45rem,2.4vw,1.8rem);font-weight:700;line-height:1.2}.prose h3{font-family:var(--font-sub);color:var(--color-ink);margin-top:1.8em;scroll-margin-top:5rem;font-size:1.2rem;font-weight:700;line-height:1.3}.prose h2+*,.prose h3+*{margin-top:.6em}.prose a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline 1px;transition:color .15s ease-out}.prose a:hover{color:var(--color-ink)}.prose strong{color:var(--color-ink);font-weight:600}.prose ul,.prose ol{padding-left:1.3em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose ul:has(input[type=checkbox]){padding-left:.2em;list-style:none}.prose input[type=checkbox]{accent-color:var(--color-accent);margin-right:.5em}.prose li+li{margin-top:.45em}.prose li::marker{color:var(--color-accent)}.prose blockquote{border-left:2px solid var(--color-accent);color:var(--color-ink);margin-inline:0;padding-left:1.2rem;font-size:1.15rem}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--color-line);vertical-align:top;padding:.6rem .8rem}.prose th{font-family:var(--font-sub);color:var(--color-ink)}.prose code{background:var(--color-well);border-radius:.3em;padding:.1em .35em;font-size:.9em}.prose hr{border:0;border-top:1px solid var(--color-line);margin-block:2.5em}.post-cta{background:radial-gradient(28rem 16rem at 100% 0%, #ff6f6129, transparent 70%), radial-gradient(30rem 18rem at 0% 100%, #b9a5ff33, transparent 70%), var(--color-panel);box-shadow:inset 0 0 0 1px var(--color-line);border-radius:1.25rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.5rem;margin-top:3.5rem;padding:clamp(1.75rem,4vw,2.5rem);display:grid}.post-cta img{width:4.5rem;height:4.5rem}.post-cta h2{font-family:var(--font-title);letter-spacing:-.03em;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;font-stretch:92%;line-height:1.05}.post-cta p{color:var(--color-muted);margin-top:.5rem}.post-cta .btn{background:var(--color-accent);color:var(--color-canvas);transition:filter .15s ease-out, transform .15s var(--ease-out);border-radius:.7rem;margin-top:1rem;padding:.7rem 1.15rem;font-weight:600;display:inline-block}.post-cta .btn:hover{filter:brightness(1.08)}.post-cta .btn:active{transform:scale(.97)}.post-related{border-top:1px solid var(--color-line);padding-block:clamp(2.5rem,5vw,4rem)}@media (width<=960px){.post-layout{grid-template-columns:minmax(0,1fr)}.post-aside{order:-1;position:static}.post-toc{display:none}}@media (width<=760px){.blog-featured{grid-template-columns:minmax(0,1fr)}.blog-row{grid-template-columns:minmax(0,1fr);gap:.5rem}.blog-row__side{gap:.8rem;display:flex}.blog-row__arrow{display:none}.post-cta{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.blog-featured__img img,.blog-row__arrow{transition:none}}
