.blog-scope{--blog-max:46rem}.blog-prose{color:var(--fg);letter-spacing:-.003em;font-size:1.075rem;line-height:1.75}.blog-prose>*+*{margin-top:1.15rem}.blog-prose h2{letter-spacing:-.02em;color:var(--fg);margin-top:2.6rem;margin-bottom:.2rem;scroll-margin-top:6rem;font-size:clamp(1.4rem,1.1rem + 1vw,1.85rem);font-weight:680;line-height:1.25}.blog-prose h3{letter-spacing:-.015em;color:var(--fg);margin-top:1.9rem;scroll-margin-top:6rem;font-size:clamp(1.15rem,1rem + .5vw,1.35rem);font-weight:650}.blog-prose p,.blog-prose li{color:color-mix(in srgb, var(--fg) 88%, transparent)}.blog-prose a{color:var(--color-primary-600);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--color-primary-600) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--color-primary-600) 45%, transparent);font-weight:500}.blog-prose a:hover{-webkit-text-decoration-color:var(--color-primary-600);text-decoration-color:var(--color-primary-600)}.blog-prose strong{color:var(--fg);font-weight:660}.blog-prose ul,.blog-prose ol{padding-left:1.35rem}.blog-prose ul{list-style:none}.blog-prose ul>li{padding-left:1.15rem;position:relative}.blog-prose ul>li:before{content:"";background:var(--color-accent-teal-solid);border-radius:2px;width:.42rem;height:.42rem;position:absolute;top:.72em;left:0;transform:rotate(45deg)}.blog-prose ol{list-style:decimal}.blog-prose ol>li{padding-left:.3rem}.blog-prose li+li{margin-top:.4rem}.blog-prose blockquote{border-left:3px solid var(--color-primary-500);color:color-mix(in srgb, var(--fg) 82%, transparent);background:color-mix(in srgb, var(--color-primary-600) 5%, transparent);border-radius:0 8px 8px 0;margin-left:0;padding:.35rem 0 .35rem 1.15rem;font-style:normal}.blog-prose blockquote p{margin:0}.blog-prose code{font-family:var(--font-geist-mono,ui-monospace, monospace);background:color-mix(in srgb, var(--fg) 8%, transparent);border-radius:5px;padding:.12em .4em;font-size:.9em}.blog-prose pre{background:color-mix(in srgb, var(--fg) 6%, transparent);border:1px solid var(--border);border-radius:12px;padding:1rem 1.15rem;font-size:.9rem;overflow-x:auto}.blog-prose pre code{background:0 0;padding:0}.blog-prose img,.blog-prose svg{max-width:100%;height:auto}.blog-prose table{border-collapse:collapse;width:100%;font-size:.96rem;display:block;overflow-x:auto}.blog-prose th,.blog-prose td{border:1px solid var(--border);text-align:left;padding:.55rem .8rem}.blog-prose th{background:color-mix(in srgb, var(--color-primary-600) 8%, transparent);font-weight:620}.blog-prose h2+p,.blog-prose h3+p{margin-top:.7rem}.blog-figure{border:1px solid var(--border);background:color-mix(in srgb, var(--color-primary-600) 4%, var(--card));border-radius:16px;margin:1.9rem 0;overflow:hidden}.blog-figure figcaption{color:var(--color-muted);border-top:1px solid var(--border);text-align:center;padding:.6rem 1rem;font-size:.85rem}.blog-mermaid{border:1px solid var(--border);background:radial-gradient(120% 120% at 0% 0%, color-mix(in srgb, var(--color-primary-600) 7%, transparent), transparent 60%), var(--card);border-radius:16px;margin:1.9rem 0;padding:1.25rem;overflow-x:auto}.blog-mermaid .mermaid{background:0 0;border:none;justify-content:center;min-height:40px;margin:0;padding:0;display:flex}.blog-mermaid .mermaid svg{max-width:100%;height:auto}.blog-mermaid[data-state=pending] .mermaid{color:var(--color-muted);font-family:var(--font-geist-mono,monospace);white-space:pre;opacity:.6;font-size:.8rem}@keyframes blog-core-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes blog-ring-expand{0%{opacity:.7;transform:scale(.4)}80%{opacity:.08}to{opacity:0;transform:scale(1.7)}}@keyframes blog-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blog-orbit-rev{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes blog-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes blog-flow-in{0%{offset-distance:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes blog-blink{0%,to{opacity:.25}50%{opacity:1}}@keyframes blog-bar{0%{transform:scaleY(.3)}50%{transform:scaleY(1)}to{transform:scaleY(.3)}}@keyframes blog-dash{to{stroke-dashoffset:-240px}}@keyframes blog-check-pop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.blog-hero-svg .b-core{transform-origin:50%;animation:3.4s ease-in-out infinite blog-core-pulse}.blog-hero-svg .b-ring{transform-origin:50%;transform-box:fill-box;animation:3.4s ease-out infinite blog-ring-expand}.blog-hero-svg .b-ring2{animation-delay:1.1s}.blog-hero-svg .b-ring3{animation-delay:2.2s}.blog-hero-svg .b-orbit{transform-origin:50%;transform-box:fill-box;animation:18s linear infinite blog-orbit}.blog-hero-svg .b-orbit-rev{transform-origin:50%;transform-box:fill-box;animation:26s linear infinite blog-orbit-rev}.blog-hero-svg .b-float{transform-box:fill-box;animation:4s ease-in-out infinite blog-float}.blog-hero-svg .b-flow{animation:3.2s linear infinite blog-flow-in}.blog-hero-svg .b-flow-2{animation-delay:1.05s}.blog-hero-svg .b-flow-3{animation-delay:2.1s}.blog-hero-svg .b-blink{animation:2s ease-in-out infinite blog-blink}.blog-hero-svg .b-bar{transform-origin:bottom;transform-box:fill-box;animation:2.6s ease-in-out infinite blog-bar}.blog-hero-svg .b-dash{stroke-dasharray:10 8;animation:6s linear infinite blog-dash}.blog-hero-svg .b-check{transform-box:fill-box;transform-origin:50%;animation:.6s ease-out both blog-check-pop}@media (prefers-reduced-motion:reduce){.blog-hero-svg *{animation:none!important}}
