@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--purple-900: #2d1b4e;--purple-800: #3d2557;--purple-700: #5b21b6;--purple-600: #7c3aed;--purple-500: #8b5cf6;--purple-400: #a78bfa;--purple-300: #c4b5fd;--purple-200: #ddd6fe;--purple-100: #ede9fe;--cyan: #06b6d4;--cyan-dark: #0891b2;--green: #10b981;--green-dark: #059669;--pink: #ec4899;--pink-dark: #db2777;--orange: #f97316;--orange-dark: #ea580c;--bg-dark: #0f0a1f;--bg-darker: #0a0612;--bg-card: #1a1425;--bg-card-hover: #221931;--bg-input: #13101c;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-tertiary: #6b7280;--text-inverse: #111827;--border-default: #2d1b4e;--border-bright: #5b21b6;--border-subtle: #1f1729;--code-keyword: #c4b5fd;--code-string: #10b981;--code-number: #f97316;--code-function: #06b6d4;--code-comment: #6b7280;--code-bg: rgba(139, 92, 246, .1);--font-mono: "JetBrains Mono", "Fira Code", "Monaco", "Consolas", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-purple-sm: 0 0 10px rgba(139, 92, 246, .15);--shadow-purple-md: 0 0 20px rgba(139, 92, 246, .25);--shadow-purple-lg: 0 0 30px rgba(139, 92, 246, .35)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg-dark);color:var(--text-primary);line-height:1.6;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:var(--space-md)}h1{font-size:2.5rem;background:linear-gradient(135deg,var(--purple-500) 0%,var(--pink) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:2rem;color:var(--purple-300)}h3{font-size:1.5rem;color:var(--purple-400)}h4,h5,h6{font-size:1.25rem;color:var(--text-primary)}p{margin-bottom:var(--space-md);line-height:1.7}strong{font-weight:600;color:var(--text-primary)}a{color:var(--purple-400);text-decoration:none;transition:all .2s ease}a:hover{color:var(--purple-300);text-decoration:underline}code{font-family:var(--font-mono);font-size:.9em;background:var(--code-bg);color:var(--code-keyword);padding:.2em .4em;border-radius:var(--radius-sm);border:1px solid var(--border-default)}pre{font-family:var(--font-mono);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-lg);overflow-x:auto;margin-bottom:var(--space-lg)}pre code{background:none;padding:0;border:none;color:var(--text-primary)}.terminal{font-family:var(--font-mono);background:var(--bg-darker);border:1px solid var(--border-bright);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-purple-sm)}.terminal:before{content:"$ ";color:var(--green);font-weight:700}.card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-lg);transition:all .3s ease}.card:hover{background:var(--bg-card-hover);border-color:var(--border-bright);box-shadow:var(--shadow-purple-sm);transform:translateY(-2px)}.card-header{font-family:var(--font-mono);font-weight:700;font-size:1.25rem;margin-bottom:var(--space-sm);color:var(--purple-300)}.lab-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-xl);margin-bottom:var(--space-lg);transition:all .3s ease}.lab-card:hover{border-color:var(--purple-500);box-shadow:var(--shadow-purple-md);transform:translateY(-4px)}.badge{display:inline-block;font-family:var(--font-mono);font-size:.75rem;font-weight:500;background:#8b5cf61a;border:1px solid var(--purple-700);color:var(--purple-300);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.badge.badge-green{background:#10b9811a;border-color:var(--green-dark);color:var(--green)}.badge.badge-cyan{background:#06b6d41a;border-color:var(--cyan-dark);color:var(--cyan)}.badge.badge-pink{background:#ec48991a;border-color:var(--pink-dark);color:var(--pink)}.badge.badge-orange{background:#f973161a;border-color:var(--orange-dark);color:var(--orange)}.tech-badge{font-family:var(--font-mono);font-size:.75rem;font-weight:500;background:var(--code-bg);border:1px solid var(--border-bright);color:var(--code-keyword);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);display:inline-block;margin-right:var(--space-xs);margin-bottom:var(--space-xs)}.stat{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--purple-400);line-height:1}.stat-label{font-family:var(--font-mono);font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-top:var(--space-xs)}.btn{font-family:var(--font-mono);font-weight:600;font-size:.875rem;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.btn-primary{background:var(--purple-600);color:#fff;border-color:var(--purple-700)}.btn-primary:hover{background:var(--purple-500);box-shadow:var(--shadow-purple-sm);transform:translateY(-1px);text-decoration:none}.btn-outline{background:transparent;color:var(--purple-400);border-color:var(--purple-700)}.btn-outline:hover{background:#8b5cf61a;border-color:var(--purple-500);text-decoration:none}.btn-terminal{font-family:var(--font-mono);background:var(--bg-darker);color:var(--green);border:1px solid var(--green);position:relative;padding-left:var(--space-xl)}.btn-terminal:before{content:"$ ";position:absolute;left:var(--space-sm);color:var(--green);font-weight:700}.btn-terminal:hover{box-shadow:0 0 15px #10b9814d;text-decoration:none}.container{max-width:980px;margin:0 auto;padding:0 var(--space-lg)}.container-narrow{max-width:820px;margin:0 auto;padding:0 var(--space-lg)}hr{border:none;border-top:1px solid var(--border-subtle);margin:var(--space-xl) 0}hr.code-divider{position:relative;border-top:1px solid var(--border-default)}hr.code-divider:before{content:"// ───────────────────────────────────────";font-family:var(--font-mono);font-size:.75rem;color:var(--text-tertiary);position:absolute;top:-.6em;left:0;background:var(--bg-dark);padding-right:var(--space-sm)}ul,ol{margin-left:var(--space-lg);margin-bottom:var(--space-lg)}li{margin-bottom:var(--space-sm)}.glow-purple{box-shadow:var(--shadow-purple-md)}.glow-purple-lg{box-shadow:var(--shadow-purple-lg)}.hover-glow:hover{box-shadow:var(--shadow-purple-md);transition:box-shadow .3s ease}@media(max-width:768px){h1{font-size:2rem}h2,.stat{font-size:1.5rem}}.site-header:where(.astro-37fxchfa){background:var(--bg-card);border-bottom:1px solid var(--border-default);padding:var(--space-md) 0;position:sticky;top:0;z-index:100;backdrop-filter:blur(10px)}.site-header:where(.astro-37fxchfa) nav:where(.astro-37fxchfa){display:flex;align-items:center;gap:var(--space-lg)}.logo:where(.astro-37fxchfa){font-family:var(--font-mono);font-weight:700;font-size:1.1rem;color:var(--purple-400)!important;text-decoration:none!important;display:flex;align-items:center}.logo:where(.astro-37fxchfa):before{content:">";color:var(--green);margin-right:var(--space-xs);font-weight:700}.nav-links:where(.astro-37fxchfa){display:flex;gap:var(--space-lg);flex:1}.nav-links:where(.astro-37fxchfa) a:where(.astro-37fxchfa){font-family:var(--font-mono);font-size:.9rem;color:var(--text-secondary)!important;text-decoration:none!important;transition:color .2s ease}.nav-links:where(.astro-37fxchfa) a:where(.astro-37fxchfa):hover{color:var(--purple-300)!important}.btn-join:where(.astro-37fxchfa){font-size:.875rem;white-space:nowrap}.site-footer:where(.astro-37fxchfa){border-top:1px solid var(--border-subtle);padding:var(--space-2xl) 0;margin-top:var(--space-2xl);text-align:center}.site-footer:where(.astro-37fxchfa) p:where(.astro-37fxchfa){margin-bottom:var(--space-sm)}.site-footer:where(.astro-37fxchfa) code:where(.astro-37fxchfa){background:transparent;border:none;color:var(--text-tertiary);font-size:.9rem}@media(max-width:768px){.site-header:where(.astro-37fxchfa) nav:where(.astro-37fxchfa){flex-wrap:wrap;gap:var(--space-sm)}.nav-links:where(.astro-37fxchfa){order:3;width:100%;gap:var(--space-md);margin-top:var(--space-sm)}.btn-join:where(.astro-37fxchfa){margin-left:auto}}
