.icon[data-astro-cid-zgufigjl]{flex-shrink:0}.btn[data-astro-cid-j6ocf6pu]{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);font-size:var(--step-0);transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), color var(--dur) var(--ease);border:1px solid #0000;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn--primary[data-astro-cid-j6ocf6pu]{background:var(--accent);color:var(--accent-ink)}.btn--primary[data-astro-cid-j6ocf6pu]:hover{box-shadow:var(--glow)}.btn--ghost[data-astro-cid-j6ocf6pu]{border-color:var(--line-strong);color:var(--text-0);background:0 0}.btn--ghost[data-astro-cid-j6ocf6pu]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn[data-astro-cid-j6ocf6pu] .icon{transition:transform var(--dur) var(--ease)}.btn[data-astro-cid-j6ocf6pu]:hover .icon{transform:translate(2px)}.site-footer[data-astro-cid-qup6pdxl]{margin-top:var(--section-gap);border-top:1px solid var(--line);background:var(--bg-1)}.footer-inner[data-astro-cid-qup6pdxl]{gap:var(--space-5);padding-block:var(--space-6);display:grid}.footer-name[data-astro-cid-qup6pdxl]{color:var(--text-0);font-weight:650}.footer-role[data-astro-cid-qup6pdxl],.footer-meta[data-astro-cid-qup6pdxl]{color:var(--text-2);font-size:var(--step--1)}.footer-links[data-astro-cid-qup6pdxl]{gap:var(--space-2);padding:0;list-style:none;display:flex}.footer-links[data-astro-cid-qup6pdxl] a[data-astro-cid-qup6pdxl]{width:var(--tap);height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text-1);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);place-items:center;display:inline-grid}.footer-links[data-astro-cid-qup6pdxl] a[data-astro-cid-qup6pdxl]:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--glow)}@media (width>=48rem){.footer-inner[data-astro-cid-qup6pdxl]{grid-template-columns:1fr auto;align-items:center}.footer-meta[data-astro-cid-qup6pdxl]{padding-top:var(--space-4);border-top:1px solid var(--line);grid-column:1/-1}}.site-header[data-astro-cid-vwn3tmth]{z-index:50;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#070b14d1;position:sticky;top:0}.bar[data-astro-cid-vwn3tmth]{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--header-h);display:flex}.brand[data-astro-cid-vwn3tmth]{align-items:center;gap:var(--space-3);min-height:var(--tap);text-decoration:none;display:inline-flex}.brand-mark[data-astro-cid-vwn3tmth]{width:var(--tap);height:var(--tap);border:1px solid var(--accent-line);border-radius:var(--radius);background:var(--accent-dim);color:var(--accent);letter-spacing:.02em;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);place-items:center;font-size:1rem;font-weight:700;display:inline-grid}.brand[data-astro-cid-vwn3tmth]:hover .brand-mark[data-astro-cid-vwn3tmth],.brand[data-astro-cid-vwn3tmth]:focus-visible .brand-mark[data-astro-cid-vwn3tmth]{border-color:var(--accent);box-shadow:var(--glow)}.brand-role[data-astro-cid-vwn3tmth]{color:var(--text-2);white-space:nowrap;font-size:var(--step--1);font-weight:400}.menu-toggle[data-astro-cid-vwn3tmth],.menu-close[data-astro-cid-vwn3tmth]{width:var(--tap);height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-1);color:var(--text-0);cursor:pointer;place-items:center;padding:0;display:inline-grid}.menu-toggle[data-astro-cid-vwn3tmth]:hover,.menu-close[data-astro-cid-vwn3tmth]:hover{border-color:var(--accent);color:var(--accent)}.menu[data-astro-cid-vwn3tmth]{width:min(20rem,100%);height:100dvh;padding:var(--space-4) var(--gutter) var(--space-6);border:0;border-left:1px solid var(--line-strong);background:var(--bg-1);color:var(--text-1);margin:0;position:fixed;inset:0 0 auto auto;overflow-y:auto}.menu[data-astro-cid-vwn3tmth]::backdrop{background:#03060cb3}@media (prefers-reduced-motion:no-preference){.menu[data-astro-cid-vwn3tmth]:popover-open{animation:slide-in .22s var(--ease)}}@keyframes slide-in{0%{opacity:0;transform:translate(16px)}}.menu-head[data-astro-cid-vwn3tmth]{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.menu-title[data-astro-cid-vwn3tmth]{color:var(--text-2);font-size:var(--step--1)}.menu-list[data-astro-cid-vwn3tmth]{gap:var(--space-1);padding:0;list-style:none;display:grid}.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth]{align-items:center;gap:var(--space-3);min-height:3rem;padding:var(--space-2) var(--space-3);color:var(--text-0);font-size:var(--step-1);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);border-left:2px solid #0000;text-decoration:none;display:flex}.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth]:hover,.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth][aria-current=page]{border-left-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.menu-index[data-astro-cid-vwn3tmth]{color:var(--text-2);font-size:var(--step--1)}.menu-list[data-astro-cid-vwn3tmth] .ext-icon{color:var(--text-2)}.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth]:hover .ext-icon{color:var(--accent)}@media (width>=48rem){.menu-toggle[data-astro-cid-vwn3tmth],.menu-head[data-astro-cid-vwn3tmth]{display:none}.menu[data-astro-cid-vwn3tmth],.menu[data-astro-cid-vwn3tmth]:popover-open{background:0 0;border:0;width:auto;height:auto;padding:0;animation:none;display:block;position:static;inset:auto;overflow:visible}.menu-list[data-astro-cid-vwn3tmth]{gap:var(--space-2);display:flex}.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth]{min-height:var(--tap);padding:var(--space-2) var(--space-3);color:var(--text-1);font-size:var(--step-0);border-left:0;position:relative}.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth]:hover,.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth][aria-current=page]{background:0 0}.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth][aria-current=page]:after{content:"";left:var(--space-3);right:var(--space-3);background:var(--accent);height:2px;position:absolute;bottom:2px;box-shadow:0 0 8px #00ffbf99}.menu-index[data-astro-cid-vwn3tmth]{display:none}.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth]{gap:var(--space-1)}.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth].is-external{margin-left:var(--space-2);border:1px solid var(--accent-line);border-radius:var(--radius-sm);color:var(--accent)}.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth].is-external:hover{border-color:var(--accent);background:var(--accent-dim);box-shadow:var(--glow)}.menu-list[data-astro-cid-vwn3tmth] a[data-astro-cid-vwn3tmth].is-external .ext-icon{color:currentColor}}:root{color-scheme:dark;--bg-0:#070b14;--bg-1:#0b1220;--bg-2:#111a2c;--bg-3:#18233a;--line:#1c2840;--line-strong:#2a3a5a;--grid-line:#7896c80f;--text-0:#e8eef8;--text-1:#a9b6ca;--text-2:#8190a8;--accent:#00ffbf;--accent-ink:#03140f;--accent-dim:#00ffbf1a;--accent-line:#00ffbf66;--glow:0 0 0 1px #00ffbf59, 0 0 22px #00ffbf2e;--font-sans:var(--font-inter), system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-jetbrains-mono), ui-monospace, "Cascadia Code", Consolas, monospace;--step--1:clamp(.8125rem, .79rem + .1vw, .875rem);--step-0:clamp(1rem, .97rem + .15vw, 1.0625rem);--step-1:clamp(1.2rem, 1.12rem + .4vw, 1.4rem);--step-2:clamp(1.45rem, 1.3rem + .75vw, 1.9rem);--step-3:clamp(1.8rem, 1.5rem + 1.5vw, 2.75rem);--step-4:clamp(2.2rem, 1.7rem + 2.6vw, 4rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--section-gap:clamp(4rem, 3rem + 5vw, 7.5rem);--content-max:72rem;--gutter:clamp(1rem, .6rem + 2vw, 2.5rem);--header-h:4rem;--radius:6px;--radius-sm:4px;--tap:2.75rem;--ease:cubic-bezier(.2, .7, .2, 1);--dur:.18s}@media (prefers-reduced-motion:reduce){:root{--dur:0s}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--space-4))}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}img,svg,video,picture{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit}body{background-color:var(--bg-0);min-height:100dvh;color:var(--text-1);font-family:var(--font-sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;line-height:1.65;display:flex;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-position:top;background-size:48px 48px;position:fixed;inset:0;mask-image:radial-gradient(120% 80% at 50% 0,#000 30%,#0000 85%)}main{flex:1}h1,h2,h3,h4{color:var(--text-0);letter-spacing:-.02em;text-wrap:balance;font-weight:650;line-height:1.15}h1{font-size:var(--step-4);letter-spacing:-.03em}h2{font-size:var(--step-3)}h3{font-size:var(--step-1)}p{text-wrap:pretty;overflow-wrap:break-word}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}code,kbd,samp{font-family:var(--font-mono);font-size:.9em}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.container{width:100%;max-width:calc(var(--content-max) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.mono{font-family:var(--font-mono)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-4);z-index:100;padding:var(--space-3) var(--space-4);background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:var(--space-4)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
