html{background-color:#0a0a0f}.header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;right:0;z-index:100;background:#0a0a0fcc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border-subtle)}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:64px}.header-logo[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-2)}.header-logo-img[data-astro-cid-3ef6ksr2]{height:28px;width:auto;filter:invert(1) hue-rotate(180deg) brightness(1.2)}.header-logo-text[data-astro-cid-3ef6ksr2]{font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary)}.header-nav[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-1)}.nav-link[data-astro-cid-3ef6ksr2]{font-size:var(--text-sm);font-weight:450;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:all var(--duration-fast)}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text-primary);background:var(--color-bg-elevated)}.nav-link--active[data-astro-cid-3ef6ksr2]{color:var(--color-text-primary)}.header-github[data-astro-cid-3ef6ksr2]{color:var(--color-text-muted);transition:color var(--duration-fast);padding:var(--space-2)}.header-github[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text-primary)}.header-menu-btn[data-astro-cid-3ef6ksr2]{display:none;color:var(--color-text-secondary);padding:var(--space-2)}.mobile-menu[data-astro-cid-3ef6ksr2]{display:none;padding:var(--space-4) var(--space-6) var(--space-6);border-bottom:1px solid var(--color-border);background:#0a0a0ff2}.mobile-menu[data-astro-cid-3ef6ksr2].is-open{display:block}.mobile-nav[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:var(--space-1)}.mobile-nav-link[data-astro-cid-3ef6ksr2]{font-size:var(--text-base);color:var(--color-text-secondary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);transition:all var(--duration-fast)}.mobile-nav-link[data-astro-cid-3ef6ksr2]:hover,.mobile-nav-link[data-astro-cid-3ef6ksr2].nav-link--active{color:var(--color-text-primary);background:var(--color-bg-elevated)}@media(max-width:768px){.header-nav[data-astro-cid-3ef6ksr2],.header-github[data-astro-cid-3ef6ksr2]{display:none}.header-menu-btn[data-astro-cid-3ef6ksr2]{display:block}}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border);padding:var(--space-12) 0 var(--space-8);margin-top:var(--space-16)}.footer-inner[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;gap:var(--space-12)}.footer-brand[data-astro-cid-sz7xmlte]{flex-shrink:0}.footer-logo[data-astro-cid-sz7xmlte]{font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em}.footer-copy[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.footer-links[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-16)}.footer-col[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-2)}.footer-col-title[data-astro-cid-sz7xmlte]{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);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(--duration-fast)}.footer-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-text-primary)}@media(max-width:768px){.footer-inner[data-astro-cid-sz7xmlte]{flex-direction:column;gap:var(--space-8)}.footer-links[data-astro-cid-sz7xmlte]{gap:var(--space-8);flex-wrap:wrap}}:root{--color-bg: #0a0a0f;--color-bg-elevated: #111118;--color-bg-card: #16161f;--color-bg-card-hover: #1c1c28;--color-border: #23232f;--color-border-subtle: #1a1a25;--color-text-primary: #e8e8ed;--color-text-secondary: #8888a0;--color-text-muted: #55556a;--color-accent: #5eead4;--color-accent-dim: #2dd4bf;--color-accent-glow: rgba(94, 234, 212, .12);--color-accent-glow-strong: rgba(94, 234, 212, .22);--color-tag-bg: rgba(94, 234, 212, .08);--color-tag-text: #5eead4;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", 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.15;--leading-snug: 1.35;--leading-normal: 1.6;--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;--space-32: 8rem;--max-width: 1120px;--max-width-narrow: 720px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .4), 0 0 0 1px var(--color-border);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .5), 0 0 0 1px var(--color-border);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);line-height:var(--leading-normal);min-height:100vh}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}h1,h2,h3,h4{font-weight:600;line-height:var(--leading-tight);color:var(--color-text-primary)}h1{font-size:var(--text-5xl);letter-spacing:-.03em}h2{font-size:var(--text-3xl);letter-spacing:-.02em}h3{font-size:var(--text-xl);letter-spacing:-.01em}h4{font-size:var(--text-lg)}p{color:var(--color-text-secondary);line-height:var(--leading-normal)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.container--narrow{max-width:var(--max-width-narrow)}.section{padding:var(--space-24) 0}.section--compact{padding:var(--space-16) 0}.grid{display:grid;gap:var(--space-6)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.grid--2,.grid--3{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-out);white-space:nowrap}.btn--primary{background:var(--color-accent);color:var(--color-bg)}.btn--primary:hover{background:var(--color-accent-dim);box-shadow:0 0 20px var(--color-accent-glow-strong);transform:translateY(-1px)}.btn--ghost{border:1px solid var(--color-border);color:var(--color-text-primary)}.btn--ghost:hover{border-color:var(--color-text-muted);background:var(--color-bg-elevated);transform:translateY(-1px)}.tag{display:inline-block;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-sm);background:var(--color-tag-bg);color:var(--color-tag-text)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);transition:all var(--duration-normal) var(--ease-out)}.card:hover{background:var(--color-bg-card-hover);border-color:var(--color-text-muted);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.section-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:var(--space-4)}.section-title{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.section-description{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:600px}.divider{border:none;height:1px;background:var(--color-border);margin:var(--space-16) 0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-in{animation:fadeInUp .6s var(--ease-out) both}.animate-in-delay-1{animation-delay:.1s}.animate-in-delay-2{animation-delay:.2s}.animate-in-delay-3{animation-delay:.3s}.animate-in-delay-4{animation-delay:.4s}.prose{max-width:var(--max-width-narrow);font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--color-text-secondary)}.prose h1{font-size:var(--text-4xl);margin:var(--space-12) 0 var(--space-6)}.prose h2{font-size:var(--text-2xl);margin:var(--space-10) 0 var(--space-4)}.prose h3{font-size:var(--text-xl);margin:var(--space-8) 0 var(--space-3)}.prose p{margin-bottom:var(--space-6)}.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.prose a:hover{color:var(--color-accent-dim)}.prose ul,.prose ol{padding-left:var(--space-6);margin-bottom:var(--space-6)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:var(--space-2);color:var(--color-text-secondary)}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-elevated);padding:.15em .4em;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.prose pre{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);overflow-x:auto;margin-bottom:var(--space-6)}.prose pre code{background:none;border:none;padding:0;font-size:var(--text-sm)}.prose blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-6);margin:var(--space-6) 0;color:var(--color-text-muted);font-style:italic}.prose img{border-radius:var(--radius-md);margin:var(--space-8) 0}.prose hr{border:none;height:1px;background:var(--color-border);margin:var(--space-10) 0}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.form-input,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);transition:border-color var(--duration-fast);outline:none}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.form-textarea{resize:vertical;min-height:140px}@media(max-width:768px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}.section{padding:var(--space-16) 0}.container{padding:0 var(--space-4)}}
