:root{--bg-color: #0a0a0f;--bg-color-muted: #111118;--bg-color-elevated: #1a1a22;--bg-color-secondary: rgba(255, 255, 255, .03);--text-color: #f8fafc;--text-muted: #cbd5e1;--text-subtle: #94a3b8;--text-accent: #e2e8f0;--link-color: #3b82f6;--link-hover-color: #60a5fa;--link-gradient-start: #3b82f6;--link-gradient-end: #8b5cf6;--border-color: rgba(255, 255, 255, .08);--border-color-hover: rgba(255, 255, 255, .15);--hover-bg: rgba(255, 255, 255, .05);--active-bg: rgba(255, 255, 255, .08);--focus-ring: rgba(59, 130, 246, .5);--mesh-color-1: rgba(59, 130, 246, .15);--mesh-color-2: rgba(139, 92, 246, .12);--mesh-color-3: rgba(236, 72, 153, .08);--glow-color: rgba(59, 130, 246, .4);--glow-color-secondary: rgba(139, 92, 246, .3);--top-glow-color: rgba(255, 255, 255, .05);--card-shadow: 0 8px 32px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .2);--card-shadow-hover: 0 12px 40px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .3);--font-sans: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, "Courier New", monospace;--font-display: "Cal Sans", "Inter", system-ui, sans-serif;--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--transition-spring: .4s cubic-bezier(.175, .885, .32, 1.275);--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--gradient-secondary: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--gradient-accent: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);--gradient-text: linear-gradient(135deg, #f8fafc 0%, #cbd5e1 100%);--gradient-bg: radial-gradient(ellipse at top, rgba(59, 130, 246, .1) 0%, transparent 50%), radial-gradient(ellipse at bottom, rgba(139, 92, 246, .08) 0%, transparent 50%)}.theme-transition{--theme-transition: var(--transition-base)}.theme-transition button,.theme-transition input,.theme-transition textarea,.theme-transition select,.theme-transition pre,.theme-transition code,.theme-transition blockquote,.theme-transition .card{transition:background-color var(--theme-transition),border-color var(--theme-transition),box-shadow var(--theme-transition),transform var(--theme-transition)}.theme-transition *{transition-property:background-color,border-color,box-shadow,transform;transition-duration:var(--theme-transition);transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.initial-load{animation:none!important}.initial-load .animate-fade{animation:fadeIn .5s var(--transition-base) both}.initial-load .animate-slide-up{animation:slideUpFade .5s var(--transition-base) both}.initial-load .animate-scale{animation:scaleIn .3s var(--transition-base) both}.initial-load .stagger-1{animation-delay:.1s}.initial-load .stagger-2{animation-delay:.15s}.initial-load .stagger-3{animation-delay:.2s}@media (prefers-reduced-motion: no-preference){.hover-lift{transition:all var(--transition-smooth)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}.hover-scale{transition:all var(--transition-smooth)}.hover-scale:hover{transform:scale(1.05)}.link-underline{position:relative;transition:color var(--transition-base)}.link-underline:after{content:"";position:absolute;width:100%;height:2px;bottom:-2px;left:0;background:var(--gradient-primary);transform:scaleX(0);transform-origin:right;transition:transform var(--transition-smooth);border-radius:1px}.link-underline:hover{color:var(--link-hover-color)}.link-underline:hover:after{transform:scaleX(1);transform-origin:left}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent;transition:all var(--transition-smooth)}.gradient-text:hover{background:var(--gradient-secondary);-webkit-background-clip:text;background-clip:text;transform:scale(1.02)}.glow-on-hover{transition:all var(--transition-smooth)}.glow-on-hover:hover{box-shadow:0 0 20px var(--glow-color)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@property --noise-opacity{syntax: "<number>"; initial-value: .1; inherits: false;}:root{--font-sans: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--font-display: "Cal Sans", "Inter", system-ui, sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .375vw, 1rem);--text-base: clamp(1rem, .95rem + .25vw, 1.125rem);--text-lg: clamp(1.125rem, 1.1rem + .125vw, 1.25rem);--text-xl: clamp(1.25rem, 1.2rem + .25vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.4rem + .5vw, 2rem);--text-3xl: clamp(1.875rem, 1.8rem + .375vw, 2.25rem);--text-4xl: clamp(2.25rem, 2.15rem + .5vw, 2.75rem);--link-animation-duration: .3s;--hover-transition: .2s ease;--glow-color: rgba(59, 130, 246, .4);--glow-color-secondary: rgba(139, 92, 246, .3);--glow-spread: 70%;--glow-blur: 80px;--link-color: #3b82f6;--link-hover-color: #60a5fa;--link-underline-color: rgba(59, 130, 246, .6)}@keyframes linkUnderline{0%{width:0;opacity:0}to{width:100%;opacity:1}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.02em;scrollbar-gutter:stable;overflow-x:hidden;scroll-behavior:smooth}body{position:relative;background:var(--bg-color);min-height:100vh;width:100%;margin:0;font-family:var(--font-sans);color:var(--text-color);font-size:var(--text-base);font-weight:300;letter-spacing:-.03em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.astro-code *{font-size:var(--text-xs);line-height:1.6}main{width:min(100% - 2rem,640px);margin-inline:auto;padding-block:2rem;position:relative;overflow-x:hidden}.nav-container{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-inline:1.5rem}@media (max-width: 640px){main{padding-block:1rem}.nav-container{padding-inline:1rem}}body:after{content:"";position:fixed;inset:0;background:var(--gradient-bg);background-size:100% 100%;mix-blend-mode:overlay;opacity:.4;z-index:1;pointer-events:none;animation:noise 12s steps(10) infinite;will-change:transform}body:before{content:"";position:absolute;inset:-15vh 0 auto;height:100vh;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--glow-color) 40%,transparent),transparent 70%);mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.8;z-index:-1;pointer-events:none;filter:blur(80px) saturate(1.2) brightness(1.1);mix-blend-mode:screen;transform:translateZ(0);backface-visibility:hidden;perspective:1000px;will-change:transform}.bottom-glow{position:fixed;bottom:0;left:0;width:100%;height:60vh;background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--glow-color) 35%,transparent),transparent 80%);mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.7;z-index:-1;pointer-events:none;filter:blur(90px) saturate(1.2) brightness(1.1);mix-blend-mode:screen;transform:translateZ(0);backface-visibility:hidden;perspective:1000px;will-change:transform}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.1;margin-bottom:.75rem;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}h1{font-size:var(--text-4xl);letter-spacing:-.06em;font-weight:700;background:linear-gradient(135deg,#f8fafc,#cbd5e1,#94a3b8);-webkit-background-clip:text;background-clip:text;color:transparent}h2{font-size:var(--text-3xl);letter-spacing:-.05em;font-weight:600;background:linear-gradient(135deg,#f8fafc,#e2e8f0);-webkit-background-clip:text;background-clip:text;color:transparent}h3{font-size:var(--text-2xl);letter-spacing:-.04em;font-weight:500}h4{font-size:var(--text-xl);letter-spacing:-.03em;font-weight:500}h5{font-size:var(--text-lg);text-transform:uppercase;letter-spacing:.05em;font-weight:500;color:var(--text-muted)}h6{font-size:var(--text-base);font-weight:500;letter-spacing:-.02em;color:var(--text-muted)}p{margin-bottom:1rem;max-width:70ch;line-height:1.6;letter-spacing:-.03em}a{color:var(--link-color);text-decoration:none;position:relative;transition:color var(--link-animation-duration)}a:not(.category-link):after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--link-underline-color);box-shadow:0 0 8px var(--link-underline-color);transition:width var(--link-animation-duration) ease,opacity var(--link-animation-duration),box-shadow var(--link-animation-duration);opacity:0}a:not(.category-link):hover{color:var(--link-hover-color)}a:not(.category-link):hover:after{width:100%;opacity:1}.nav-link.active{color:var(--link-hover-color);font-weight:500}.category-link{color:var(--text-muted);transition:color var(--link-animation-duration),background-color var(--link-animation-duration)}.category-link:hover,.category-link.active{color:var(--link-hover-color);background:color-mix(in srgb,var(--glow-color) 10%,transparent)}.section-header a,.social-links a{color:var(--text-color);text-decoration:none}ul,ol{margin-block:1.5rem;padding-left:1.5rem}li{margin-bottom:.5rem}code,pre{font-family:var(--font-mono);font-weight:400;font-size:var(--text-xs);letter-spacing:0}pre{background:#ffffff0d;border-radius:.5rem;padding:1rem;margin-block:1.5rem;overflow-x:auto}code{background:#ffffff0d;padding:.2em .4em;border-radius:.25rem}pre code{background:none;padding:0;border-radius:0}img{max-width:100%;height:auto;display:block;border-radius:.5rem}figure{margin-block:2rem}figcaption{font-size:var(--text-xs);margin-top:.5rem;opacity:.8;text-align:center}input,textarea,select,button{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:300;letter-spacing:-.02em;color:inherit;background:none;border:1px solid var(--border-color);border-radius:.375rem;padding:.375rem .75rem;transition:border-color var(--hover-transition),background var(--hover-transition)}button{cursor:pointer;font-weight:400}button:hover{border-color:var(--border-color-hover);background:var(--hover-bg)}table{width:100%;border-collapse:collapse;margin-block:1.5rem}th,td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}th{font-weight:500}.muted-text{color:var(--text-muted);margin-top:.25rem}.subtitle{opacity:.7;margin-top:.5rem;font-size:var(--text-lg)}.card{background:var(--bg-color-elevated);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;transition:all var(--transition-smooth);position:relative;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-smooth)}.card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);border-color:var(--border-color-hover)}.card:hover:before{opacity:1}.card:hover{background:var(--bg-color-muted)}blockquote{border-left:3px solid var(--border-color);padding-left:1.5rem;margin-block:1.5rem;font-style:italic}hr{border:none;border-top:1px solid var(--border-color);margin-block:2rem}::selection{background:#3b82f633;color:var(--text-color)}::-moz-selection{background:#3b82f633;color:var(--text-color)}:focus-visible{outline:none;box-shadow:0 0 0 2px var(--focus-ring);border-radius:.25rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--hover-bg)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background var(--hover-transition)}::-webkit-scrollbar-thumb:hover{background:var(--text-color);opacity:.2}@keyframes noise{0%{transform:translate(0)}10%{transform:translate(-5%,-5%)}20%{transform:translate(-10%,5%)}30%{transform:translate(5%,-10%)}40%{transform:translate(-5%,15%)}50%{transform:translate(-10%,5%)}60%{transform:translate(15%)}70%{transform:translateY(10%)}80%{transform:translate(-15%)}90%{transform:translate(10%,5%)}to{transform:translate(5%)}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}nav[data-astro-cid-o5br4kmp]{display:flex;align-items:center}.nav-links[data-astro-cid-o5br4kmp]{display:flex;gap:1.5rem;flex-wrap:wrap;width:100%}.nav-links[data-astro-cid-o5br4kmp] a[data-astro-cid-o5br4kmp],a[data-astro-cid-o5br4kmp]{color:var(--text-muted);text-decoration:none;font-size:var(--text-sm);transition:color var(--transition-base);position:relative}a[data-astro-cid-o5br4kmp]:hover{color:var(--color-text)}a[data-astro-cid-o5br4kmp].active{color:var(--color-text)!important}a[data-astro-cid-o5br4kmp].active:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:var(--text-muted)}.layout[data-astro-cid-o7hvdbfg]{min-height:100vh;display:flex;flex-direction:column}.main[data-astro-cid-o7hvdbfg]{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:2rem 1rem}@media (max-width: 768px){.main[data-astro-cid-o7hvdbfg]{padding:1rem}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
