:root{--bg-primary: #09090b;--bg-secondary: #111113;--bg-card: #13131a;--border: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--text-primary: #e2e2e8;--text-muted: #71717a;--gradient: linear-gradient(135deg, #a855f7, #6366f1, #3b82f6);--gradient-subtle: linear-gradient(135deg, rgba(168, 85, 247, .15), rgba(59, 130, 246, .15));--gradient-border: linear-gradient(135deg, rgba(168, 85, 247, .3), rgba(59, 130, 246, .3));--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace;--font-sans: "Inter", system-ui, sans-serif;--radius: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.7;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-sans);font-weight:600;color:var(--text-primary);letter-spacing:-.02em}h1{font-size:2rem;margin-bottom:1rem}h2{font-size:1.4rem;margin-bottom:.75rem}h3{font-size:1.15rem;margin-bottom:.5rem}a{color:var(--text-primary);text-decoration:none;transition:color .2s ease}a:hover{color:#a78bfa}.site-wrapper{max-width:960px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;min-height:100vh}main{flex:1}.site-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid var(--border)}.site-title{font-family:var(--font-sans);font-size:1.1rem;font-weight:600;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none}.site-title:hover{text-decoration:none;opacity:.85}.site-nav{display:flex;gap:1.5rem;list-style:none}.site-nav a{font-size:.875rem;color:var(--text-muted);transition:color .2s ease}.site-nav a:hover,.site-nav a.active{color:var(--text-primary)}.site-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-muted)}.footer-links{display:flex;gap:1rem}.footer-links a{color:var(--text-muted);display:flex;align-items:center;gap:.35rem;transition:color .2s ease}.footer-links a:hover{color:var(--text-primary)}.footer-links svg{width:16px;height:16px;fill:currentColor}.post-card{position:relative;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;background:var(--bg-card);transition:border-color .3s ease,transform .2s ease}.post-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.post-card:before{content:"";position:absolute;inset:0;border-radius:var(--radius);background:var(--gradient-subtle);opacity:0;transition:opacity .3s ease;pointer-events:none}.post-card:hover:before{opacity:1}.post-card-title{font-size:1.15rem;font-weight:600;margin-bottom:.4rem}.post-card-title a{color:var(--text-primary)}.post-card-title a:hover{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.post-card-date{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);margin-bottom:.6rem}.post-card-description{color:var(--text-muted);font-size:.9rem;line-height:1.6}.post-list{display:flex;flex-direction:column;gap:1rem}.hero{margin-bottom:3rem}.hero-title{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.75rem}.hero-subtitle{color:var(--text-muted);font-size:1.05rem;max-width:480px}.section-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.view-all{display:inline-block;margin-top:1.5rem;font-size:.875rem;color:var(--text-muted);transition:color .2s ease}.view-all:hover{color:var(--text-primary)}.prose{line-height:1.8;color:var(--text-primary)}.prose h2{margin-top:2.5rem;margin-bottom:.75rem;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.prose h3{margin-top:1.5rem;margin-bottom:.5rem}.prose p{margin-bottom:1.25rem;color:var(--text-muted)}.prose a{color:#a78bfa;text-decoration:underline;text-decoration-color:#a78bfa4d;text-underline-offset:3px;transition:text-decoration-color .2s ease}.prose a:hover{text-decoration-color:#a78bfa}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem;color:var(--text-muted)}.prose li{margin-bottom:.35rem}.prose code{font-family:var(--font-mono);background:#a855f71a;padding:.15em .4em;border-radius:4px;font-size:.85em;color:#c4b5fd}.prose pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;overflow-x:auto;margin-bottom:1.5rem}.prose pre code{background:none;padding:0;font-size:.85rem;color:var(--text-primary)}.prose blockquote{border-left:2px solid;border-image:var(--gradient) 1;padding-left:1rem;color:var(--text-muted);margin-bottom:1.25rem;font-style:italic}.prose img{max-width:100%;border-radius:var(--radius)}.prose hr{border:none;height:1px;background:var(--border);margin:2.5rem 0}.post-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.post-header h1{font-size:2rem;margin-bottom:.5rem;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.post-meta{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.about-content p{margin-bottom:1rem;color:var(--text-muted)}.about-links{list-style:none;margin-top:1.5rem}.about-links li{margin-bottom:.5rem}.about-links li:before{content:"→ ";background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tag{font-family:var(--font-mono);font-size:.65rem;color:#a78bfa;background:#a855f714;border:1px solid rgba(168,85,247,.15);padding:.15em .6em;border-radius:9999px}.empty-state{color:var(--text-muted);font-size:1.1rem;text-align:center;padding:4rem 0}@media(max-width:600px){.site-header{flex-direction:column;gap:1rem;align-items:flex-start}.hero-title{font-size:1.75rem}}
