.button[data-astro-cid-j6ocf6pu]{--button-bg:transparent;--button-fg:var(--c-text);--button-border:var(--c-line-strong);border:1px solid var(--button-border);border-radius:var(--radius-md);background:var(--button-bg);min-height:2.875rem;color:var(--button-fg);font-family:var(--font-body);white-space:nowrap;transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease, box-shadow var(--duration) var(--ease-out), transform var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;gap:.625rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:550;line-height:1.2;display:inline-flex;position:relative}.button[data-astro-cid-j6ocf6pu]:active{transform:translateY(1px)scale(.99)}.button--primary[data-astro-cid-j6ocf6pu]{--button-bg:var(--c-green);--button-fg:var(--c-green-ink);--button-border:var(--c-green);font-weight:650}.button--primary[data-astro-cid-j6ocf6pu]:hover,.button--primary[data-astro-cid-j6ocf6pu]:focus-visible{box-shadow:0 0 0 4px var(--c-green-soft), 0 8px 28px -10px #3dffa28c}.button--secondary[data-astro-cid-j6ocf6pu]:hover,.button--secondary[data-astro-cid-j6ocf6pu]:focus-visible{--button-border:var(--c-green-line);--button-bg:var(--c-green-soft)}.button--ghost[data-astro-cid-j6ocf6pu]{--button-border:transparent;color:var(--c-text-soft);padding-inline:.75rem}.button--ghost[data-astro-cid-j6ocf6pu]:hover,.button--ghost[data-astro-cid-j6ocf6pu]:focus-visible{color:var(--c-text);--button-bg:#a0b4d214}.button[data-astro-cid-j6ocf6pu] .button__icon{transition:transform var(--duration) var(--ease-out);flex:none}.button[data-astro-cid-j6ocf6pu]:hover .button__icon--end,.button[data-astro-cid-j6ocf6pu]:focus-visible .button__icon--end{transform:translate(3px)}.monogram[data-astro-cid-gyxrit5i]{flex:none;overflow:visible}.monogram__strokes[data-astro-cid-gyxrit5i]{stroke:currentColor}.monogram__halo[data-astro-cid-gyxrit5i]{fill:var(--c-green);opacity:.18}.monogram__active[data-astro-cid-gyxrit5i]{fill:var(--c-green)}.monogram__transit[data-astro-cid-gyxrit5i]{fill:var(--monogram-surface,var(--c-bg));stroke:currentColor}.monogram__terminal[data-astro-cid-gyxrit5i]{fill:var(--monogram-surface,var(--c-bg));stroke:var(--c-blue)}ul[data-astro-cid-ecceicg2]{border:1px solid var(--c-line);background:#a0b4d20a;border-radius:999px;gap:2px;padding:3px;display:flex}a[data-astro-cid-ecceicg2]{min-width:2.25rem;min-height:1.75rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--c-text-faint);transition:color var(--duration-fast) ease, background-color var(--duration-fast) ease;border-radius:999px;place-items:center;padding-inline:.5rem;font-weight:500;display:grid}a[data-astro-cid-ecceicg2]:hover,a[data-astro-cid-ecceicg2]:focus-visible{color:var(--c-text)}a[data-astro-cid-ecceicg2][aria-current=true]{background:var(--c-green-soft);color:var(--c-green)}.site-footer[data-astro-cid-oenwriqq]{margin-top:var(--space-section);border-top:1px solid var(--c-line);padding-block:var(--space-6) max(var(--space-6), env(safe-area-inset-bottom))}.site-footer__inner[data-astro-cid-oenwriqq]{gap:var(--space-5);flex-direction:column;display:flex}.site-footer__identity[data-astro-cid-oenwriqq]{align-items:center;gap:var(--space-4);display:flex}.site-footer__identity[data-astro-cid-oenwriqq] p[data-astro-cid-oenwriqq]{font-size:var(--text-sm);flex-direction:column;gap:.125rem;line-height:1.5;display:flex}.site-footer__name[data-astro-cid-oenwriqq]{color:var(--c-text-soft)}.site-footer__note[data-astro-cid-oenwriqq]{color:var(--c-text-faint)}.site-footer__actions[data-astro-cid-oenwriqq]{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.site-footer__link[data-astro-cid-oenwriqq]{min-height:2.75rem;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--c-text-soft);transition:color var(--duration-fast) ease;align-items:center;gap:.5rem;display:inline-flex}.site-footer__link[data-astro-cid-oenwriqq]:hover,.site-footer__link[data-astro-cid-oenwriqq]:focus-visible{color:var(--c-green)}.site-footer__top[data-astro-cid-oenwriqq]{border:1px solid var(--c-line-strong);width:2.75rem;height:2.75rem;color:var(--c-text-soft);transition:color var(--duration-fast) ease, border-color var(--duration-fast) ease, transform var(--duration) var(--ease-out);border-radius:50%;place-items:center;margin-left:auto;display:grid}.site-footer__top[data-astro-cid-oenwriqq]:hover,.site-footer__top[data-astro-cid-oenwriqq]:focus-visible{color:var(--c-green);border-color:var(--c-green-line);transform:translateY(-3px)}@media (width>=48rem){.site-footer__inner[data-astro-cid-oenwriqq]{flex-direction:row;justify-content:space-between;align-items:center}.site-footer__top[data-astro-cid-oenwriqq]{margin-left:0}}.site-header[data-astro-cid-isef26zo]{z-index:var(--z-header);height:var(--header-height);border-bottom:1px solid var(--c-line);background:var(--c-glass);backdrop-filter:blur(14px)saturate(140%);position:fixed;inset:0 0 auto}@supports (animation-timeline:scroll()){.site-header[data-astro-cid-isef26zo]{animation:linear both header-materialize;animation-range:0 6rem}body>.site-header[data-astro-cid-isef26zo]{animation-timeline:scroll(root)}@keyframes header-materialize{0%{backdrop-filter:blur()saturate();background:0 0;border-bottom-color:#0000}}}.site-header__inner[data-astro-cid-isef26zo]{align-items:center;gap:var(--space-5);height:100%;display:flex}.brand[data-astro-cid-isef26zo]{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:.75rem;font-weight:600;display:inline-flex}.brand__name[data-astro-cid-isef26zo],.site-nav[data-astro-cid-isef26zo]{display:none}.site-nav[data-astro-cid-isef26zo] ul[data-astro-cid-isef26zo]{gap:.25rem;display:flex}.site-nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]{border-radius:var(--radius-sm);color:var(--c-text-soft);transition:color var(--duration-fast) ease;padding:.5rem .875rem;font-size:.9375rem;display:block;position:relative}.site-nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]:after{content:"";background:var(--c-green);width:5px;height:5px;box-shadow:0 0 10px var(--c-green);opacity:0;transition:opacity var(--duration) var(--ease-out), transform var(--duration) var(--ease-out);border-radius:50%;position:absolute;bottom:0;left:50%;transform:translate(-50%,4px)scale(.4)}.site-nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]:hover,.site-nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]:focus-visible,.site-nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo][aria-current]{color:var(--c-text)}.site-nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo][aria-current]:after{opacity:1;transform:translate(-50%)scale(1)}.site-header__actions[data-astro-cid-isef26zo]{align-items:center;gap:.5rem;margin-left:auto;display:flex}.icon-link[data-astro-cid-isef26zo],.menu-toggle[data-astro-cid-isef26zo]{border-radius:var(--radius-md);width:2.75rem;height:2.75rem;color:var(--c-text-soft);transition:color var(--duration-fast) ease, background-color var(--duration-fast) ease;place-items:center;display:grid}.icon-link[data-astro-cid-isef26zo]:hover,.icon-link[data-astro-cid-isef26zo]:focus-visible,.menu-toggle[data-astro-cid-isef26zo]:hover,.menu-toggle[data-astro-cid-isef26zo]:focus-visible{color:var(--c-text);background:#a0b4d214}.icon-link[data-astro-cid-isef26zo]{display:none}.mobile-menu[data-astro-cid-isef26zo]{backdrop-filter:blur(18px);width:100%;max-width:none;height:100%;max-height:none;color:var(--c-text);opacity:0;transition:opacity var(--duration) var(--ease-out), display var(--duration) allow-discrete, overlay var(--duration) allow-discrete;background:#080a0ef0;border:0;flex-direction:column;margin:0;padding:0;position:fixed;inset:0}.mobile-menu[data-astro-cid-isef26zo]:popover-open{opacity:1;display:flex}@starting-style{.mobile-menu[data-astro-cid-isef26zo]:popover-open{opacity:0}}.mobile-menu__bar[data-astro-cid-isef26zo]{height:var(--header-height);flex:none;justify-content:space-between;align-items:center;display:flex}.mobile-menu__nav[data-astro-cid-isef26zo]{flex:1;align-items:center;display:flex;overflow-y:auto}.mobile-menu__nav[data-astro-cid-isef26zo] ul[data-astro-cid-isef26zo]{width:100%}.mobile-menu__nav[data-astro-cid-isef26zo] li[data-astro-cid-isef26zo]{border-bottom:1px solid var(--c-line)}.mobile-menu__nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]{font-family:var(--font-display);letter-spacing:-.02em;transition:color var(--duration-fast) ease;align-items:baseline;gap:1rem;padding-block:1.125rem;font-size:clamp(1.75rem,8vw,2.5rem);font-weight:600;display:flex}.mobile-menu__nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]:hover,.mobile-menu__nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]:focus-visible,.mobile-menu__nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo][aria-current]{color:var(--c-green)}.mobile-menu__index[data-astro-cid-isef26zo]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--c-text-faint);font-weight:500}.mobile-menu[data-astro-cid-isef26zo]:popover-open .mobile-menu__nav[data-astro-cid-isef26zo] li[data-astro-cid-isef26zo]{animation:menu-item-in var(--duration-slow) var(--ease-out) both}.mobile-menu__nav[data-astro-cid-isef26zo] li[data-astro-cid-isef26zo]:nth-child(2){animation-delay:50ms}.mobile-menu__nav[data-astro-cid-isef26zo] li[data-astro-cid-isef26zo]:nth-child(3){animation-delay:.1s}.mobile-menu__nav[data-astro-cid-isef26zo] li[data-astro-cid-isef26zo]:nth-child(4){animation-delay:.15s}.mobile-menu__nav[data-astro-cid-isef26zo] li[data-astro-cid-isef26zo]:nth-child(n+5){animation-delay:.2s}@keyframes menu-item-in{0%{opacity:0;transform:translateY(.75rem)}}.mobile-menu__footer[data-astro-cid-isef26zo]{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5) max(var(--space-5), env(safe-area-inset-bottom));flex:none;display:flex}.mobile-menu__github[data-astro-cid-isef26zo]{min-height:2.75rem;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--c-text-soft);align-items:center;gap:.5rem;display:inline-flex}@media (width>=30rem){.brand__name[data-astro-cid-isef26zo]{display:inline}}@media (width>=56rem){.site-nav[data-astro-cid-isef26zo]{display:block}.icon-link[data-astro-cid-isef26zo]{display:grid}.menu-toggle[data-astro-cid-isef26zo]{display:none}}:root{color-scheme:dark;--c-bg:#080a0e;--c-surface:#0e1218;--c-surface-raised:#131922;--c-glass:#0e1218b8;--c-line:#a0b4d21f;--c-line-strong:#a0b4d23d;--c-text:#e7edf4;--c-text-soft:#a3afbf;--c-text-faint:#7b8799;--c-green:#3dffa2;--c-green-ink:#03150c;--c-green-soft:#3dffa21a;--c-green-line:#3dffa259;--c-blue:#4d94ff;--c-blue-soft:#4d94ff1f;--c-blue-line:#4d94ff66;--gradient-signal:linear-gradient(100deg, var(--c-green) 0%, var(--c-blue) 100%);--font-display:var(--font-sora), system-ui, sans-serif;--font-body:var(--font-inter), system-ui, sans-serif;--font-mono:var(--font-jetbrains-mono), ui-monospace, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:clamp(1.0625rem, .98rem + .4vw, 1.25rem);--text-xl:clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--text-2xl:clamp(1.75rem, 1.3rem + 2vw, 2.75rem);--text-hero:clamp(2.75rem, 1rem + 6vw, 6rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-section:clamp(5rem, 3rem + 9vw, 9.5rem);--page-max:74rem;--page-gutter:clamp(1.25rem, .6rem + 3.2vw, 3rem);--header-height:4rem;--rail-offset:0rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.16s;--duration:.32s;--duration-slow:.72s;--z-header:50;--z-menu:60}@media (width>=48rem){:root{--header-height:4.5rem;--rail-offset:2.75rem}}@media (width>=100rem){:root{--page-max:82rem}html{font-size:106.25%}}@media (width>=120rem){html{font-size:112.5%}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + 1.5rem);background-color:var(--c-bg)}body{background-color:var(--c-bg);min-height:100dvh;color:var(--c-text);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.65;overflow-x:clip}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.12}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,svg{max-width:100%;display:block}[hidden]{display:none!important}::selection{background:var(--c-green);color:var(--c-green-ink)}:focus-visible{outline:2px solid var(--c-green);outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}.container{width:100%;max-width:calc(var(--page-max) + 2 * var(--page-gutter));padding-inline:var(--page-gutter);margin-inline:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-faint);font-weight:500}.link{transition:background-size var(--duration) var(--ease-out), color var(--duration-fast) ease;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.link:hover,.link:focus-visible{color:var(--c-green);background-size:100% 1px}.reveal-pending{opacity:0;transform:translateY(1.25rem)}.reveal-in{transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);transition-delay:calc(var(--reveal-order,0) * 70ms)}@view-transition{navigation:auto}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.reveal-pending{opacity:1;transform:none}@view-transition{navigation:none}}.skip-link[data-astro-cid-z4jru4n3]{z-index:100;border-radius:var(--radius-md);background:var(--c-green);color:var(--c-green-ink);transition:transform var(--duration-fast) var(--ease-out);padding:.625rem 1rem;font-weight:650;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link[data-astro-cid-z4jru4n3]:focus-visible{outline-offset:2px;transform:translateY(0)}main[data-astro-cid-z4jru4n3]{position:relative}main[data-astro-cid-z4jru4n3]:focus{outline:none}
