@import"https://api.fontshare.com/v2/css?f[]=general-sans@200,300,400,500,600,700,800&display=swap";@import"https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/style.css";@import"https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/style.css";@property --grad-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@property --halo{syntax: "<angle>"; initial-value: 0deg; inherits: false;}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-base: oklch(.13 .012 270);--bg-deep: oklch(.1 .01 270);--bg-surface: oklch(1 0 0 / .035);--bg-surface-2: oklch(1 0 0 / .055);--bg-elevated: oklch(.18 .015 270);--bg-glass: oklch(.18 .018 270 / .55);--accent: oklch(.66 .2 274);--accent-bright: oklch(.74 .22 274);--accent-soft: oklch(.66 .2 274 / .16);--accent-glow: oklch(.66 .2 274 / .32);--accent-line: oklch(.66 .2 274 / .28);--text: oklch(.97 .005 270);--text-2: oklch(.72 .012 270);--text-3: oklch(.52 .014 270);--text-4: oklch(.38 .014 270);--border: oklch(1 0 0 / .07);--border-soft: oklch(1 0 0 / .045);--border-strong: oklch(1 0 0 / .14);--green: oklch(.74 .17 165);--red: oklch(.66 .22 18);--amber: oklch(.78 .16 70);--font-display: "General Sans", "Geist Sans", system-ui, sans-serif;--font-body: "Geist Sans", "General Sans", system-ui, sans-serif;--font-mono: "Geist Mono", ui-monospace, monospace;--fs-display: clamp(2.6rem, 4.8vw + 1rem, 6.4rem);--fs-h1: clamp(2rem, 2.6vw + 1rem, 3.6rem);--fs-h2: clamp(1.6rem, 1.6vw + 1rem, 2.6rem);--fs-h3: clamp(1.15rem, .4vw + 1rem, 1.4rem);--fs-body: clamp(.95rem, .25vw + .9rem, 1.05rem);--fs-small: .8125rem;--fs-xs: .6875rem;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-out-x: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--shadow-sm: 0 1px 2px oklch(0 0 0 / .4), 0 0 0 1px oklch(1 0 0 / .035);--shadow-md: 0 8px 24px -8px oklch(0 0 0 / .6), 0 0 0 1px oklch(1 0 0 / .05);--shadow-lg: 0 24px 48px -16px oklch(0 0 0 / .7), 0 0 0 1px oklch(1 0 0 / .06);--shadow-glow: 0 8px 40px -8px var(--accent-glow);--max-w: 1240px;--max-w-prose: 720px;--nav-h: 64px}html{background:var(--bg-base);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{min-height:100vh;background:var(--bg-base);color:var(--text);font-size:var(--fs-body);overflow-x:hidden}img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:-.02em;color:var(--text)}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}p{color:var(--text-2);line-height:1.7}code,pre,kbd,samp{font-family:var(--font-mono)}::selection{background:var(--accent-soft);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.container{max-width:var(--max-w);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.prose{max-width:var(--max-w-prose);margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-weight:500;font-size:.95rem;transition:transform .2s var(--ease-out),background .2s var(--ease-out),box-shadow .2s var(--ease-out);cursor:pointer}.btn-primary{background:var(--accent);color:#06070c;box-shadow:var(--shadow-glow)}.btn-primary:hover{background:var(--accent-bright);transform:translateY(-1px)}.btn-ghost{background:var(--bg-surface);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-surface-2);border-color:var(--border-strong)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;transition:border-color .2s var(--ease-out),background .2s var(--ease-out)}.card:hover{border-color:var(--border-strong);background:var(--bg-surface-2)}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.text-4{color:var(--text-4)}.text-accent{color:var(--accent-bright)}.mono{font-family:var(--font-mono)}.lang-switch[data-astro-cid-su6xvggn]{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:6px;background:var(--bg-surface);border:1px solid var(--border);font-size:.8125rem;font-family:var(--font-mono);color:var(--text-3)}.lang-opt[data-astro-cid-su6xvggn]{color:var(--text-3);transition:color .15s var(--ease-out)}a[data-astro-cid-su6xvggn].lang-opt:hover,.lang-opt[data-astro-cid-su6xvggn].active{color:var(--text)}.lang-opt[data-astro-cid-su6xvggn].disabled{color:var(--text-4);opacity:.5;cursor:not-allowed}.lang-divider[data-astro-cid-su6xvggn]{color:var(--text-4)}.nav[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:50;height:var(--nav-h);background:#06070cc7;backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--border-soft)}.nav-inner[data-astro-cid-dmqpwcec]{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.nav-logo[data-astro-cid-dmqpwcec]{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-.02em;color:var(--text)}.logo-mark-accent[data-astro-cid-dmqpwcec]{background:linear-gradient(110deg,var(--accent-bright),oklch(.78 .2 290));-webkit-background-clip:text;background-clip:text;color:transparent}.nav-links[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:.25rem;margin-left:auto;margin-right:1.5rem}.nav-link[data-astro-cid-dmqpwcec]{padding:.5rem .875rem;border-radius:6px;font-size:.9rem;color:var(--text-2);transition:color .15s var(--ease-out),background .15s var(--ease-out)}.nav-link[data-astro-cid-dmqpwcec]:hover,.nav-link[data-astro-cid-dmqpwcec].active{color:var(--text);background:var(--bg-surface)}.nav-right[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:.75rem}.btn-sm[data-astro-cid-dmqpwcec]{padding:.5rem .875rem;font-size:.875rem}@media(max-width:720px){.nav-links[data-astro-cid-dmqpwcec]{display:none}}.footer[data-astro-cid-sz7xmlte]{margin-top:6rem;padding-top:3rem;padding-bottom:2rem;border-top:1px solid var(--border-soft);background:var(--bg-deep)}.footer-inner[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr auto;gap:3rem;padding-bottom:2.5rem}.footer-brand[data-astro-cid-sz7xmlte]{max-width:320px}.footer-logo[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;display:inline-block;margin-bottom:.5rem}.footer-logo-x[data-astro-cid-sz7xmlte]{background:linear-gradient(110deg,var(--accent-bright),oklch(.78 .2 290));-webkit-background-clip:text;background-clip:text;color:transparent}.footer-tagline[data-astro-cid-sz7xmlte]{font-size:.875rem;line-height:1.6}.footer-cols[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:3rem}.footer-col[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:.5rem}.footer-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--text-2);font-size:.875rem;transition:color .15s var(--ease-out)}.footer-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--text)}.footer-heading[data-astro-cid-sz7xmlte]{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:.5rem}.footer-bottom[data-astro-cid-sz7xmlte]{padding-top:1.5rem;border-top:1px solid var(--border-soft);font-size:.8125rem}@media(max-width:720px){.footer-inner[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:2.5rem}.footer-cols[data-astro-cid-sz7xmlte]{gap:2rem}}.skip-link[data-astro-cid-5hce7sga]{position:absolute;top:-100px;left:1rem;background:var(--accent);color:var(--bg-base);padding:.5rem 1rem;border-radius:6px;z-index:100;transition:top .2s}.skip-link[data-astro-cid-5hce7sga]:focus{top:1rem}
