.blog-content{font-family:Inter,system-ui,sans-serif;font-size:1.0625rem;line-height:1.75;color:#a1a1aa}.blog-content h2{font-size:1.5rem;font-weight:600;color:#fafafa;margin-top:2.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #1f1f23;scroll-margin-top:6rem;letter-spacing:-.01em}.blog-content h3{font-size:1.25rem;font-weight:600;color:#fafafa;margin-top:2rem;margin-bottom:.75rem;scroll-margin-top:6rem;letter-spacing:-.01em}.blog-content h4{font-size:1.125rem;font-weight:600;color:#e4e4e7;margin-top:1.5rem;margin-bottom:.5rem;scroll-margin-top:6rem}.blog-content p{margin-bottom:1.25rem;color:#a1a1aa}.blog-content a{color:#fafafa;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#52525b;transition:text-decoration-color .2s}.blog-content a:hover{text-decoration-color:#a1a1aa}.blog-content strong{color:#fafafa;font-weight:600}.blog-content code:not(pre code){font-family:JetBrains Mono,monospace;font-size:.875em;padding:.2em .4em;background:#1a1a1a;border:1px solid #27272a;border-radius:4px;color:#e4e4e7}.blog-content pre,.blog-content pre.astro-code{position:relative!important;font-family:JetBrains Mono,monospace!important;font-size:.875rem!important;line-height:1.7!important;background:#0c0c0c!important;border:1px solid #27272a!important;border-radius:8px!important;padding:2.5rem 1.5rem 1.25rem!important;margin:1.5rem 0!important;overflow-x:auto!important}.blog-content pre code,.blog-content pre.astro-code code{background:none!important;border:none!important;padding:0!important;font-size:inherit!important}.blog-content pre:before,.blog-content pre.astro-code:before{content:attr(data-language);position:absolute;top:0;left:0;right:0;padding:.5rem 1rem;background:#111;border-bottom:1px solid #27272a;border-radius:8px 8px 0 0;font-size:.75rem;font-family:JetBrains Mono,monospace;color:#71717a;text-transform:uppercase;letter-spacing:.05em}.code-copy-btn{position:absolute!important;top:.35rem!important;right:.5rem!important;padding:.35rem .6rem;background:transparent;border:1px solid transparent;border-radius:4px;color:#71717a;font-size:.7rem;font-family:JetBrains Mono,monospace;cursor:pointer;transition:all .2s;display:flex!important;align-items:center;gap:.35rem;z-index:10}.code-copy-btn:hover{background:#1a1a1a;border-color:#27272a;color:#a1a1aa}.code-copy-btn.copied{color:#22c55e}.code-copy-btn svg{width:14px;height:14px}.blog-content blockquote{margin:1.5rem 0;padding:1rem 1.25rem;background:#111;border-left:3px solid #8b5cf6;border-radius:0 6px 6px 0;color:#a1a1aa;font-style:normal}.blog-content blockquote p{margin-bottom:0}.blog-content ul,.blog-content ol{margin:1.25rem 0;padding-left:1.5rem;color:#a1a1aa}.blog-content li{margin-bottom:.5rem;padding-left:.25rem}.blog-content li::marker{color:#71717a}.blog-content ul li{list-style-type:disc}.blog-content ol li{list-style-type:decimal}.blog-content li ul,.blog-content li ol{margin-top:.5rem;margin-bottom:.5rem}.blog-content img{border-radius:8px;border:1px solid #27272a;margin:1.5rem 0;max-width:100%;height:auto}.blog-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9375rem}.blog-content th{background:#111;border:1px solid #27272a;padding:.75rem 1rem;text-align:left;color:#e4e4e7;font-weight:600;font-size:.875rem}.blog-content td{border:1px solid #27272a;padding:.75rem 1rem;color:#a1a1aa}.blog-content tr:hover td{background:#111}.blog-content hr{border:none;border-top:1px solid #27272a;margin:2.5rem 0}.blog-content h2+p,.blog-content h3+p{color:#d4d4d8}.blog-content .callout,.blog-content .note{background:#111;border:1px solid #27272a;border-radius:8px;padding:1rem 1.25rem;margin:1.5rem 0}.blog-content .callout-title,.blog-content .note-title{font-weight:600;color:#fafafa;margin-bottom:.5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.blog-content .video-container,.blog-content .embed-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:1.5rem 0;border-radius:8px;border:1px solid #27272a}.blog-content .video-container iframe,.blog-content .embed-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.blog-content pre .line.diff.add{background-color:#22c55e26}.blog-content pre .line.diff.add:before{content:"+";position:absolute;left:.5rem;color:#22c55e}.blog-content pre .line.diff.remove{background-color:#ef444426}.blog-content pre .line.diff.remove:before{content:"-";position:absolute;left:.5rem;color:#ef4444}.blog-content pre .line.highlighted{background-color:#8b5cf626;border-left:2px solid #8b5cf6;margin-left:-2px}.blog-content pre.has-focus .line:not(.focused){opacity:.4;filter:blur(.5px);transition:opacity .2s,filter .2s}.blog-content pre.has-focus:hover .line:not(.focused){opacity:.7;filter:none}.blog-content pre .line.focused{background-color:#8b5cf61a}.blog-content pre[data-line-numbers]{counter-reset:line}.blog-content pre[data-line-numbers] .line:before{counter-increment:line;content:counter(line);display:inline-block;width:2rem;margin-right:1rem;text-align:right;color:#71717a;font-size:.8em}.ai-fab-btn{position:fixed;z-index:50;bottom:24px;right:24px;width:62px;height:62px;border-radius:50%;background:#0a0a0ae0;border:1px solid rgba(139,92,246,.25);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 0 30px #8b5cf633,0 0 60px #8b5cf614,0 0 100px #8b5cf60a,inset 0 0 20px #8b5cf60f,0 8px 32px #00000080;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;animation:aiFabFloat 4s ease-in-out infinite,aiFabGlowPulse 3s ease-in-out infinite;transition:border-color .3s,box-shadow .3s,transform .3s}.ai-fab-btn:hover{border-color:#8b5cf699;box-shadow:0 0 40px #8b5cf659,0 0 80px #8b5cf626,0 0 120px #8b5cf60f,inset 0 0 30px #8b5cf61a,0 8px 32px #00000080;animation-play-state:paused;transform:translateY(-3px) scale(1.05)}.ai-fab-glow{position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0%,rgba(139,92,246,.15) 25%,transparent 50%,rgba(167,139,250,.1) 75%,transparent 100%);animation:aiFabRingSpin 8s linear infinite;pointer-events:none}.ai-fab-svg{width:36px;height:36px;position:relative;z-index:1}@keyframes aiFabFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes aiFabGlowPulse{0%,to{box-shadow:0 0 30px #8b5cf633,0 0 60px #8b5cf614,0 0 100px #8b5cf60a,inset 0 0 20px #8b5cf60f,0 8px 32px #00000080}50%{box-shadow:0 0 36px #8b5cf647,0 0 70px #8b5cf61f,0 0 110px #8b5cf60f,inset 0 0 24px #8b5cf614,0 8px 32px #00000080}}@keyframes aiFabRingSpin{to{transform:rotate(360deg)}}.ai-fab-bubbles{position:fixed;z-index:49;bottom:96px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.ai-fab-bubble{pointer-events:auto;max-width:220px;padding:8px 14px;font-size:12px;line-height:1.4;color:#e4e4e7;background:#111111eb;border:1px solid rgba(139,92,246,.2);border-radius:12px 12px 4px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px #0000004d,0 0 16px #8b5cf614;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s;animation:aiBubbleIn .4s ease-out both;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-fab-bubble:hover{border-color:#8b5cf680;box-shadow:0 4px 20px #0000004d,0 0 24px #8b5cf626;transform:translate(-4px);color:#fafafa}@keyframes aiBubbleIn{0%{opacity:0;transform:translateY(8px) translate(10px) scale(.9)}to{opacity:1;transform:translateY(0) translate(0) scale(1)}}@keyframes aiBubbleOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.95)}}
