@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700;800&display=swap";.site-header[data-astro-cid-37fxchfa]{border-bottom:1px solid var(--color-border);position:sticky;top:0;background:#0a0e17d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:100}[data-theme=light] .site-header[data-astro-cid-37fxchfa]{background:#f8fafcd9}.nav-container[data-astro-cid-37fxchfa]{max-width:var(--max-width);margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.logo[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-text)}.logo[data-astro-cid-37fxchfa]:hover{text-decoration:none}.logo[data-astro-cid-37fxchfa]:hover .logo-text[data-astro-cid-37fxchfa]{color:var(--color-accent)}.logo-icon[data-astro-cid-37fxchfa]{width:26px;height:26px}.logo-text[data-astro-cid-37fxchfa]{font-family:var(--font-mono);font-weight:700;font-size:1.15rem;letter-spacing:-.02em;transition:color .15s}.nav-links[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:1.5rem}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{color:var(--color-text-secondary);font-size:.9rem;font-weight:500;transition:color .15s}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{color:var(--color-accent);text-decoration:none}.theme-toggle[data-astro-cid-37fxchfa]{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.25rem .5rem;cursor:pointer;font-size:1rem;line-height:1;color:var(--color-text-secondary);transition:border-color .15s,color .15s}.theme-toggle[data-astro-cid-37fxchfa]:hover{border-color:var(--color-border-hover);color:var(--color-text)}.icon-moon[data-astro-cid-37fxchfa],[data-theme=dark] .icon-sun[data-astro-cid-37fxchfa]{display:none}[data-theme=dark] .icon-moon[data-astro-cid-37fxchfa]{display:inline}.main-content[data-astro-cid-37fxchfa]{flex:1;max-width:var(--max-width);margin:0 auto;padding:var(--space-8) var(--space-6);width:100%}.site-footer[data-astro-cid-37fxchfa]{border-top:1px solid var(--color-border);margin-top:auto;background:var(--color-bg-secondary)}.footer-container[data-astro-cid-37fxchfa]{max-width:var(--max-width);margin:0 auto;padding:var(--space-12) var(--space-6);text-align:center}.footer-brand[data-astro-cid-37fxchfa]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:var(--space-3)}.footer-logo[data-astro-cid-37fxchfa]{width:20px;height:20px}.footer-name[data-astro-cid-37fxchfa]{font-family:var(--font-mono);font-weight:600;font-size:.95rem;color:var(--color-text-muted)}.footer-tagline[data-astro-cid-37fxchfa]{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-4)}.footer-links[data-astro-cid-37fxchfa]{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:var(--space-4)}.footer-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{color:var(--color-text-secondary);font-size:.85rem}.footer-sep[data-astro-cid-37fxchfa]{color:var(--color-text-muted);font-size:.75rem}.footer-copy[data-astro-cid-37fxchfa]{font-size:.8rem;color:var(--color-text-muted)}@media(max-width:640px){.nav-container[data-astro-cid-37fxchfa]{padding:.75rem 1rem}.nav-links[data-astro-cid-37fxchfa]{gap:1rem}.main-content[data-astro-cid-37fxchfa]{padding:var(--space-6) var(--space-4)}}:root{--color-bg: #0a0e17;--color-bg-secondary: #0d1221;--color-bg-elevated: #111827;--color-bg-inset: #060a12;--color-text: #e2e8f0;--color-text-secondary: #8892a4;--color-text-muted: #5a6577;--color-accent: #bd93f9;--color-accent-hover: #d4b0ff;--color-accent-dim: rgba(189, 147, 249, .15);--color-accent-glow: rgba(189, 147, 249, .08);--color-yellow: #fbbf24;--color-red: #f87171;--color-blue: #60a5fa;--color-purple: #a78bfa;--color-border: #1e293b;--color-border-hover: #334155;--color-border-accent: rgba(189, 147, 249, .3);--color-code-bg: #060a12;--color-code-text: #e2e8f0;--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", "JetBrains Mono", "Fira Code", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--max-width: 960px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}[data-theme=light]{--color-bg: #f8fafc;--color-bg-secondary: #f1f5f9;--color-bg-elevated: #ffffff;--color-bg-inset: #e2e8f0;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-accent: #059669;--color-accent-hover: #047857;--color-accent-dim: rgba(5, 150, 105, .1);--color-accent-glow: rgba(5, 150, 105, .05);--color-border: #e2e8f0;--color-border-hover: #cbd5e1;--color-border-accent: rgba(5, 150, 105, .3);--color-code-bg: #1e293b;--color-code-text: #e2e8f0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-accent-hover);text-decoration:underline}code{font-family:var(--font-mono);font-size:.875em;background:var(--color-bg-inset);padding:.15em .4em;border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-accent)}pre{background:var(--color-code-bg);color:var(--color-code-text);padding:var(--space-6);border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:.875rem;line-height:1.7;border:1px solid var(--color-border);position:relative}pre code{background:none;padding:0;font-size:inherit;border:none;color:inherit}img{max-width:100%;height:auto}.bg-grid{background-image:linear-gradient(rgba(189,147,249,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(189,147,249,.03) 1px,transparent 1px);background-size:40px 40px}[data-theme=light] .bg-grid{background-image:linear-gradient(rgba(5,150,105,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(5,150,105,.04) 1px,transparent 1px);background-size:40px 40px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes glow-pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes typing{0%{width:0}to{width:100%}}::selection{background:var(--color-accent-dim);color:var(--color-text)}
