.header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:#0a0a0fd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);z-index:100;transition:background-color var(--transition-base)}.header[data-astro-cid-3ef6ksr2].scrolled{background-color:#0a0a0ff2}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:100%}.logo[data-astro-cid-3ef6ksr2]{display:flex;align-items:center}.logo[data-astro-cid-3ef6ksr2] img[data-astro-cid-3ef6ksr2]{height:36px;width:auto}.nav-desktop[data-astro-cid-3ef6ksr2]{display:none}.nav-list[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-8);list-style:none;padding:0;margin:0}.nav-link[data-astro-cid-3ef6ksr2]{font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;padding:var(--space-2) 0;position:relative;transition:color var(--transition-fast)}.nav-link[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--accent-primary);transition:width var(--transition-base)}.nav-link[data-astro-cid-3ef6ksr2]:hover,.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--text-primary)}.nav-link[data-astro-cid-3ef6ksr2]:hover:after,.nav-link[data-astro-cid-3ef6ksr2].active:after{width:100%}.menu-toggle[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:var(--space-2)}.menu-icon[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px}.menu-line[data-astro-cid-3ef6ksr2]{display:block;width:100%;height:2px;background-color:var(--text-primary);transition:transform var(--transition-base),opacity var(--transition-base)}.menu-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .menu-line[data-astro-cid-3ef6ksr2]:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .menu-line[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0}.menu-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .menu-line[data-astro-cid-3ef6ksr2]:nth-child(3){transform:translateY(-8px) rotate(-45deg)}@media(min-width:768px){.logo[data-astro-cid-3ef6ksr2] img[data-astro-cid-3ef6ksr2]{height:40px}}@media(min-width:1024px){.nav-desktop[data-astro-cid-3ef6ksr2]{display:block}.menu-toggle[data-astro-cid-3ef6ksr2]{display:none}}.mobile-nav[data-astro-cid-37bvxqo4]{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:var(--bg-primary);z-index:99;opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.mobile-nav[data-astro-cid-37bvxqo4].open{opacity:1;visibility:visible}.mobile-nav-inner[data-astro-cid-37bvxqo4]{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:var(--space-8) var(--space-6);overflow-y:auto}.mobile-nav-list[data-astro-cid-37bvxqo4]{list-style:none;padding:0;margin:0}.mobile-nav-list[data-astro-cid-37bvxqo4] li[data-astro-cid-37bvxqo4]{opacity:0;transform:translate(-20px);transition:opacity var(--transition-slow),transform var(--transition-slow);transition-delay:var(--delay, 0s)}.mobile-nav[data-astro-cid-37bvxqo4].open .mobile-nav-list[data-astro-cid-37bvxqo4] li[data-astro-cid-37bvxqo4]{opacity:1;transform:translate(0)}.mobile-nav-link[data-astro-cid-37bvxqo4]{display:block;font-family:var(--font-display);font-size:var(--text-2xl);color:var(--text-secondary);padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle);text-decoration:none;transition:color var(--transition-fast)}.mobile-nav-link[data-astro-cid-37bvxqo4]:hover,.mobile-nav-link[data-astro-cid-37bvxqo4].active{color:var(--accent-primary)}.mobile-nav-footer[data-astro-cid-37bvxqo4]{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.mobile-nav-tagline[data-astro-cid-37bvxqo4]{font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-muted)}.social-link[data-astro-cid-37bvxqo4]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--text-secondary);transition:color var(--transition-fast)}.social-link[data-astro-cid-37bvxqo4]:hover{color:var(--accent-primary)}@media(min-width:1024px){.mobile-nav[data-astro-cid-37bvxqo4]{display:none}}.footer[data-astro-cid-sz7xmlte]{background-color:var(--bg-secondary);border-top:1px solid var(--border-subtle);padding:var(--space-12) 0 var(--space-8);margin-top:auto}.footer-main[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-8)}.footer-brand[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-3)}.footer-logo[data-astro-cid-sz7xmlte] img[data-astro-cid-sz7xmlte]{height:32px;width:auto}.footer-tagline[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-muted)}.footer-nav[data-astro-cid-sz7xmlte]{flex:1}.footer-links[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;padding:0;margin:0}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent-primary)}.footer-bottom[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.footer-legal[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:var(--space-4)}.copyright[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--text-muted)}.legal-link[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast)}.legal-link[data-astro-cid-sz7xmlte]:hover{color:var(--accent-primary)}.social-link[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-secondary);transition:color var(--transition-fast)}.social-link[data-astro-cid-sz7xmlte]:hover{color:var(--accent-primary)}@media(min-width:768px){.footer-main[data-astro-cid-sz7xmlte]{flex-direction:row;justify-content:space-between;align-items:flex-start}.footer-links[data-astro-cid-sz7xmlte]{flex-direction:row;gap:var(--space-8)}}.grid-background[data-astro-cid-oz2goqlp]{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;background-image:linear-gradient(to right,var(--border-subtle) 1px,transparent 1px),linear-gradient(to bottom,var(--border-subtle) 1px,transparent 1px);background-size:60px 60px;opacity:.3;mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%)}.cookie-banner[data-astro-cid-garwan2p]{position:fixed;bottom:0;left:0;right:0;background-color:var(--bg-secondary);border-top:1px solid var(--border-subtle);padding:var(--space-4) var(--space-6);z-index:98;transform:translateY(100%);transition:transform var(--transition-base)}.cookie-banner[data-astro-cid-garwan2p].visible{transform:translateY(0)}.cookie-content[data-astro-cid-garwan2p]{max-width:var(--container-width);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4);align-items:center;text-align:center}@media(min-width:768px){.cookie-content[data-astro-cid-garwan2p]{flex-direction:row;justify-content:space-between;text-align:left}}.cookie-text[data-astro-cid-garwan2p]{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.5}.cookie-link[data-astro-cid-garwan2p]{color:var(--accent-primary);text-decoration:underline;text-underline-offset:2px}.cookie-link[data-astro-cid-garwan2p]:hover{color:var(--accent-secondary)}.cookie-actions[data-astro-cid-garwan2p]{display:flex;gap:var(--space-3);flex-shrink:0}.cookie-btn[data-astro-cid-garwan2p]{font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.cookie-btn-primary[data-astro-cid-garwan2p]{background-color:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.cookie-btn-primary[data-astro-cid-garwan2p]:hover{background-color:var(--accent-secondary);border-color:var(--accent-secondary)}.cookie-btn-secondary[data-astro-cid-garwan2p]{background-color:transparent;color:var(--text-secondary);border-color:var(--border-subtle)}.cookie-btn-secondary[data-astro-cid-garwan2p]:hover{color:var(--text-primary);border-color:var(--text-secondary)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-elevated: #1a1a24;--bg-code: #0d0d12;--text-primary: #e8e8ed;--text-secondary: #9898a8;--text-muted: #5a5a6e;--accent-primary: #00d4ff;--accent-secondary: #0099cc;--accent-glow: rgba(0, 212, 255, .15);--border-subtle: #2a2a3a;--border-accent: #00d4ff;--success: #00ff88;--warning: #ffaa00;--font-display: "JetBrains Mono", "Fira Code", monospace;--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code: "JetBrains Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: clamp(1.5rem, 2.5vw, 1.75rem);--text-3xl: clamp(1.75rem, 3vw, 2.5rem);--text-4xl: clamp(2.5rem, 5vw, 4rem);--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;--container-max: 1200px;--header-height: 72px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}p{color:var(--text-secondary);line-height:1.7}p+p{margin-top:var(--space-4)}ul,ol{padding-left:var(--space-6);color:var(--text-secondary)}li{margin-bottom:var(--space-2)}code{font-family:var(--font-code);font-size:.9em;background-color:var(--bg-code);padding:.2em .4em;border-radius:var(--radius-sm);color:var(--accent-primary)}pre{font-family:var(--font-code);font-size:var(--text-sm);background-color:var(--bg-code);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--border-subtle)}pre code{background:none;padding:0;color:var(--text-primary)}blockquote{border-left:3px solid var(--accent-primary);padding-left:var(--space-4);margin:var(--space-6) 0;color:var(--text-secondary);font-style:italic}hr{border:none;border-top:1px solid var(--border-subtle);margin:var(--space-8) 0}::selection{background-color:var(--accent-primary);color:var(--bg-primary)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-accent{color:var(--accent-primary)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-mono{font-family:var(--font-display)}.skip-link{position:absolute;top:-100%;left:var(--space-4);background:var(--accent-primary);color:var(--bg-primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:600;z-index:1000}.skip-link:focus{top:var(--space-4)}.glow-border{border:1px solid var(--border-subtle);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.glow-border:hover{border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn-primary{background-color:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.btn-primary:hover{background-color:var(--accent-secondary);border-color:var(--accent-secondary);color:var(--bg-primary)}.btn-secondary{background-color:transparent;color:var(--accent-primary);border-color:var(--accent-primary)}.btn-secondary:hover{background-color:var(--accent-glow)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{opacity:0;animation:fadeIn .6s ease forwards}.fade-in-1{animation-delay:.1s}.fade-in-2{animation-delay:.2s}.fade-in-3{animation-delay:.3s}.fade-in-4{animation-delay:.4s}.fade-in-5{animation-delay:.5s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(min-width:768px){.container{padding:0 var(--space-8)}}@media(min-width:1024px){:root{--header-height: 80px}}html{scrollbar-gutter:stable}body{min-height:100vh;display:flex;flex-direction:column}body.nav-open{overflow:hidden}main{flex:1;padding-top:var(--header-height)}
