.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background:linear-gradient(to bottom,rgba(10,10,15,.85) 0%,rgba(10,10,15,.4) 60%,transparent 100%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-bottom:var(--space-2)}.nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:4rem}.nav__logo[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.15rem;font-size:1.5rem;font-weight:var(--weight-bold);color:var(--color-text);text-decoration:none;letter-spacing:-.02em}.nav__logo[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text)}.nav__logo-mark[data-astro-cid-3ef6ksr2]{color:var(--color-primary)}.nav__menu[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-2);list-style:none}.nav__link[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:.95rem;font-weight:var(--weight-medium);color:var(--color-text-muted);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav__link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text);background:var(--color-bg-hover)}.nav__link--active[data-astro-cid-3ef6ksr2]{color:var(--color-primary)}.nav__external-icon[data-astro-cid-3ef6ksr2]{opacity:.5}.nav__toggle[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;gap:4px;padding:var(--space-2);background:none;border:none;cursor:pointer}.nav__toggle-bar[data-astro-cid-3ef6ksr2]{display:block;width:20px;height:2px;background:var(--color-text);border-radius:1px;transition:all var(--transition-fast)}@media(max-width:768px){.nav__toggle[data-astro-cid-3ef6ksr2]{display:flex}.nav__menu[data-astro-cid-3ef6ksr2]{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;padding:var(--space-4);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border)}.nav__menu--open[data-astro-cid-3ef6ksr2]{display:flex}.nav__link[data-astro-cid-3ef6ksr2]{width:100%;padding:var(--space-3) var(--space-4)}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border);padding:var(--space-8) 0 var(--space-5)}.footer__columns[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-16);margin-bottom:var(--space-6)}.footer__col[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-1)}.footer__label[data-astro-cid-sz7xmlte]{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1)}.footer__col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--transition-fast)}.footer__col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-text)}.footer__copy[data-astro-cid-sz7xmlte]{font-size:var(--text-xs);color:var(--color-text-subtle)}@media(max-width:480px){.footer__columns[data-astro-cid-sz7xmlte]{flex-direction:column;gap:var(--space-6)}}:root{--color-bg: #0a0a0f;--color-bg-elevated: #12121a;--color-bg-card: #1a1a25;--color-bg-hover: #22222f;--color-surface: #2a2a38;--color-text: #e8e8ed;--color-text-muted: #b0b0be;--color-text-subtle: #9898a8;--color-primary: #6c5ce7;--color-primary-hover: #7e70f0;--color-primary-muted: rgba(108, 92, 231, .15);--color-accent: #00d4aa;--color-accent-hover: #00e8ba;--color-accent-muted: rgba(0, 212, 170, .15);--color-border: #2a2a3a;--color-border-hover: #3a3a4a;--color-danger: #e74c3c;--color-warning: #f39c12;--color-success: #00d4aa;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--leading-tight: 1.2;--leading-normal: 1.6;--leading-relaxed: 1.8;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--max-width: 80rem;--max-width-narrow: 50rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(108, 92, 231, .2);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:clamp(100%,87.5% + .33vw,112.5%);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}img,video,svg{display:block;max-width:100%;height:auto}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--color-text)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{margin-bottom:var(--space-4);color:var(--color-text-muted)}strong{font-weight:var(--weight-semibold);color:var(--color-text)}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-card);padding:.15em .4em;border-radius:var(--radius-sm)}blockquote{border-left:3px solid var(--color-primary);padding:var(--space-4) var(--space-6);margin:var(--space-6) 0;background:var(--color-primary-muted);border-radius:0 var(--radius-md) var(--radius-md) 0}blockquote p{color:var(--color-text);margin-bottom:0}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-10) 0}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.container--narrow{max-width:var(--max-width-narrow)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;line-height:1}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff;box-shadow:var(--shadow-glow)}.btn--secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text)}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.prose h2{margin-top:var(--space-12);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.prose h3{margin-top:var(--space-8);margin-bottom:var(--space-3)}.prose h4{margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose ul,.prose ol{padding-left:var(--space-6);margin-bottom:var(--space-4)}.prose li{margin-bottom:var(--space-2);color:var(--color-text-muted)}.prose li strong{color:var(--color-text)}.prose table{width:100%;border-collapse:collapse;margin:var(--space-6) 0;font-size:var(--text-sm)}.prose th,.prose td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.prose th{background:var(--color-bg-card);font-weight:var(--weight-semibold);color:var(--color-text)}.prose td{color:var(--color-text-muted)}.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.prose a:hover{color:var(--color-accent-hover)}@media(max-width:768px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.container{padding:0 var(--space-4)}.prose table{display:block;overflow-x:auto}}
