.blog-root{--blog-bg:#0a0b0c;--blog-bg-soft:#111213;--blog-bg-card:#131415;--blog-bg-card-hover:#181a1c;--blog-border:#1f2123;--blog-border-strong:#2a2d30;--blog-text:#f2f2f0;--blog-text-dim:#a4a5a3;--blog-text-faint:#6b6c6a;--blog-accent:#5ee08a;--blog-accent-soft:rgba(94,224,138,0.12);--blog-tag-bg:rgba(255,255,255,0.04);--blog-tag-border:rgba(255,255,255,0.08);--blog-font-display:var(--next-font-fraunces),Georgia,serif;--blog-font-body:var(--next-font-inter-tight),-apple-system,sans-serif;--blog-font-mono:var(--next-font-jetbrains-mono),monospace;background:var(--blog-bg);color:var(--blog-text);font-family:var(--blog-font-body);position:relative}.blog-root:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:1;mix-blend-mode:overlay}.blog-root :focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px}.featured-post{position:relative;overflow:hidden;isolation:isolate}.featured-post:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,var(--blog-accent-soft) 0,transparent 50%);opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.16,1,.3,1);z-index:0}.featured-post:focus-within:before,.featured-post:hover:before{opacity:1}.featured-post>*{position:relative;z-index:1}.featured-post .featured-post-cover-inner{transition:transform .5s cubic-bezier(.16,1,.3,1)}.featured-post:focus-within .featured-post-cover-inner,.featured-post:hover .featured-post-cover-inner{transform:scale(1.02)}@keyframes blog-pulse{0%,to{opacity:1}50%{opacity:.4}}.blog-pulse-dot{animation:blog-pulse 2.5s ease-in-out infinite}.post-card{transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s ease}.post-card:hover{transform:translateY(-4px)}.post-card:hover .post-card-cover{border-color:var(--blog-border-strong)}.post-card:hover .post-card-title{color:var(--blog-accent)}.post-card .post-card-cover,.post-card .post-card-title{transition:border-color .3s ease,color .3s ease}@media (prefers-reduced-motion:no-preference){.post-card{opacity:0;transform:translateY(20px);animation:blog-reveal .6s cubic-bezier(.16,1,.3,1) forwards}.post-card:first-child{animation-delay:.05s}.post-card:nth-child(2){animation-delay:.12s}.post-card:nth-child(3){animation-delay:.19s}.post-card:nth-child(4){animation-delay:.26s}.post-card:nth-child(5){animation-delay:.33s}.post-card:nth-child(6),.post-card:nth-child(n+7){animation-delay:.4s}}@keyframes blog-reveal{to{opacity:1;transform:translateY(0)}}.blog-newsletter{position:relative;overflow:hidden;background:linear-gradient(135deg,#131415,#181a1c);isolation:isolate}.blog-newsletter:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,var(--blog-accent-soft) 0,transparent 55%);pointer-events:none;z-index:0}.blog-newsletter>*{position:relative;z-index:1}.blog-newsletter-form{transition:border-color .25s ease}.blog-newsletter-form:focus-within{border-color:var(--blog-accent)}.cover-fallback,.cover-img,.cover-svg{display:block;width:100%;height:100%}.cover-img{object-fit:cover}.cover-fallback{background:linear-gradient(135deg,var(--blog-bg-card) 0,var(--blog-bg-soft) 100%)}.prose-blog{max-width:1080px;margin-inline:auto;font-size:18px;line-height:1.7;color:var(--blog-text);font-family:var(--blog-font-body);font-feature-settings:"ss01"}.prose-blog p{margin-bottom:28px;color:#d8d9d6}.prose-blog>p:first-of-type:first-letter{font-family:var(--blog-font-display);font-size:4.4em;font-weight:400;float:left;line-height:.85;margin:8px 12px 0 -2px;color:var(--blog-accent);font-variation-settings:"opsz" 144}.prose-blog h2{font-family:var(--blog-font-display);font-weight:400;font-size:36px;line-height:1.15;letter-spacing:-.02em;margin-top:72px;margin-bottom:24px;font-variation-settings:"opsz" 60;color:var(--blog-text)}.prose-blog h2 em{font-style:italic;color:var(--blog-text-dim)}.prose-blog h3{font-family:var(--blog-font-display);font-weight:500;font-size:22px;line-height:1.3;letter-spacing:-.01em;margin-top:48px;margin-bottom:16px;font-variation-settings:"opsz" 32;color:var(--blog-text)}.prose-blog blockquote{margin:48px 0;padding:8px 0 8px 28px;border-left:2px solid var(--blog-accent);font-family:var(--blog-font-display);font-style:italic;font-weight:300;font-size:22px;line-height:1.45;color:var(--blog-text);font-variation-settings:"opsz" 60}.prose-blog blockquote p{margin-bottom:0;color:var(--blog-text)}.prose-blog code:not(pre code){font-family:var(--blog-font-mono);font-size:.88em;background:var(--blog-bg-card);border:1px solid var(--blog-border);border-radius:4px;padding:2px 6px;color:var(--blog-accent);font-weight:500}.prose-blog pre{margin:36px 0;background:#0e1012;border:1px solid var(--blog-border);border-radius:12px;padding:24px 28px;overflow-x:auto;font-family:var(--blog-font-mono);font-size:13.5px;line-height:1.7;position:relative}.prose-blog pre code{color:var(--blog-text-dim);font-family:var(--blog-font-mono);font-weight:400;background:transparent;border:none;padding:0}.prose-blog pre:before{position:absolute;top:10px;right:16px;font-family:var(--blog-font-mono);font-size:10px;color:var(--blog-text-faint);letter-spacing:.1em}.prose-blog pre:has(code.language-typescript):before{content:"TYPESCRIPT"}.prose-blog pre:has(code.language-javascript):before{content:"JAVASCRIPT"}.prose-blog pre:has(code.language-json):before{content:"JSON"}.prose-blog pre:has(code.language-bash):before{content:"BASH"}.prose-blog pre:has(code.language-shell):before{content:"SHELL"}.prose-blog pre:has(code.language-css):before{content:"CSS"}.prose-blog pre:has(code.language-html):before{content:"HTML"}.prose-blog pre:has(code.language-sql):before{content:"SQL"}.prose-blog pre:has(code.language-csharp):before{content:"C#"}.prose-blog ol,.prose-blog ul{margin:28px 0;padding-left:0;list-style:none}.prose-blog ol li,.prose-blog ul li{position:relative;padding-left:32px;margin-bottom:14px;color:#d8d9d6}.prose-blog ul li:before{content:"";position:absolute;left:8px;top:13px;width:6px;height:1px;background:var(--blog-accent)}.prose-blog ol{counter-reset:ol-counter}.prose-blog ol li{counter-increment:ol-counter}.prose-blog ol li:before{content:counter(ol-counter,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--blog-font-mono);font-size:12px;color:var(--blog-accent);font-weight:500;letter-spacing:.04em}.prose-blog strong{color:var(--blog-text);font-weight:600}.prose-blog em{color:var(--blog-text);font-style:italic}.prose-blog hr{border:none;height:1px;background:var(--blog-border);margin:64px auto;width:80px}.prose-blog img{border-radius:8px;border:1px solid var(--blog-border)}.prose-blog a{color:var(--blog-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(94,224,138,.4);transition:text-decoration-color .2s}.prose-blog a:hover{text-decoration-color:var(--blog-accent)}.prose-blog a:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px;border-radius:2px}.prose-blog .pull-quote{margin:56px 0;padding:0 0 0 28px;border-left:2px solid var(--blog-accent)}.prose-blog .pull-quote-text{font-family:var(--blog-font-display);font-style:italic;font-weight:300;font-size:26px;line-height:1.4;font-variation-settings:"opsz" 60;padding:0;border:none}.prose-blog .pull-quote-text,.prose-blog .pull-quote-text p{color:var(--blog-text);margin:0}.prose-blog .pull-quote-attribution{margin-top:16px;font-family:var(--blog-font-mono);font-size:12px;color:var(--blog-text-faint);letter-spacing:.04em}.prose-blog .callout{margin:48px 0;padding:24px 28px;background:linear-gradient(135deg,rgba(94,224,138,.04),rgba(94,224,138,.01));border:1px solid rgba(94,224,138,.15);border-radius:12px}.prose-blog .callout-label{font-family:var(--blog-font-mono);font-size:10px;color:var(--blog-accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;font-weight:600}.prose-blog .callout-body{font-family:var(--blog-font-display);font-style:italic;font-size:18px;line-height:1.55;color:var(--blog-text);font-variation-settings:"opsz" 32}.prose-blog .callout-body p{margin:0;color:var(--blog-text)}.prose-blog .callout-body p+p{margin-top:12px}.prose-blog .ornament-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:72px 0;color:var(--blog-text-faint)}.prose-blog .ornament-divider:after,.prose-blog .ornament-divider:before{content:"";flex:1;max-width:80px;height:1px;background:var(--blog-border)}.prose-blog .ornament-divider svg{width:20px;height:20px;color:var(--blog-accent)}.reading-progress-bar{position:fixed;top:0;left:0;height:2px;background:var(--blog-accent);z-index:100;transition:width .1s ease-out;box-shadow:0 0 8px var(--blog-accent);pointer-events:none}@media (prefers-reduced-motion:reduce){.reading-progress-bar{transition:none}}@media (max-width:640px){.prose-blog{font-size:17px;line-height:1.65}.prose-blog p{margin-bottom:22px}.prose-blog>p:first-of-type:first-letter{font-size:3.4em}.prose-blog h2{font-size:28px;margin-top:56px}.prose-blog h3{font-size:20px;margin-top:40px}.prose-blog blockquote{font-size:19px;padding-left:20px}.prose-blog pre{padding:20px 22px;font-size:13px}.prose-blog .pull-quote-text{font-size:21px}}