@layer theme,base;@layer components{:is(.blog-content,.blog-hero){--content-bg:#fff;--text-primary:#1b294b;--text-secondary:#47566b;--accent:#1d4fd7;--accent-tint:#eff6ff;--surface:#f3f4f6;--border:#e5e7eb;--warn:#b45309;--danger:#b91c1c;--success:#15803d;--text-column:100%;--media-column:100%;--motion:.2s ease-out}.blog-content{max-width:100%;color:var(--text-primary);overflow-wrap:break-word;margin-inline:auto;font-family:Inter,-apple-system,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:1.65}.dark :is(.blog-content,.blog-hero){--content-bg:#080d18;--text-primary:#e6eaf2;--text-secondary:#9aa4b8;--accent:#93c5fd;--accent-tint:#13213f;--surface:#101828;--border:#1f2a3d;--warn:#f59e0b;--danger:#f87171;--success:#4ade80}.blog-content>*{max-width:var(--text-column);margin:0 auto}.blog-content>:is(.table-scroll:has(>table tr>:nth-child(5)),.blog-figure.is-wide,.mermaid-diagram,.mermaid-tabs){max-width:var(--media-column)}.blog-content>*+*{margin-top:16px}.blog-content>h2{margin-top:48px}.blog-content>h3{margin-top:32px}.blog-content>h4{margin-top:24px}.blog-content>h2+*{margin-top:12px}.blog-content>:is(h3,h4)+*{margin-top:8px}.blog-content>:is(.table-scroll,.code-block,.callout,.key-takeaways,.blog-figure,.blog-toc,figure,hr),.blog-content>:is(.table-scroll,.code-block,.callout,.key-takeaways,.blog-figure,.blog-toc,figure)+*{margin-top:32px}.blog-content>:first-child{margin-top:0}.blog-content :is(h2,h3,h4){color:var(--text-primary);scroll-margin-top:calc(var(--site-header-offset,81px) + 16px);font-family:DM Sans,Inter,system-ui,sans-serif}.blog-content h2{letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.25}.blog-content h3{letter-spacing:-.01em;font-size:20px;font-weight:600;line-height:1.35}.blog-content h4{font-size:17px;font-weight:600;line-height:1.4}.blog-content>p:first-child,.blog-content>.blog-toc:first-child+p{font-size:19px;line-height:1.55}.blog-content :is(strong,b){color:var(--text-primary);font-weight:600}.blog-content em{font-style:italic}.blog-content a{color:var(--accent);text-underline-offset:3px;transition:text-decoration-thickness var(--motion);text-decoration-line:underline;text-decoration-thickness:1px}.blog-content a:visited{color:var(--accent)}.blog-content a:hover{text-decoration-thickness:2px}.blog-content :is(a,summary,.table-scroll,pre,button):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.blog-content mark{background:var(--accent-tint);color:inherit;border-radius:4px;padding:0 2px}.blog-content hr{border:0;border-top:1px solid var(--border);margin-block:64px}.blog-content :is(ul,ol){padding-left:24px}.blog-content ul{list-style:none}.blog-content ul>li{position:relative}.blog-content ul>li:before{content:"";background:var(--accent);border-radius:999px;width:6px;height:6px;position:absolute;top:calc(.85em - 3px);left:-16px}.blog-content ol{list-style:decimal}.blog-content ol>li::marker{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.blog-content li+li,.blog-content li>:is(ul,ol){margin-top:6px}.blog-content li>p+p{margin-top:8px}.blog-content blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);padding-left:24px;font-style:normal}.blog-content blockquote>*+*{margin-top:16px}.blog-content>.pull-quote{text-align:center;margin-block:64px}.blog-content>.pull-quote+*{margin-top:40px}.blog-content .pull-quote blockquote{color:var(--text-primary);letter-spacing:-.01em;border:0;padding:0;font-size:22px;font-weight:500;line-height:1.4}.blog-content .pull-quote blockquote:before{content:"";background:var(--accent);width:24px;height:3px;margin:0 auto 24px;display:block}.blog-content .pull-quote figcaption{color:var(--text-secondary);margin-top:12px;font-size:14px;line-height:1.5}.blog-content :is(.callout,.key-takeaways){border:1px solid var(--border);border-radius:8px;padding:16px 20px}.blog-content .callout{background:var(--accent-tint)}.blog-content .callout--warning{background:color-mix(in srgb, var(--warn) 10%, var(--content-bg))}.blog-content .callout--caution{background:color-mix(in srgb, var(--danger) 10%, var(--content-bg))}.blog-content .callout__label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 8px;font-size:12px;font-weight:600;line-height:1.5;display:flex}.blog-content .callout--warning .callout__label{color:var(--warn)}.blog-content .callout--caution .callout__label{color:var(--danger)}.blog-content :is(.callout__body,.key-takeaways)>*+*{margin-top:12px}.blog-content .key-takeaways{background:var(--surface)}.blog-content .key-takeaways .key-takeaways__title{letter-spacing:-.01em;margin:0 0 12px;font-size:18px;line-height:1.4}.blog-content img{border-radius:8px;max-width:100%;height:auto}.blog-content>p>img,.blog-content .blog-figure.is-screenshot img{border:1px solid var(--border)}.blog-content .blog-figure img{width:100%;display:block}.blog-content figcaption{color:var(--text-secondary);text-align:left;margin-top:12px;font-size:14px;line-height:1.5}.blog-content .table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.blog-content table{border-collapse:collapse;text-align:left;width:100%;font-size:14px;line-height:1.5}.blog-content th{color:var(--text-secondary);border-bottom:2px solid var(--border);vertical-align:bottom;font-weight:600}.blog-content :is(th,td){padding:10px 14px}.blog-content td{vertical-align:top}.blog-content tbody tr:nth-child(2n){background:var(--surface)}.blog-content :not(pre)>code{background:var(--surface);color:var(--text-primary);border-radius:4px;padding:.1em .35em;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:.9em}.blog-content .code-block{background:var(--surface);border-radius:8px;position:relative}.blog-content .code-block pre{border-radius:8px;margin:0;padding:20px;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:14px;line-height:1.6;overflow-x:auto;background:0 0!important}.blog-content .code-block__lang+pre{padding-top:40px}.blog-content .astro-code,.blog-content .astro-code span{color:var(--shiki-light,var(--text-primary))!important;font-style:var(--shiki-light-font-style,inherit)!important;font-weight:var(--shiki-light-font-weight,inherit)!important}.dark .blog-content .astro-code,.dark .blog-content .astro-code span{color:var(--shiki-dark,var(--text-primary))!important;font-style:var(--shiki-dark-font-style,inherit)!important;font-weight:var(--shiki-dark-font-weight,inherit)!important}.blog-content .code-block__lang,.blog-content .code-block__copy{color:var(--text-secondary);font-size:12px;line-height:1.5;position:absolute;top:10px;right:12px}.blog-content .code-block__lang{letter-spacing:.04em;transition:opacity var(--motion);font-family:JetBrains Mono,SF Mono,Consolas,monospace}.blog-content .code-block__copy{border:1px solid var(--border);background:var(--content-bg);cursor:pointer;opacity:0;transition:opacity var(--motion);border-radius:4px;padding:2px 8px;font-weight:600}.blog-content .code-block:is(:hover,:focus-within) .code-block__copy{opacity:1}.blog-content .code-block:is(:hover,:focus-within):has(.code-block__copy) .code-block__lang{opacity:0}@media (hover:none){.blog-content .code-block__copy{opacity:1}.blog-content .code-block:has(.code-block__copy) .code-block__lang{opacity:0}}.blog-hero{gap:24px;margin-bottom:32px;font-family:Inter,-apple-system,system-ui,sans-serif;display:grid}.blog-hero>.blog-toc:only-child{width:100%;max-width:var(--text-column,800px);margin-inline:auto}@media (width>=768px){.blog-hero--split{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.blog-hero--split>.blog-toc[open]{contain:size;overflow-y:auto}.blog-hero--split>.blog-toc[open]>summary{z-index:1;background:var(--content-bg);position:sticky;top:0}.blog-hero--split>.blog-toc:not([open]){align-self:start}}.blog-toc{border:1px solid var(--border);background:var(--content-bg);color:var(--text-primary);border-radius:8px;padding:0 20px}:is(.blog-toc,.blog-content [data-blog-faq] details)>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}:is(.blog-toc,.blog-content [data-blog-faq] details)>summary::-webkit-details-marker{display:none}.blog-toc>summary{min-height:52px;font-size:16px;font-weight:600}:is(.blog-toc,.blog-content) :is(.blog-toc__chevron,.blog-faq__chevron){color:var(--text-secondary);transition:transform var(--motion);flex-shrink:0}:is(.blog-toc,.blog-content) details[open]>summary :is(.blog-toc__chevron,.blog-faq__chevron),.blog-toc[open]>summary .blog-toc__chevron{transform:rotate(180deg)}.blog-toc ol{margin:0;padding:0 0 16px 20px;font-size:15px;line-height:1.45;list-style:decimal}.blog-toc li+li{margin-top:8px}.blog-toc ol>li::marker{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.blog-toc a{color:var(--text-primary);text-underline-offset:3px;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:var(--border)}.blog-toc a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.blog-toc a:is(:hover,[aria-current=true]){color:var(--accent);text-decoration-color:currentColor}.blog-toc a[aria-current=true]{font-weight:600}.blog-content [data-blog-faq]>h2{margin-bottom:16px}.blog-content [data-blog-faq] details{border-top:1px solid var(--border)}.blog-content [data-blog-faq] details:last-child{border-bottom:1px solid var(--border)}.blog-content [data-blog-faq] summary{padding-block:12px}.blog-content [data-blog-faq] summary h3{letter-spacing:0;margin:0;font-size:16px;font-weight:600;line-height:1.4}.blog-content [data-blog-faq] details>p{padding-bottom:16px}.blog-content>:is(.blog-chart,.blog-stats,.blog-steps,.blog-compare,.blog-calc)+*,.blog-content>*+:is(.blog-chart,.blog-stats,.blog-steps,.blog-compare,.blog-calc){margin-top:32px}.blog-content .blog-chart{border:1px solid var(--border);border-radius:12px;padding:20px 24px}.blog-content .blog-chart__title{color:var(--text-primary);margin:0 0 16px;font-family:DM Sans,Inter,system-ui,sans-serif;font-size:17px;font-weight:600;line-height:1.35}.blog-content .blog-chart__switch{background:var(--surface);border:0;border-radius:999px;flex-wrap:wrap;gap:4px;margin:0 0 16px;padding:4px;display:inline-flex}.blog-content .blog-chart__switch label{cursor:pointer;position:relative}.blog-content .blog-chart__switch input{opacity:0;cursor:pointer;position:absolute;inset:0}.blog-content .blog-chart__switch span{color:var(--text-secondary);border-radius:999px;padding:4px 14px;font-size:13px;font-weight:600;display:inline-block}.blog-content .blog-chart__switch input:checked+span{background:var(--content-bg);color:var(--accent);box-shadow:0 1px 2px #0f172a1f}.blog-content .blog-chart__switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}@supports selector(:has(*)){.blog-content .blog-chart--switch .blog-chart__bars{display:none}.blog-content .blog-chart--switch:has(input[data-series-index="0"]:checked) .blog-chart__bars[data-series="0"],.blog-content .blog-chart--switch:has(input[data-series-index="1"]:checked) .blog-chart__bars[data-series="1"],.blog-content .blog-chart--switch:has(input[data-series-index="2"]:checked) .blog-chart__bars[data-series="2"],.blog-content .blog-chart--switch:has(input[data-series-index="3"]:checked) .blog-chart__bars[data-series="3"]{display:grid}}.blog-content .blog-chart__bars{gap:10px;margin:0;padding:0;list-style:none;display:grid}.blog-content .blog-chart__bars+.blog-chart__bars{margin-top:16px}.blog-content .blog-chart__row{border-radius:6px;grid-template-columns:minmax(96px,26%) minmax(0,1fr) auto;align-items:center;gap:6px 12px;margin:0;padding:2px 0;font-size:14px;line-height:1.4;display:grid}.blog-content .blog-chart__row:before{content:none}.blog-content .blog-chart__label{color:var(--text-primary)}.blog-content .blog-chart__track{background:var(--surface);border-radius:999px;height:14px;overflow:hidden}.blog-content .blog-chart__fill{border-radius:inherit;background:color-mix(in srgb, var(--accent) 55%, transparent);height:100%;transition:background var(--motion);display:block}.blog-content .blog-chart__row.is-highlight .blog-chart__fill,.blog-content .blog-chart__row:is(:hover,:focus-visible) .blog-chart__fill{background:var(--accent)}.blog-content .blog-chart__value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.blog-content .blog-chart__note{color:var(--text-secondary);grid-column:2/-1;font-size:13px}.blog-content .blog-chart__row[tabindex] .blog-chart__note{display:none}.blog-content .blog-chart__row[tabindex]:is(:hover,:focus-visible) .blog-chart__note{display:block}.blog-content .blog-chart__row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.blog-content .blog-chart__source{color:var(--text-secondary);margin:16px 0 0;font-size:13px}.blog-content .blog-stats{grid-template-columns:repeat(var(--stat-count), minmax(0, 1fr));gap:12px;margin-inline:auto;display:grid}.blog-content .blog-stats__item{border:1px solid var(--border);border-radius:12px;flex-direction:column;padding:16px 20px;display:flex}.blog-content .blog-stats__value{color:var(--accent);letter-spacing:-.02em;order:-1;margin:0;font-family:DM Sans,Inter,system-ui,sans-serif;font-size:32px;font-weight:700;line-height:1.1}.blog-content .blog-stats__label{color:var(--text-primary);margin-top:6px;font-size:14px;line-height:1.4}.blog-content .blog-stats__source{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.blog-content .blog-steps__title{margin-bottom:12px;font-family:DM Sans,Inter,system-ui,sans-serif;font-size:17px;font-weight:600}.blog-content .blog-steps>ol{counter-reset:blog-step;padding-left:0;list-style:none}.blog-content .blog-steps>ol>li{counter-increment:blog-step;margin:0;padding:0 0 20px 48px;position:relative}.blog-content .blog-steps>ol>li::marker{content:none}.blog-content .blog-steps>ol>li:before{content:counter(blog-step);background:var(--accent-tint);width:30px;height:30px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;font-size:14px;font-weight:700;display:grid;position:absolute;top:0;left:0}.blog-content .blog-steps>ol>li:not(:last-child):after{content:"";background:var(--border);width:2px;position:absolute;top:34px;bottom:4px;left:14px}.blog-content .blog-steps>ol>li:last-child{padding-bottom:0}.blog-content .blog-steps>ol>li+li{margin-top:0}.blog-content .blog-steps>ol>li>strong:first-child{color:var(--text-primary);display:block}.blog-content .blog-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.blog-content .blog-compare__col{border:1px solid var(--border);border-radius:12px;padding:16px 20px}.blog-content .blog-compare__col.is-recommended{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--accent-tint)}.blog-content .blog-compare__title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-family:DM Sans,Inter,system-ui,sans-serif;font-size:16px;font-weight:700;display:flex}.blog-content .blog-compare__badge{background:var(--accent);color:#fff;border-radius:999px;padding:2px 8px;font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:600}.blog-content .blog-compare ul{font-size:15px}.blog-content .blog-calc{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:20px 24px}.blog-content .blog-calc__title{margin-bottom:16px;font-family:DM Sans,Inter,system-ui,sans-serif;font-size:17px;font-weight:600}.blog-content .blog-calc__body{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center;gap:24px;display:grid}.blog-content .blog-calc__inputs{gap:16px;display:grid}.blog-content .blog-calc__field label{justify-content:space-between;gap:12px;margin-bottom:6px;font-size:14px;display:flex}.blog-content .blog-calc__value{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.blog-content .blog-calc__field input[type=range]{width:100%;accent-color:var(--accent)}.blog-content .blog-calc__results{gap:12px;display:grid}.blog-content .blog-calc__result{background:var(--content-bg);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.blog-content .blog-calc__result-label{color:var(--text-secondary);font-size:13px;display:block}.blog-content .blog-calc__result-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-family:DM Sans,Inter,system-ui,sans-serif;font-size:26px;font-weight:700;display:block}.blog-content .blog-calc__note{color:var(--text-secondary);margin-top:16px;font-size:13px}@media (width<=767px){.blog-content .blog-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-content .blog-compare,.blog-content .blog-calc__body{grid-template-columns:minmax(0,1fr)}.blog-content .blog-chart{padding:16px}.blog-content .blog-chart__row{grid-template-columns:minmax(0,1fr) auto}.blog-content .blog-chart__track{grid-area:2/1/auto/-1}.blog-content .blog-chart__note{grid-column:1/-1}.blog-content{font-size:16px}.blog-content h2{font-size:22px}.blog-content h3{font-size:18px}.blog-content h4{font-size:16px}.blog-content>p:first-child,.blog-content>.blog-toc:first-child+p{font-size:17px}.blog-content .code-block pre{font-size:13px}.blog-content .pull-quote{text-align:left}.blog-content .pull-quote blockquote{font-size:19px}.blog-content .pull-quote blockquote:before{margin-left:0}}@media (prefers-reduced-motion:reduce){.blog-content *,.blog-content :before{transition:none!important;animation:none!important}}}@layer utilities;.mermaid-diagram{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:40px auto;padding:1.5rem;display:block;overflow-x:auto}.mermaid-diagram svg{height:auto;display:inline-block}.mermaid-diagram .nodeLabel,.mermaid-diagram .nodeLabel p{color:#1b294b!important;font-size:15px!important;font-weight:500!important}.mermaid-diagram .cluster-label,.mermaid-diagram .cluster-label p{color:#1b294b!important;font-size:15px!important;font-weight:700!important}.mermaid-diagram .edgeLabel,.mermaid-diagram .edgeLabel p{color:#1b294b!important;background-color:#fff!important;font-size:13px!important;font-weight:500!important}.mermaid-diagram text.actor,.mermaid-diagram text.actor-box{font-size:15px!important;font-weight:600!important}.mermaid-diagram text.messageText,.mermaid-diagram text.noteText,.mermaid-diagram text.loopText,.mermaid-diagram text.labelText{font-size:14px!important}.mermaid-tabs{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:40px auto;overflow:hidden}.mermaid-tab-bar{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;display:flex}.mermaid-tab-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:.75rem 1.25rem;font-size:14px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.mermaid-tab-btn:hover{color:#0f172a;background:#f1f5f9}.mermaid-tab-btn.active{color:#0f172a;background:#fff;border-bottom-color:#1d4fd7}.mermaid-tab-btn:focus-visible{outline-offset:-2px;outline:2px solid #1d4fd7}.mermaid-tab-panel{display:none}.mermaid-tab-panel.active{display:block}.mermaid-tabs .mermaid-diagram{border:none;border-radius:0;margin:0}
