:root{--bg:#0a0b0c;--panel:#111417;--panel-2:#0e1113;--line:#ffffff17;--line-2:#ffffff24;--text:#f4f5f2;--muted:#8b928c;--accent:#9a4dd6;--accent-rgb:154, 77, 214;--accent-ink:#fff;--cyan:#55e6f0;--font-d:"Bricolage Grotesque", Georgia, serif;--font-b:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-m:"IBM Plex Mono", ui-monospace, "SF Mono", monospace;--font-s:"Fraunces", Georgia, serif;--step-hero:clamp(2.4rem, 5.2vw, 4.6rem);--step-h2:clamp(1.9rem, 3.6vw, 3rem);--step-h3:clamp(1.25rem, 2vw, 1.6rem);--step-body:clamp(1rem, .4vw + .9rem, 1.15rem);--step-mono:.78rem;--maxw:1320px;--gutter:clamp(1.25rem, 4vw, 3rem);--radius:16px;--dur:.6s;--ease:cubic-bezier(.22, .61, .36, 1)}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}img,svg,canvas,picture{max-inline-size:100%;display:block}body{background:var(--bg);color:var(--text);font-family:var(--font-b);font-size:var(--step-body);line-height:1.55;overflow-x:clip}::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[data-reveal]{transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease)}html.js [data-reveal]:not(.is-revealed){opacity:0;transform:translateY(14px)}html.reveal-fallback [data-reveal]{opacity:1!important;transform:none!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transition:none!important;transform:none!important}}:root{color-scheme:light;--bg:#fff!important;--text:#0b0b0c!important}.w{--paper:#fff;--panel:#f6f6f3;--panel-2:#faf9f7;--ink:#0b0b0c;--ink-soft:#33323a;--muted:#6b6c70;--faint:#9c9ca2;--line:#e7e7e2;--line-2:#dbdbd4;--accent:#9a4dd6;--accent-rgb:154, 77, 214;--accent-soft:#ead4f6;--accent-ink:#fff;--font-d:"Bricolage Grotesque", Georgia, serif;--font-b:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-m:"IBM Plex Mono", ui-monospace, "SF Mono", monospace;--maxw:1180px;--measure:60ch;--gutter:clamp(1.25rem, 4vw, 3rem);--step-hero:clamp(2.6rem, 6.4vw, 5rem);--step-h2:clamp(1.9rem, 3.8vw, 3rem);--step-h3:clamp(1.25rem, 1.7vw, 1.55rem);--step-lede:clamp(1.18rem, 1.6vw, 1.5rem);--step-body:clamp(1.02rem, .4vw + .95rem, 1.18rem);--step-mono:.72rem;--sec-space:clamp(3.75rem, 8vw, 6.5rem);background:var(--paper);color:var(--ink);font-family:var(--font-b);font-size:var(--step-body);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;font-weight:400;line-height:1.62}.w a{color:inherit;text-decoration:none}.w p{margin:0}.w h1,.w h2,.w h3{font-family:var(--font-d);letter-spacing:-.028em;text-wrap:balance;margin:0;font-weight:600}.w ::selection{background:var(--accent);color:var(--accent-ink)}.w a:focus-visible,.w button:focus-visible,.w .btn:focus-visible,.w .link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{z-index:100;background:var(--ink);color:#fff;font-family:var(--font-m);border-radius:0 0 8px;padding:.6rem 1rem;font-size:.85rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.w .sec{max-width:var(--maxw);padding-inline:var(--gutter);padding-block:var(--sec-space);margin-inline:auto;scroll-margin-top:4.5rem}.w .sec--hairline{border-top:1px solid var(--line)}.w .sec-head{max-width:var(--measure)}.w .kicker{font-family:var(--font-m);font-size:var(--step-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);align-items:center;gap:.6rem;font-weight:500;display:inline-flex}.w .kicker:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.w .sec-title{font-family:var(--font-d);font-weight:600;font-size:var(--step-h2);letter-spacing:-.028em;text-wrap:balance;max-width:22ch;margin:1.2rem 0 0;line-height:1.04}.w .lede{font-size:var(--step-lede);letter-spacing:-.012em;color:var(--ink-soft);max-width:var(--measure);margin-top:1.3rem;line-height:1.4}.w .prose{color:var(--muted);max-width:var(--measure)}.w .ink{color:var(--ink)}.w mark,.w .mark{background:linear-gradient(180deg, transparent 56%, var(--accent-soft) 56%);color:inherit;padding:0 .04em}.w .lines{font-family:var(--font-d);letter-spacing:-.025em;max-width:26ch;font-size:clamp(1.55rem,3.2vw,2.5rem);font-weight:600;line-height:1.14}.w .lines .down{color:var(--faint)}.w .lines .up{color:var(--ink)}.w .lines span{display:block}.w .rows{counter-reset:r;max-width:66ch;margin:2.2rem 0 0;padding:0;list-style:none}.w .rows li{border-top:1px solid var(--line);color:var(--ink-soft);grid-template-columns:1.9rem 1fr;align-items:baseline;gap:0 .7rem;padding:1.05rem 0;font-size:clamp(1.05rem,1.4vw,1.24rem);line-height:1.4;display:grid}.w .rows li:before{content:counter(r, decimal-leading-zero);counter-increment:r;font-family:var(--font-m);color:var(--accent);letter-spacing:.02em;font-size:.72rem}.w .rows--plain li{grid-template-columns:1fr}.w .rows--plain li:before{content:none}.w .btn{border:1px solid #0000;border-radius:999px;align-items:center;gap:.55rem;padding:.82rem 1.5rem;font-size:.98rem;font-weight:600;transition:transform .15s,background .2s,border-color .2s,color .2s;display:inline-flex}.w .btn .arw{font-size:.9em}.w a.btn-ink,.w .btn-ink{background:var(--ink);color:#fff}.w .btn-ink:hover{background:#000;transform:translateY(-1px)}.w a.btn-ghost,.w .btn-ghost{border-color:var(--line-2);color:var(--ink);background:#fff}.w .btn-ghost:hover{border-color:var(--ink)}.w .card{border:1px solid var(--line);background:#fff;border-radius:16px;transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s;box-shadow:0 1px 2px #0b0b0c0a,0 14px 30px -20px #0b0b0c24}.w .card:hover{transform:translateY(-4px);box-shadow:0 2px 6px #0b0b0c0d,0 24px 48px -22px #9a4dd64d}@media (prefers-reduced-motion:reduce){.w .card,.w .btn{transition:none}.w .card:hover{transform:none}}.w .tag{font-family:var(--font-m);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent-soft);background:rgba(var(--accent-rgb), .06);border-radius:999px;padding:.28rem .7rem;font-size:.66rem;display:inline-block}.w .tag--muted{color:var(--muted);border-color:var(--line-2);background:var(--panel)}.w .link{font-family:var(--font-m);font-size:var(--step-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border-bottom:1px solid var(--accent-soft);padding-bottom:2px;transition:border-color .25s}.w .link:hover{border-color:var(--accent)}@media (width<=640px){.w .sec-title,.w .lines{max-width:none}}.nav[data-astro-cid-wpvy4v7s]{z-index:40;padding:.85rem var(--gutter);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffd1;justify-content:space-between;align-items:center;gap:1.5rem;display:flex;position:sticky;top:0}.brand[data-astro-cid-wpvy4v7s]{align-items:center;display:inline-flex}.brand[data-astro-cid-wpvy4v7s] img[data-astro-cid-wpvy4v7s]{width:auto;height:30px;display:block}.nav-links[data-astro-cid-wpvy4v7s]{font-family:var(--font-m);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);gap:1.6rem;font-size:.72rem;display:flex}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{color:var(--muted);transition:color .2s}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover{color:var(--ink)}@media (width<=720px){.nav-desktop[data-astro-cid-wpvy4v7s]{display:none}}@media (width<=560px){.nav-links[data-astro-cid-wpvy4v7s]{gap:1.1rem;font-size:.66rem}.brand[data-astro-cid-wpvy4v7s] img[data-astro-cid-wpvy4v7s]{height:26px}}.foot[data-astro-cid-nns7i3if]{max-width:var(--maxw);padding:2.4rem var(--gutter) 3rem;border-top:1px solid var(--line);font-family:var(--font-m);color:var(--muted);flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin:0 auto;font-size:.74rem;display:flex}.f-logo[data-astro-cid-nns7i3if]{width:auto;height:26px;display:block}.f-links[data-astro-cid-nns7i3if]{text-transform:uppercase;letter-spacing:.1em;gap:1.4rem;margin-left:auto;display:flex}.f-links[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{transition:color .2s}.f-links[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{color:var(--ink)}@media (width<=560px){.foot[data-astro-cid-nns7i3if]{align-items:flex-start}.f-links[data-astro-cid-nns7i3if]{margin-left:0}}
