:root{--color-bg: #ffffff;--color-surface: #f4f6fb;--color-surface-raised: #eaeffa;--color-text: #111827;--color-text-muted: #6b7280;--color-accent: #2b8aff;--color-accent-hover: #1a6fd4;--color-accent-light: #e8f1ff;--color-accent-glow: rgba(43, 138, 255, .15);--color-accent-glow-strong: rgba(43, 138, 255, .3);--color-code-bg: #1e1e2e;--color-code-text: #cdd6f4;--color-border: #e2e8f0;--color-border-subtle: #f0f2f5;--node-color: var(--color-accent);--node-line-color: var(--color-border);--node-glow: var(--color-accent-glow);--content-width: 720px;--page-max-width: 1200px;--sidebar-width: 280px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}@media(prefers-color-scheme:dark){:root{--color-bg: #0b0e17;--color-surface: #141825;--color-surface-raised: #1c2235;--color-text: #e4e7ed;--color-text-muted: #8892a4;--color-accent: #4da3ff;--color-accent-hover: #6db5ff;--color-accent-light: #1a2a45;--color-accent-glow: rgba(77, 163, 255, .12);--color-accent-glow-strong: rgba(77, 163, 255, .25);--color-code-bg: #0d1017;--color-code-text: #cdd6f4;--color-border: #1f2937;--color-border-subtle: #171d2a;--node-line-color: #1f2937}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px;line-height:1.7;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:Space Grotesk,Inter,-apple-system,sans-serif;line-height:1.25;margin-top:1.5em;margin-bottom:.5em;font-weight:600;letter-spacing:-.01em}h1{font-size:2.25rem;font-weight:700;letter-spacing:-.02em}h2{font-size:1.5rem}h3{font-size:1.25rem}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover);text-decoration:underline}code,pre{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:14px}code{background:var(--color-surface);padding:.15em .4em;border-radius:4px;font-size:.9em}pre{padding:1.25em;border-radius:var(--radius-md);overflow-x:auto;margin:1.5em 0;border:1px solid var(--color-border)}pre code{background:none;padding:0;font-size:14px}p{margin-bottom:1em}img{max-width:100%;height:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes nodeGlow{0%,to{box-shadow:0 0 0 0 var(--node-glow)}50%{box-shadow:0 0 8px 3px var(--node-glow)}}@keyframes lineDraw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.animate-in{animation:fadeInUp .5s ease both}.animate-in-delay-1{animation-delay:.1s}.animate-in-delay-2{animation-delay:.2s}.animate-in-delay-3{animation-delay:.3s}.site-nav{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:0 1.5em;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-bg) 85%,transparent)}.site-nav .nav-inner{max-width:var(--page-max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}.site-nav .site-brand{display:flex;align-items:center;gap:.6em;text-decoration:none;color:var(--color-text)}.site-nav .site-brand:hover{text-decoration:none}.site-nav .site-logo{width:36px;height:36px}.site-nav .site-name{font-family:Space Grotesk,Inter,sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:-.01em}.site-nav .nav-links{display:flex;gap:2em;list-style:none}.site-nav .nav-links a{color:var(--color-text-muted);font-size:.9rem;font-weight:500;padding:.25em 0;position:relative;transition:color var(--transition-fast)}.site-nav .nav-links a:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--color-accent);border-radius:1px;transform:scaleX(0);transition:transform var(--transition-base)}.site-nav .nav-links a:hover,.site-nav .nav-links a.active{color:var(--color-accent);text-decoration:none}.site-nav .nav-links a:hover:after,.site-nav .nav-links a.active:after{transform:scaleX(1)}.page-container{max-width:var(--content-width);margin:0 auto;padding:2.5em 1.5em}.node-divider{display:flex;flex-direction:column;align-items:center;padding:2em 0;gap:0}.node-divider .node-line{width:1px;height:32px;background:var(--node-line-color);animation:lineDraw .4s ease both}.node-divider .node-dot{width:8px;height:8px;border-radius:50%;background:var(--node-color);animation:nodeGlow 3s ease-in-out infinite}.node-separator{display:flex;align-items:center;gap:0;padding:2.5em 0}.node-separator .sep-line{flex:1;height:1px;background:var(--node-line-color)}.node-separator .sep-node{width:7px;height:7px;border-radius:50%;background:var(--node-color);flex-shrink:0;animation:nodeGlow 3s ease-in-out infinite}.node-separator .sep-node:nth-child(2){animation-delay:.5s}.node-separator .sep-node:nth-child(4){animation-delay:1s}.node-separator .sep-node:nth-child(6){animation-delay:1.5s}.node-end{display:flex;align-items:center;justify-content:center;gap:12px;padding:3em 0 1em}.node-end .end-dot{width:6px;height:6px;border-radius:50%;background:var(--node-color);opacity:.5;animation:nodeGlow 3s ease-in-out infinite}.node-end .end-dot:nth-child(2){width:10px;height:10px;opacity:.8;animation-delay:.3s}.node-end .end-dot:nth-child(3){width:6px;height:6px;opacity:.5;animation-delay:.6s}.node-end .end-line{width:24px;height:1px;background:var(--node-line-color)}.site-footer{margin-top:4em;padding:2em 1.5em;border-top:2px solid var(--color-accent);font-size:.85rem;color:var(--color-text-muted);text-align:center}.site-footer p{margin-bottom:.75em}.site-footer a{color:var(--color-text-muted);transition:color var(--transition-fast)}.site-footer a:hover{color:var(--color-accent);text-decoration:none}.social-links{display:flex;justify-content:center;gap:.75em}.social-links a{color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;transition:color var(--transition-fast),transform var(--transition-fast),background-color var(--transition-fast)}.social-links a:hover{color:var(--color-accent);background-color:var(--color-accent-glow);transform:translateY(-2px);text-decoration:none}@media(max-width:600px){body{font-size:16px}h1{font-size:1.75rem}.site-nav .nav-inner{height:56px}.site-nav .nav-links{gap:1.25em}.site-nav .site-name{font-size:1rem}.site-nav .site-logo{width:28px;height:28px}}
