.navbar[data-astro-cid-pux6a34n]{background:var(--glass-bg-light);backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%);border-bottom:1px solid var(--glass-border-light);box-shadow:var(--glass-shadow);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:100}@media(prefers-color-scheme:dark){.navbar[data-astro-cid-pux6a34n]{background:var(--glass-bg-dark);border-bottom:1px solid var(--glass-border-dark);box-shadow:var(--glass-shadow-dark)}}.nav-container[data-astro-cid-pux6a34n]{display:flex;justify-content:space-between;align-items:center}.logo[data-astro-cid-pux6a34n]{font-size:1.25rem;font-weight:700;color:var(--color-text);text-decoration:none;transition:color var(--animation-fast) var(--easing-out),transform var(--animation-fast) var(--easing-out);display:inline-block}.logo[data-astro-cid-pux6a34n]:hover{color:var(--color-primary);text-decoration:none;transform:scale(1.05)}.logo[data-astro-cid-pux6a34n]:active{transform:scale(.98)}.nav-links[data-astro-cid-pux6a34n]{display:flex;gap:var(--spacing-lg);list-style:none;margin:0}.nav-link[data-astro-cid-pux6a34n]{color:var(--color-text-light);font-weight:500;text-decoration:none;position:relative;display:inline-block;transition:color var(--animation-fast) var(--easing-out);padding:.25rem 0}.nav-link-text[data-astro-cid-pux6a34n]{position:relative;z-index:1;transition:transform var(--animation-fast) var(--easing-out)}.nav-link[data-astro-cid-pux6a34n]:hover .nav-link-text[data-astro-cid-pux6a34n]{color:var(--color-primary);transform:translateY(-1px)}.nav-link[data-astro-cid-pux6a34n]:hover{color:var(--color-primary)}.nav-link-underline[data-astro-cid-pux6a34n]{position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-primary);transition:width var(--animation-medium) var(--easing-out);transform-origin:left}.nav-link[data-astro-cid-pux6a34n].active .nav-link-underline[data-astro-cid-pux6a34n]{width:100%}.nav-link[data-astro-cid-pux6a34n].active{color:var(--color-primary)}.nav-link[data-astro-cid-pux6a34n]:hover .nav-link-underline[data-astro-cid-pux6a34n]{width:100%}.nav-link[data-astro-cid-pux6a34n]:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#1a1a1a1a;transform:translate(-50%,-50%);transition:width var(--animation-medium) var(--easing-out),height var(--animation-medium) var(--easing-out);pointer-events:none;z-index:0}@media(prefers-color-scheme:dark){.nav-link[data-astro-cid-pux6a34n]:before{background:#e0e0e01a}}.nav-link[data-astro-cid-pux6a34n]:hover:before{width:120%;height:200%}@media(max-width:768px){.nav-links[data-astro-cid-pux6a34n]{gap:var(--spacing-md)}.nav-link[data-astro-cid-pux6a34n]{font-size:.9rem}.logo[data-astro-cid-pux6a34n]:hover{transform:none}}@media(prefers-reduced-motion:reduce){.logo[data-astro-cid-pux6a34n],.nav-link[data-astro-cid-pux6a34n],.nav-link-text[data-astro-cid-pux6a34n],.nav-link-underline[data-astro-cid-pux6a34n],.nav-link[data-astro-cid-pux6a34n]:before{transition:none;animation:none}.logo[data-astro-cid-pux6a34n]:hover,.nav-link[data-astro-cid-pux6a34n]:hover .nav-link-text[data-astro-cid-pux6a34n]{transform:none}}.footer[data-astro-cid-sz7xmlte]{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-xl) 0;margin-top:var(--spacing-2xl)}.footer-container[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center}.footer-copyright[data-astro-cid-sz7xmlte]{margin:0;color:var(--color-text-light);opacity:0;animation:fadeIn var(--animation-medium) var(--easing-out) .2s forwards}.social-links[data-astro-cid-sz7xmlte]{display:flex;gap:var(--spacing-md)}.social-link[data-astro-cid-sz7xmlte]{color:var(--color-text-light);text-decoration:none;position:relative;padding:.25rem .5rem;transition:color var(--animation-fast) var(--easing-out),transform var(--animation-fast) var(--easing-out);display:inline-block}.social-link[data-astro-cid-sz7xmlte]:before{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-primary);transition:width var(--animation-medium) var(--easing-out)}.social-link[data-astro-cid-sz7xmlte]:hover{color:var(--color-primary);transform:translateY(-2px)}.social-link[data-astro-cid-sz7xmlte]:hover:before{width:100%}.social-link[data-astro-cid-sz7xmlte] span[data-astro-cid-sz7xmlte]{position:relative;z-index:1}@media(max-width:768px){.footer-container[data-astro-cid-sz7xmlte]{flex-direction:column;gap:var(--spacing-md);text-align:center}.social-link[data-astro-cid-sz7xmlte]:hover{transform:none}}@media(prefers-reduced-motion:reduce){.footer-copyright[data-astro-cid-sz7xmlte],.social-link[data-astro-cid-sz7xmlte],.social-link[data-astro-cid-sz7xmlte]:before{animation:none;transition:none}.footer-copyright[data-astro-cid-sz7xmlte]{opacity:1}.social-link[data-astro-cid-sz7xmlte]:hover{transform:none}}:root{--color-primary: #1a1a1a;--color-primary-dark: #0a0a0a;--color-text: #1a1a1a;--color-text-light: #666666;--color-bg: #ffffff;--color-bg-secondary: #f5f5f5;--color-border: #e0e0e0;--text-on-gradient: #ffffff;--button-text: #ffffff;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--max-width: 1200px;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--glass-bg-light: rgba(255, 255, 255, .1);--glass-bg-dark: rgba(0, 0, 0, .3);--glass-border-light: rgba(255, 255, 255, .2);--glass-border-dark: rgba(255, 255, 255, .1);--glass-blur-desktop: 10px;--glass-blur-mobile: 5px;--glass-shadow: 0 8px 32px rgba(31, 38, 135, .1);--glass-shadow-dark: 0 8px 32px rgba(0, 0, 0, .3);--gradient-primary: linear-gradient(135deg, #1a1a1a 0%, #333333 100%);--gradient-secondary: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);--gradient-accent: linear-gradient(135deg, #333333 0%, #4d4d4d 100%);--gradient-subtle: linear-gradient(135deg, #f5f5f5 0%, #ffffff 100%);--gradient-dark-primary: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);--gradient-dark-secondary: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);--animation-fast: .15s;--animation-medium: .3s;--animation-slow: .6s;--easing-out: cubic-bezier(.4, 0, .2, 1);--easing-in-out: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.6}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--spacing-sm);color:var(--color-text)}h1{font-size:2.5rem;margin-bottom:var(--spacing-md)}h2{font-size:2rem;margin-bottom:var(--spacing-md)}h3{font-size:1.5rem}p{margin-bottom:var(--spacing-sm)}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-dark);text-decoration:underline}ul,ol{margin-left:var(--spacing-md);margin-bottom:var(--spacing-sm)}img{max-width:100%;height:auto;display:block}button,.button{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-primary);color:var(--button-text);border:none;border-radius:.375rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s;text-decoration:none;position:relative}button .button-text-content,.button .button-text-content{position:relative;z-index:2;color:inherit;display:inline-block}button:hover,.button:hover{background-color:var(--color-primary-dark);text-decoration:none;color:var(--button-text)}button:hover .button-text-content,.button:hover .button-text-content{color:var(--button-text)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-2xl) 0}@media(max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}.section{padding:var(--spacing-xl) 0}}.glass{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-desktop)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur-desktop)) saturate(180%);border:1px solid var(--glass-border-light);box-shadow:var(--glass-shadow)}.glass-subtle{background:#ffffff14;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15)}.glass-card{background:#ffffff26;backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-radius:.75rem;box-shadow:var(--glass-shadow);transition:transform .3s ease,box-shadow .3s ease}.glass-card:hover{transform:translateY(-4px);box-shadow:0 12px 48px #1f268726}@media(prefers-color-scheme:dark){:root{--color-bg: #0a0a0a;--color-bg-secondary: #1a1a1a;--color-text: #f5f5f5;--color-text-light: #999999;--color-border: #2a2a2a;--color-primary: #e0e0e0;--color-primary-dark: #f5f5f5;--text-on-gradient: #f5f5f5;--button-text: #0a0a0a}.glass{background:var(--glass-bg-dark);border:1px solid var(--glass-border-dark);box-shadow:var(--glass-shadow-dark)}.glass-card{background:#0006;border:1px solid rgba(255,255,255,.1);box-shadow:var(--glass-shadow-dark)}.glass-card:hover{box-shadow:0 12px 48px #0006}.glass-subtle{background:#0003;border:1px solid rgba(255,255,255,.08)}}@media(prefers-reduced-transparency:reduce){.glass,.glass-card,.glass-subtle{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fffffff2}@media(prefers-color-scheme:dark){.glass,.glass-card,.glass-subtle{background:#000000f2}}}@media(prefers-reduced-motion:reduce){.glass-card{transition:none}}@media(max-width:768px){.glass,.glass-card,.glass-subtle{backdrop-filter:blur(var(--glass-blur-mobile));-webkit-backdrop-filter:blur(var(--glass-blur-mobile))}}@supports not (backdrop-filter: blur(10px)){.glass,.glass-card,.glass-subtle{background:#ffffffd9}@media(prefers-color-scheme:dark){.glass,.glass-card,.glass-subtle{background:#000000d9}}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--animation-medium) var(--easing-out) forwards}.animate-slide-up{animation:slideUp var(--animation-medium) var(--easing-out) forwards}.animate-slide-down{animation:slideDown var(--animation-medium) var(--easing-out) forwards}.animate-scale-in{animation:scaleIn var(--animation-medium) var(--easing-out) forwards}.stagger-1{animation-delay:0ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.2s}.stagger-4{animation-delay:.3s}.stagger-5{animation-delay:.4s}.stagger-6{animation-delay:.5s}.scroll-animate{opacity:0;transform:translateY(20px);transition:opacity var(--animation-slow) var(--easing-out),transform var(--animation-slow) var(--easing-out)}.scroll-animate.visible{opacity:1;transform:translateY(0)}.button-press{transition:transform var(--animation-fast) var(--easing-out)}.button-press:active{transform:scale(.98)}.ripple-container{position:relative;overflow:hidden}.image-shimmer{background:linear-gradient(90deg,var(--color-bg-secondary) 0%,rgba(255,255,255,.5) 50%,var(--color-bg-secondary) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}@media(prefers-color-scheme:dark){.image-shimmer{background:linear-gradient(90deg,var(--color-bg-secondary) 0%,rgba(255,255,255,.1) 50%,var(--color-bg-secondary) 100%);background-size:1000px 100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scroll-animate{opacity:1;transform:none}}.page-load[data-astro-cid-37fxchfa]{opacity:0;animation:fadeIn var(--animation-medium) var(--easing-out) forwards}.page-content[data-astro-cid-37fxchfa]{opacity:0;animation:fadeIn var(--animation-slow) var(--easing-out) .1s forwards}@media(prefers-reduced-motion:reduce){.page-load[data-astro-cid-37fxchfa],.page-content[data-astro-cid-37fxchfa]{opacity:1;animation:none}}
