:root{--paper:#fbf8f2;--paper-2:#f3eee4;--card:#fff;--ink:#1d1b19;--ink-2:#57524b;--ink-3:#8a847b;--line:#e6dfd2;--blue:#0d90ff;--blue-ink:#0a6fd0;--blue-soft:#e3f1ff;--coral:#fb4544;--coral-soft:#ffe7e4;--sun:#ffd119;--sun-soft:#fff4c7;--green:#3fbc5e;--imsg-blue:#007aff;--radius:16px;--radius-sm:10px;--shadow:0 1px 0 #1d1b190a, 0 8px 24px -12px #1d1b192e;--font-display:ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", "Nunito", "Quicksand", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--measure:42rem;--wide:calc(52rem + 64px);color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#151412;--paper-2:#1d1c19;--card:#201f1c;--ink:#f4f1ea;--ink-2:#c4beb3;--ink-3:#8f897f;--line:#34322d;--blue:#4ebaff;--blue-ink:#7fcbff;--blue-soft:#10283d;--coral:#fb8480;--coral-soft:#3a1d1b;--sun:#fec845;--sun-soft:#3a3115;--imsg-blue:#0a84ff;--shadow:0 1px 0 #0000004d, 0 8px 24px -12px #0009;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-size:1.0625rem;line-height:1.65;display:flex}img{max-width:100%;height:auto;display:block}a{color:var(--blue-ink);text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{color:var(--blue)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:800;line-height:1.15}h1{font-size:clamp(2.1rem,5.5vw,3.4rem);font-weight:900}h2{font-size:clamp(1.5rem,3.4vw,2rem)}h3{font-size:1.25rem}p{text-wrap:pretty}.wrap{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:16px}@media (width>=720px){.wrap{padding-inline:32px}}.skip-link{background:var(--ink);color:var(--paper);z-index:10;border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}.prose>:is(p,ul:not([class]),ol:not([class]),blockquote,h2,h3){max-width:var(--measure)}.prose>*+*{margin-top:1.1em}.prose h2{margin-top:2em;scroll-margin-top:1rem}.prose>:first-child{margin-top:0}.prose h3{margin-top:1.8em}.prose p,.prose ul,.prose ol{margin-bottom:0}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose ol>li::marker{font-family:var(--font-display);color:var(--blue-ink);font-weight:800}.prose strong{font-weight:700}.prose blockquote{border-radius:var(--radius-sm);background:var(--sun-soft);border-left:4px solid var(--sun);margin-inline:0;padding:14px 18px}.prose blockquote>:first-child{margin-top:0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}@media (width<=560px){.prose table{font-size:.85rem}.prose th,.prose td{padding:8px 6px}}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.prose th{font-family:var(--font-display);background:var(--paper-2);font-weight:800}.prose code{background:var(--paper-2);border-radius:6px;padding:.1em .35em;font-size:.9em}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.kbd{font-family:var(--font-display);background:var(--card);border:1px solid var(--line);box-shadow:0 1px 0 var(--line);white-space:nowrap;border-radius:999px;padding:.25em .5em;font-size:.9em;font-weight:800;line-height:1;display:inline-block}.btn{font-family:var(--font-display);color:#fff;background:linear-gradient(#4ebaff,#0d90ff);border-radius:999px;align-items:center;gap:.5em;padding:.75em 1.2em;font-size:1rem;font-weight:800;text-decoration:none;transition:transform .15s;display:inline-flex;box-shadow:0 6px 16px -8px #0d90ffcc}.btn:hover{color:#fff;transform:translateY(-1px)}.btn-ghost{color:var(--ink);border:1.5px solid var(--line);box-shadow:none;background:0 0}.btn-ghost:hover{color:var(--ink);border-color:var(--ink-3)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.section{padding-top:48px}.section h2{margin-bottom:18px}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.section-head h2{margin:0}.section-head a{white-space:nowrap;font-weight:600}.site-header[data-astro-cid-hkbrpulz]{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent)}.header-inner[data-astro-cid-hkbrpulz]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-block:12px;display:flex}.brand[data-astro-cid-hkbrpulz]{color:var(--ink);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand-name[data-astro-cid-hkbrpulz]{font-family:var(--font-body);letter-spacing:-.02em;font-size:1.2rem;font-weight:700}.brand-name[data-astro-cid-hkbrpulz] span[data-astro-cid-hkbrpulz]{color:var(--imsg-blue)}nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{margin:0;padding:0;list-style:none}.header-inner[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{flex-wrap:wrap;gap:4px;display:flex}.header-inner[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{font-family:var(--font-display);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:.95rem;font-weight:800;text-decoration:none;display:block}.header-inner[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--ink);background:var(--paper-2)}.header-inner[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]{color:var(--ink);background:var(--sun-soft)}@media (width<=560px){.header-inner[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz]{scrollbar-width:none;width:100%;margin-inline:-4px;overflow-x:auto}.header-inner[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{flex-wrap:nowrap}.header-inner[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{white-space:nowrap;padding:6px 10px}}main[data-astro-cid-hkbrpulz]{flex:1}.site-footer[data-astro-cid-hkbrpulz]{background:var(--paper-2);border-top:1px solid var(--line);margin-top:80px;font-size:.92rem}.footer-top[data-astro-cid-hkbrpulz]{gap:28px;padding-block:36px 28px;display:grid}@media (width>=720px){.footer-top[data-astro-cid-hkbrpulz]{grid-template-columns:1fr auto;align-items:start}}.footer-brand[data-astro-cid-hkbrpulz] p[data-astro-cid-hkbrpulz]{color:var(--ink-2);margin:8px 0 0}.footer-links[data-astro-cid-hkbrpulz]{grid-template-columns:repeat(2,minmax(9rem,auto));gap:24px 56px;display:grid}.footer-links[data-astro-cid-hkbrpulz] h2[data-astro-cid-hkbrpulz]{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:0 0 10px;font-size:.78rem}.footer-links[data-astro-cid-hkbrpulz] li[data-astro-cid-hkbrpulz]+li[data-astro-cid-hkbrpulz]{margin-top:6px}.footer-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--ink);text-decoration:none}.footer-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{text-decoration:underline}.footer-bottom[data-astro-cid-hkbrpulz]{border-top:1px solid var(--line);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-block:16px 24px;font-size:.8rem;display:flex}.footer-bottom[data-astro-cid-hkbrpulz] p[data-astro-cid-hkbrpulz]{max-width:40rem;margin:0}.made-by[data-astro-cid-hkbrpulz]{color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.made-by[data-astro-cid-hkbrpulz]:hover{color:var(--ink)}.made-by[data-astro-cid-hkbrpulz] img{border-radius:6px}
