:root{--green:#3fbf86;--page:#f6f3ec;--ink:#1c1a17;--ink-2:#5a5047;--forest:#1f5d45;--card:#fff;--panel:#fbf9f4;--sage:#dce6dd;--rule:#e3dacb;--rule-strong:#d6cab4;--rule-dash:#c8bba3;--grid-minor:#5a64540a;--grid-major:#5a645412;--grid-minor-step:24px;--grid-major-step:120px;--on-dark:#fff;--on-dark-2:#ffffffbd;--on-dark-rule:#ffffff2e;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Newsreader", ui-serif, Georgia, "Times New Roman", serif;--hand:"Caveat", "Segoe Script", cursive;--r:24px;--r-sm:14px;--r-pill:999px;--wrap:1120px;--measure:66ch;--pad:20px;--gutter:clamp(10px, 2.2vw, 26px);--bento-pad:clamp(28px, 3.4vw, 36px);--step-label:.6875rem;--step--1:.8125rem;--step-0:1.0625rem;--step-1:1.1875rem;--step-2:clamp(1.45rem, 1.15rem + 1.1vw, 1.75rem);--step-3:clamp(1.85rem, 1.4rem + 2vw, 2.5rem);--step-4:clamp(2.3rem, 1.5rem + 3.4vw, 3.6rem)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background-color:var(--page)}body{color:var(--ink);font-family:var(--sans);font-size:var(--step-0);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;background-color:var(--page);background-image:repeating-linear-gradient(to right, var(--grid-major) 0 1px, transparent 1px var(--grid-major-step)), repeating-linear-gradient(to bottom, var(--grid-major) 0 1px, transparent 1px var(--grid-major-step)), repeating-linear-gradient(to right, var(--grid-minor) 0 1px, transparent 1px var(--grid-minor-step)), repeating-linear-gradient(to bottom, var(--grid-minor) 0 1px, transparent 1px var(--grid-minor-step));background-position:0 0;margin:0;font-weight:400;line-height:1.6}img,svg{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .5em;font-weight:500;line-height:1.12}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}p,ul,ol{margin:0 0 1em}p:last-child{margin-bottom:0}a{color:inherit;text-decoration-color:var(--forest);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{text-decoration-thickness:3px}:where(a,button,input,summary,[tabindex]):focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}strong{font-weight:500}code{font-family:var(--sans);color:var(--ink-2);background:#1c1a170f;border-radius:5px;padding:.1em .3em;font-size:.92em;font-weight:500}.wrap{width:100%;max-width:var(--wrap);padding-inline:var(--pad);margin-inline:auto}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1em}.section{padding-inline:var(--gutter);padding-block:clamp(9px,1.3vw,15px)}.section>.wrap{padding:var(--bento-pad);background:var(--card);border:1px solid var(--rule);border-radius:var(--r)}.section.plain>.wrap{background:0 0;border:0;border-radius:0;padding-block:clamp(9px,1.3vw,15px);padding-inline:0}main>.section:first-child,main>*>.section:first-child{padding-top:clamp(18px,3vw,34px)}.stack>*+*{margin-top:var(--gap,1rem)}.grid{gap:clamp(14px,2vw,22px);display:grid}@media (width>=720px){.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}}.bento,.card{padding:var(--bento-pad);background:var(--card);border:1px solid var(--rule);border-radius:var(--r)}a.bento,a.card{text-decoration:none;transition:border-color .14s,transform .14s;display:block}a.bento:hover,a.card:hover{border-color:var(--rule-strong);transform:translateY(-2px)}.section:not(.plain)>.wrap :where(.card,.bento):not(.green){background:var(--panel)}.bento.green,.card.green,.section.green>.wrap{background:var(--forest);border-color:var(--forest);color:var(--on-dark)}.green :is(h1,h2,h3,h4,strong){color:var(--on-dark)}.green :is(p,.lede,.meta,.summary,dd),.green :is(.label,.file-kind,figcaption,.stat-label,dt){color:var(--on-dark-2)}.green .eyebrow{color:var(--on-dark)}.green .eyebrow:before{background:var(--green)}.green a{color:var(--on-dark);text-decoration-color:var(--green)}.green :is(a,button):focus-visible{outline-color:var(--green)}.green code{color:var(--on-dark);background:#ffffff1f}.green .figure-num{color:var(--on-dark)}.green .figure-num.accent,.green .accent{color:var(--green)}a.bento.green:hover,a.card.green:hover{background:#246b4f;border-color:#246b4f}.label,.eyebrow,.file-kind,.stats .stat-label,.stats dt,figcaption{font-family:var(--sans);font-size:var(--step-label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:500;line-height:1.45}.eyebrow{color:var(--forest);align-items:center;gap:.7em;margin:0 0 1.1rem;display:flex}.eyebrow:before{content:"";background:var(--green);border-radius:50%;flex:none;width:7px;height:7px}.lede{font-size:var(--step-1);color:var(--ink-2);max-width:60ch}.meta{font-size:var(--step--1);color:var(--ink-2);letter-spacing:0;text-transform:none;font-weight:400}figcaption.meta{font-size:var(--step-label);letter-spacing:.08em;text-transform:uppercase;font-weight:500}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.figure-num{font-family:var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-weight:500;line-height:1.05}.hand{font-family:var(--hand);letter-spacing:0;text-transform:none;color:var(--forest);align-items:center;gap:6px;font-size:clamp(1.15rem,1rem + .5vw,1.45rem);font-weight:600;line-height:1.1;display:inline-flex;transform:rotate(-2deg)}.hand svg{flex:none}.green .hand,.dark .hand{color:var(--green)}.ph{color:var(--ink-2);text-decoration:underline dotted var(--rule-strong);text-underline-offset:3px;font-style:italic}.slot{border:2px dashed var(--rule-dash);border-radius:var(--r-sm);background:var(--panel);text-align:center;min-height:190px;color:var(--ink-2);font-size:var(--step--1);place-items:center;padding:24px;line-height:1.55;display:grid}.skip-link{z-index:10;border-radius:0 0 var(--r-sm) 0;background:var(--ink);color:var(--on-dark);padding:12px 18px;font-weight:500;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.btn{border:1px solid var(--ink);border-radius:var(--r-pill);font-family:var(--sans);letter-spacing:0;color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:.5em;padding:12px 24px;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.btn.solid{background:var(--ink);color:#fff;border-color:var(--ink)}.btn:hover{background:var(--ink);color:#fff}.btn.solid:hover{background:#332f29;border-color:#332f29}.btn:focus-visible{border-radius:var(--r-pill)}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.green .btn{border-color:var(--on-dark);color:var(--on-dark);background:0 0}.green .btn:hover{background:var(--on-dark);color:var(--forest)}.green .btn.solid{background:var(--on-dark);color:var(--forest);border-color:var(--on-dark)}.stats{gap:clamp(18px,3vw,32px);margin:0;padding:0;list-style:none;display:grid}@media (width>=620px){.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.stats>li{border-top:1px solid var(--rule-strong);padding-top:12px}.green .stats>li{border-top-color:var(--on-dark-rule)}.stats .stat-value{font-family:var(--display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.02em;color:var(--ink);text-transform:none;margin-top:8px;font-size:clamp(1.7rem,1.2rem + 1.8vw,2.4rem);font-weight:500;line-height:1.08;display:block}.green .stats .stat-value{color:var(--on-dark)}.files{margin:0;padding:0;list-style:none}.files>li+li{border-top:1px solid var(--rule)}.files a{flex-wrap:wrap;align-items:baseline;gap:.35em .75em;padding:14px 0;text-decoration:none;display:flex}.files a:hover .file-name{text-decoration:underline 2px var(--forest);text-underline-offset:3px}.file-name{font-weight:500}.dark{background:var(--ink);color:var(--on-dark)}.dark .lede,.dark p{color:var(--on-dark-2)}.dark h1,.dark h2,.dark h3,.dark strong,.dark .eyebrow{color:var(--on-dark)}.dark .meta,.dark figcaption,.dark .file-kind{color:var(--on-dark-2)}.dark a{text-decoration-color:var(--green)}.dark :where(a,button):focus-visible{outline-color:var(--green)}.dark code{color:var(--on-dark);background:#ffffff1a}.dark .btn{border-color:var(--on-dark);color:var(--on-dark);background:0 0}.dark .btn:hover{background:var(--on-dark);color:var(--ink)}.dark .btn.solid{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}.dark .card{border-color:var(--on-dark-rule);background:#272420}.dark .slot{border-color:var(--on-dark-rule);color:var(--on-dark-2);background:#272420}.dark .stats>li{border-top-color:var(--on-dark-rule)}.dark .stats .stat-value{color:var(--on-dark)}.reveal-ready [data-reveal]{opacity:0;transition:opacity .45s ease-out var(--reveal-delay,0s), transform .45s ease-out var(--reveal-delay,0s);transform:translateY(14px)}.reveal-ready [data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal-ready [data-reveal],.reveal-ready [data-reveal].is-revealed{opacity:1;transition:none;transform:none}a.bento:hover,a.card:hover{transform:none}}.copy-email[data-astro-cid-4ul3c4ct]{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.copy-btn[data-astro-cid-4ul3c4ct]{border-radius:var(--r-pill);color:inherit;opacity:.6;font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid;align-items:center;gap:5px;padding:2px 8px;font-size:.75rem;font-weight:500;line-height:1.6;transition:opacity .12s ease-out;display:inline-flex}.copy-btn[data-astro-cid-4ul3c4ct]:hover,.copy-btn[data-astro-cid-4ul3c4ct]:focus-visible,.copy-btn[data-astro-cid-4ul3c4ct].is-done{opacity:1}.copy-icon[data-astro-cid-4ul3c4ct]{flex:none}.copy-btn[data-astro-cid-4ul3c4ct].is-done .copy-icon[data-astro-cid-4ul3c4ct]{display:none}@media (prefers-reduced-motion:reduce){.copy-btn[data-astro-cid-4ul3c4ct]{transition:none}}.vh[data-astro-cid-4ul3c4ct]{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-head[data-astro-cid-hkbrpulz]{border-bottom:1px solid var(--rule);background:0 0}.head-inner[data-astro-cid-hkbrpulz]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 28px;padding-block:20px;display:flex}.brand[data-astro-cid-hkbrpulz]{flex:none;text-decoration:none;display:block}.brand-wordmark[data-astro-cid-hkbrpulz]{width:168px;height:auto}.brand-mark[data-astro-cid-hkbrpulz]{width:44px;height:auto;display:none}@media (width<=430px){.brand-wordmark[data-astro-cid-hkbrpulz]{display:none}.brand-mark[data-astro-cid-hkbrpulz]{display:block}}nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none;display:flex}.head-inner[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{font-size:var(--step-label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding:5px 0;font-weight:500;text-decoration:none;display:inline-block}.head-inner[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--ink)}.head-inner[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 0 var(--green)}.site-foot[data-astro-cid-hkbrpulz]{margin-top:clamp(56px,9vw,104px)}.foot-inner[data-astro-cid-hkbrpulz]{gap:36px;padding-top:clamp(40px,6vw,64px);padding-bottom:36px;display:grid}@media (width>=760px){.foot-inner[data-astro-cid-hkbrpulz]{grid-template-columns:1fr auto;gap:56px}}.foot-brand[data-astro-cid-hkbrpulz] img[data-astro-cid-hkbrpulz]{width:190px;height:auto}.foot-brand[data-astro-cid-hkbrpulz] .meta[data-astro-cid-hkbrpulz]{max-width:34ch;margin-top:14px}.foot-nav[data-astro-cid-hkbrpulz]{flex-wrap:wrap;gap:28px 56px;display:flex}.foot-nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{align-content:start;gap:10px;margin:0;padding:0;list-style:none;display:grid}.foot-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--on-dark-2);font-size:.925rem;text-decoration:none}.foot-nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]:first-child a[data-astro-cid-hkbrpulz]{font-size:var(--step-label);letter-spacing:.08em;text-transform:uppercase;font-weight:500}.foot-email[data-astro-cid-hkbrpulz]{color:var(--on-dark-2);user-select:all;font-size:.925rem}.foot-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--on-dark);text-decoration:underline 2px var(--green);text-underline-offset:3px}.foot-base[data-astro-cid-hkbrpulz]{border-top:1px solid var(--on-dark-rule);padding-block:22px}
