:root{--blog-bg:#fff;--blog-surface:#f8fafc;--blog-fg:#0f172a;--blog-muted:#475569;--blog-border:#e2e8f0;--blog-accent:#034087;--blog-accent-fg:#fff;--blog-link:#034087;--blog-font-body:"Roboto", "Source Sans 3", system-ui, sans-serif;--blog-font-heading:"Bebas Neue", "Roboto", sans-serif;--blog-font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--blog-font-size:18px;--blog-line-height:1.75;--blog-heading-weight:400;--blog-heading-letter-spacing:.01em;--blog-heading-transform:none;--blog-radius:16px;--blog-button-radius:999px;--blog-page-width:1200px;--blog-content-width:740px;--rc-blue:#1a479f;--rc-yellow:#fbad03;--rc-slate:#012354}html{scroll-padding-top:110px}:root .ob-container{padding-inline:24px}:root .ob-hero{isolation:isolate;color:#fff;margin-bottom:8px;padding:160px 0 72px;position:relative}:root .ob-hero:before{content:"";background:radial-gradient(28rem 28rem at 85% 0%, #1a479f2e, transparent 70%), radial-gradient(16rem 16rem at 15% 100%, #fbad0314, transparent 70%), var(--rc-slate);z-index:-1;position:absolute;inset:0 calc(50% - 50vw)}:root .ob-hero h1{color:#fff;font-family:var(--blog-font-heading);font-size:clamp(3.25rem,9vw,6rem);font-weight:400;line-height:1}:root .ob-hero h1:after{content:""}:root .ob-hero p{color:#cbd5e1;max-width:42rem;margin-top:20px;font-size:1.125rem}:root .ob-eyebrow{color:#fbad03;letter-spacing:.3em;text-transform:uppercase;background:0 0;border:0;margin-bottom:16px;padding:0;font-size:14px;font-weight:700;display:inline-block}:root .ob-hero .ob-back{color:#cbd5e1!important}:root .ob-toolbar{margin:40px 0 32px}:root .ob-search input{background:#f1f5f9;border-color:#0000;border-radius:999px}:root .ob-search input:focus{border-color:var(--rc-blue);background:#fff;box-shadow:0 0 0 3px #1a479f26}:root .ob-chip{letter-spacing:.08em;text-transform:uppercase;color:#334155;background:#f1f5f9;border:0;font-size:12px;font-weight:700}:root .ob-chip:hover{background:#e2e8f0}:root .ob-chip[aria-pressed=true]{color:#fff;background:#034087}:root .ob-grid{gap:28px}:root .ob-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;transition:transform .3s,box-shadow .3s;box-shadow:0 1px 2px #0f172a0d}:root .ob-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -16px #0f172a40}:root .ob-card-media{background:#e2e8f0}:root .ob-card-body{padding:24px}:root .ob-card h2,:root .ob-card h3{font-size:1.75rem;line-height:1.05}:root .ob-card:hover h2,:root .ob-card:hover h3{color:#034087}:root .ob-card-featured h2{font-size:clamp(2.25rem,4vw,3.25rem);line-height:1}:root .ob .ob-tag{color:#034087;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}:root .ob-meta{color:#64748b;font-size:13px}:root .ob-btn{background:#034087;border-radius:999px;font-weight:700;transition:background .2s,transform .2s}:root .ob-btn:hover{filter:none;background:#1a479f}:root .ob-btn-ghost{background:#fff;border:2px solid #0f172a;color:#0f172a!important}:root .ob-btn-ghost:hover{background:#0f172a;color:#fff!important}:root .ob-post-header{padding-top:150px}:root .ob-post-header h1{font-size:clamp(2.75rem,6vw,4.5rem);line-height:1}:root .ob-lede{color:#475569}:root .ob-avatar{object-fit:contain;background:#fff;border:1px solid #e2e8f0;padding:4px}:root .ob-prose h2{margin-top:2.2em;font-size:2.25rem;line-height:1.1}:root .ob-prose h3{font-family:var(--blog-font-body);letter-spacing:0;font-size:1.2rem;font-weight:700}:root .ob-prose strong{font-weight:700}:root .ob-prose a{font-weight:600}:root .ob-prose hr{background:linear-gradient(90deg,#0000,#1a479f66,#0000)}:root .ob-prose .ob-callout-tip,:root .ob-prose .ob-callout-note{--c:#034087;background:#eef3fb;border-color:#0000 #0000 #0000 #1a479f}:root .ob-prose .ob-callout-important{--c:#fbad03;background:var(--rc-slate);color:#e2e8f0;border:0;border-left:4px solid var(--rc-yellow)}:root .ob-prose .ob-callout-important .ob-callout-title{color:var(--rc-yellow)}:root .ob-prose .ob-callout-important strong{color:#fff}:root .ob-prose th{background:var(--rc-slate);color:#fff}:root .ob-toc a[data-active]{color:#034087;border-left-color:#1a479f}:root .ob-cta-box{background:var(--rc-slate);color:#fff;border:0;border-radius:24px;position:relative;overflow:hidden}:root .ob-cta-box:before{content:"";background:linear-gradient(90deg, var(--rc-blue), var(--rc-yellow));height:4px;position:absolute;inset:0 0 auto}:root .ob-cta-box h2{color:#fff;font-size:clamp(1.75rem,3.5vw,2.5rem)}:root .ob-cta-box p{color:#cbd5e1}:root .ob-cta-box .ob-btn{color:#012354;white-space:nowrap;background:#fbad03;box-shadow:0 10px 25px -8px #fbad0373}:root .ob-cta-box .ob-btn:hover{background:#fdc61a;transform:scale(1.04)}:root .ob-related{margin-top:80px}:root .ob-related>h2{font-size:clamp(2.25rem,4vw,3rem)}:root .ob-pager a:hover{border-color:var(--rc-blue)}:root #rc-footer{margin-top:96px}@layer ob-base{html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--blog-bg);color:var(--blog-fg);font-family:var(--blog-font-body);-webkit-font-smoothing:antialiased;margin:0}}:root,[data-theme]{--ob-soft:color-mix(in srgb, var(--blog-accent) 10%, transparent);--ob-softer:color-mix(in srgb, var(--blog-accent) 5%, transparent);--ob-code-bg:color-mix(in srgb, var(--blog-fg) 5%, var(--blog-bg));--ob-shadow:0 1px 2px color-mix(in srgb, var(--blog-fg) 6%, transparent), 0 8px 24px -12px color-mix(in srgb, var(--blog-fg) 18%, transparent);--astro-code-foreground:var(--blog-fg);--astro-code-background:var(--ob-code-bg);--astro-code-token-keyword:color-mix(in srgb, var(--blog-accent) 85%, var(--blog-fg));--astro-code-token-function:color-mix(in srgb, var(--blog-accent) 60%, #a855f7);--astro-code-token-string:color-mix(in srgb, #16a34a 80%, var(--blog-fg));--astro-code-token-string-expression:color-mix(in srgb, #16a34a 80%, var(--blog-fg));--astro-code-token-constant:color-mix(in srgb, #d97706 85%, var(--blog-fg));--astro-code-token-parameter:var(--blog-fg);--astro-code-token-comment:var(--blog-muted);--astro-code-token-punctuation:var(--blog-muted);--astro-code-token-link:var(--blog-link)}.ob,.ob *,.ob :before,.ob :after{box-sizing:border-box}.ob{font-family:var(--blog-font-body);color:var(--blog-fg);font-size:16px;line-height:1.5}.ob a{color:inherit}.ob[hidden],.ob [hidden]{display:none!important}.ob img{max-width:100%;height:auto}.ob-container{width:100%;max-width:var(--blog-page-width);margin:0 auto;padding:0 clamp(16px,4vw,32px)}.ob-narrow{max-width:calc(var(--blog-content-width) + 2 * clamp(16px, 4vw, 32px))}.ob-sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ob-skip:focus{z-index:100;clip:auto;background:var(--blog-bg);width:auto;height:auto;color:var(--blog-fg);border-radius:var(--blog-button-radius);box-shadow:var(--ob-shadow);padding:8px 14px;position:fixed;top:8px;left:8px}.ob-heading{font-family:var(--blog-font-heading);font-weight:var(--blog-heading-weight);letter-spacing:var(--blog-heading-letter-spacing);text-transform:var(--blog-heading-transform);color:var(--blog-fg);margin:0;line-height:1.15}.ob-btn{border-radius:var(--blog-button-radius);background:var(--blog-accent);font:600 15px/1.2 var(--blog-font-body);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;transition:filter .15s,transform .15s;display:inline-flex;color:var(--blog-accent-fg)!important}.ob-btn:hover{filter:brightness(1.08)}.ob-btn-ghost{border-color:var(--blog-border);background:0 0;color:var(--blog-fg)!important}.ob-btn-ghost:hover{background:var(--blog-surface);filter:none}.ob-icon-btn{border-radius:var(--blog-button-radius);border:1px solid var(--blog-border);width:38px;height:38px;color:var(--blog-muted);cursor:pointer;background:0 0;place-items:center;text-decoration:none;display:inline-grid}.ob-icon-btn:hover{color:var(--blog-fg);background:var(--blog-surface)}.ob-icon-btn svg{width:18px;height:18px}.ob-header{z-index:40;background:color-mix(in srgb, var(--blog-header-bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);color:var(--blog-header-fg);border-bottom:1px solid var(--blog-border);position:sticky;top:0}.ob-header-inner{align-items:center;gap:24px;min-height:68px;display:flex}.ob-brand{font:700 18px/1 var(--blog-font-heading);align-items:center;gap:10px;text-decoration:none;display:inline-flex;color:var(--blog-header-fg)!important}.ob-nav{gap:4px;margin-left:auto;display:flex}.ob-nav a{border-radius:var(--blog-button-radius);color:color-mix(in srgb, var(--blog-header-fg) 75%, transparent);padding:8px 12px;font-size:15px;font-weight:500;text-decoration:none}.ob-nav a:hover,.ob-nav a[aria-current]{color:var(--blog-header-fg);background:color-mix(in srgb, var(--blog-header-fg) 7%, transparent)}.ob-header-actions{align-items:center;gap:8px;display:flex}.ob-menu-btn{display:none}@media (width<=820px){.ob-nav{display:none}.ob-header-actions{margin-left:auto}.ob-header .ob-btn{display:none}.ob-menu-btn{display:inline-grid}.ob-header[data-open] .ob-nav{background:var(--blog-header-bg);border-bottom:1px solid var(--blog-border);box-shadow:var(--ob-shadow);flex-direction:column;padding:12px clamp(16px,4vw,32px) 20px;display:flex;position:absolute;top:100%;left:0;right:0}.ob-header[data-open] .ob-nav .ob-btn{justify-content:center;margin-top:8px;display:inline-flex}}.ob-nav .ob-btn{display:none}.ob-footer{background:var(--blog-footer-bg);color:var(--blog-footer-fg);border-top:1px solid var(--blog-border);margin-top:96px;font-size:14px}.ob-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-block:28px;display:flex}.ob-footer nav{flex-wrap:wrap;gap:18px;display:flex}.ob-footer a{text-decoration:none}.ob-footer a:hover{color:var(--blog-fg)}.ob-hero{padding:clamp(40px,8vw,88px) 0 24px}.ob-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--blog-accent);margin-bottom:12px;font-size:13px;font-weight:600;display:inline-block}.ob-hero h1{font-size:clamp(2.25rem,5vw,3.5rem)}.ob-hero p{max-width:60ch;color:var(--blog-muted);margin:16px 0 0;font-size:1.15rem}.ob-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 32px;display:flex}.ob-search{flex:280px;max-width:420px;position:relative}.ob-search svg{width:18px;height:18px;color:var(--blog-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.ob-search input{border:1px solid var(--blog-border);border-radius:var(--blog-button-radius);background:var(--blog-bg);width:100%;color:var(--blog-fg);font:15px/1.3 var(--blog-font-body);outline:none;padding:11px 14px 11px 42px}.ob-search input:focus{border-color:var(--blog-accent);box-shadow:0 0 0 3px var(--ob-soft)}.ob-chips{flex-wrap:wrap;gap:8px;display:flex}.ob-chip{border:1px solid var(--blog-border);color:var(--blog-muted);font:500 13px/1.2 var(--blog-font-body);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;text-decoration:none;display:inline-flex}.ob-chip:hover{color:var(--blog-fg);border-color:color-mix(in srgb, var(--blog-fg) 25%, var(--blog-border))}.ob-chip[aria-pressed=true]{background:var(--blog-accent);border-color:var(--blog-accent);color:var(--blog-accent-fg)}.ob-chip small{opacity:.65;font-size:11px}.ob-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:28px;display:grid}.ob-card{border:1px solid var(--blog-border);border-radius:var(--blog-radius);background:var(--blog-bg);flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.ob-card:hover{box-shadow:var(--ob-shadow);border-color:color-mix(in srgb, var(--blog-accent) 35%, var(--blog-border));transform:translateY(-2px)}.ob-card-media{aspect-ratio:16/9;background:linear-gradient(135deg, var(--ob-soft), var(--blog-surface));overflow:hidden}.ob-card-media img{object-fit:cover;width:100%;height:100%;display:block}.ob-card-media-fallback{height:100%;font:var(--blog-heading-weight) 42px/1 var(--blog-font-heading);color:color-mix(in srgb, var(--blog-accent) 45%, transparent);place-items:center;display:grid}.ob-card-body{flex-direction:column;flex:1;gap:10px;padding:20px 22px 22px;display:flex}.ob-card h2,.ob-card h3{font-size:1.3rem}.ob-card h2 a,.ob-card h3 a{text-decoration:none}.ob-card h2 a:after,.ob-card h3 a:after{content:"";position:absolute;inset:0}.ob-card{position:relative}.ob-card p{color:var(--blog-muted);margin:0;font-size:15px;line-height:1.6}.ob-card .ob-meta{margin-top:auto;padding-top:6px}.ob-card-tags{flex-wrap:wrap;gap:6px;display:flex}.ob .ob-tag{color:var(--blog-accent);z-index:1;font-size:12px;font-weight:600;text-decoration:none;position:relative}.ob .ob-tag:hover{text-decoration:underline}.ob-card-featured{grid-column:1/-1}@media (width>=860px){.ob-card-featured{flex-direction:row}.ob-card-featured .ob-card-media{aspect-ratio:auto;flex:0 0 55%;min-height:320px}.ob-card-featured .ob-card-body{justify-content:center;padding:36px}.ob-card-featured h2{font-size:2rem}.ob-card-featured p{font-size:1.05rem}.ob-card-featured .ob-meta{margin-top:8px}}.ob-meta{color:var(--blog-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;display:flex}.ob-dot:before{content:"·"}.ob-draft{color:#1a1204;text-transform:uppercase;background:#f59e0b;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.ob-empty{text-align:center;color:var(--blog-muted);padding:48px 0}.ob-more{justify-content:center;margin-top:40px;display:flex}.ob-post-header{padding:clamp(32px,6vw,64px) 0 28px}.ob-back{align-items:center;gap:6px;margin-bottom:24px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;color:var(--blog-muted)!important}.ob-back svg{width:16px;height:16px}.ob-back:hover{color:var(--blog-fg)!important}.ob-post-header h1{font-size:clamp(2rem,4.5vw,3.1rem)}.ob-lede{color:var(--blog-muted);margin:18px 0 0;font-size:1.2rem;line-height:1.55}.ob-byline{align-items:center;gap:12px;margin-top:28px;display:flex}.ob-avatar{object-fit:cover;background:var(--blog-surface);border-radius:50%;width:42px;height:42px}.ob-byline-name{font-size:15px;font-weight:600}.ob-post-hero{border-radius:var(--blog-radius);border:1px solid var(--blog-border);margin:8px 0 40px;overflow:hidden}.ob-post-hero img{width:100%;display:block}.ob-post-top{max-width:var(--blog-content-width);margin:0 auto}.ob-post-hero{max-width:min(100%,960px);margin-inline:auto}.ob-post-layout{grid-template-columns:minmax(0, 1fr) minmax(0, var(--blog-content-width)) minmax(0, 1fr);display:grid}.ob-post-layout>.ob-post-main{grid-area:1/2}.ob-post-layout>aside{grid-area:1/3;padding-left:48px}@media (width<=1080px){.ob-post-layout{max-width:var(--blog-content-width);grid-template-columns:minmax(0,1fr);margin:0 auto}.ob-post-layout>.ob-post-main{grid-column:1}.ob-post-layout>aside{display:none}}.ob-toc{max-width:260px;font-size:14px;position:sticky;top:96px}.ob-toc-title{letter-spacing:.08em;text-transform:uppercase;color:var(--blog-muted);margin:0 0 12px;font-size:12px;font-weight:700}.ob-toc ol{border-left:1px solid var(--blog-border);margin:0;padding:0;list-style:none}.ob-toc li a{color:var(--blog-muted);border-left:2px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;line-height:1.4;text-decoration:none;display:block}.ob-toc li.ob-toc-3 a{padding-left:28px;font-size:13px}.ob-toc a:hover{color:var(--blog-fg)}.ob-toc a[data-active]{color:var(--blog-accent);border-left-color:var(--blog-accent);font-weight:600}.ob-toc-mobile{border:1px solid var(--blog-border);border-radius:var(--blog-radius);background:var(--blog-surface);margin:0 0 32px;display:none}@media (width<=1080px){.ob-toc-mobile{display:block}}.ob-toc-mobile summary{cursor:pointer;padding:14px 18px;font-size:15px;font-weight:600}.ob-toc-mobile .ob-toc{max-width:none;padding:0 18px 16px;position:static}.ob-prose{font-size:var(--blog-font-size);line-height:var(--blog-line-height);color:var(--blog-fg);overflow-wrap:break-word}.ob-prose>:first-child{margin-top:0}.ob-prose p,.ob-prose ul,.ob-prose ol,.ob-prose pre,.ob-prose table,.ob-prose figure,.ob-prose blockquote,.ob-prose details,.ob-prose .ob-callout{margin:0 0 1.35em}.ob-prose h2,.ob-prose h3,.ob-prose h4{font-family:var(--blog-font-heading);font-weight:var(--blog-heading-weight);letter-spacing:var(--blog-heading-letter-spacing);text-transform:var(--blog-heading-transform);color:var(--blog-fg);line-height:1.25;position:relative}.ob-prose h2{margin:2em 0 .7em;font-size:1.65em}.ob-prose h3{margin:1.7em 0 .6em;font-size:1.3em}.ob-prose h4{margin:1.5em 0 .5em;font-size:1.1em}.ob-prose .ob-anchor{color:var(--blog-muted);opacity:0;padding-right:.3em;font-weight:400;text-decoration:none;position:absolute;left:-1.1em}.ob-prose :is(h2,h3,h4):hover .ob-anchor,.ob-prose .ob-anchor:focus{opacity:1}.ob-prose a{color:var(--blog-link);text-underline-offset:3px;text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, var(--blog-link) 45%, transparent)}.ob-prose a:hover{text-decoration-color:currentColor}.ob-prose strong{color:var(--blog-fg);font-weight:700}.ob-prose ul,.ob-prose ol{padding-left:1.4em}.ob-prose ul{list-style:outside}.ob-prose ol{list-style:decimal}.ob-prose li{margin:.35em 0;padding-left:.2em}.ob-prose li::marker{color:var(--blog-muted)}.ob-prose li>ul,.ob-prose li>ol{margin:.35em 0}.ob-prose ul.contains-task-list{padding-left:.2em;list-style:none}.ob-prose hr{background:var(--blog-border);border:0;height:1px;margin:3em 0}.ob-prose img{border-radius:var(--blog-radius);margin:2em auto;display:block}.ob-prose figure img{margin-bottom:.6em}.ob-prose figcaption{text-align:center;color:var(--blog-muted);font-size:.85em}.ob-prose blockquote{border-left:3px solid var(--blog-accent);color:color-mix(in srgb, var(--blog-fg) 85%, var(--blog-muted));padding:.1em 0 .1em 1.2em;font-style:italic}.ob-prose blockquote>:last-child{margin-bottom:0}.ob-prose :not(pre)>code{font-family:var(--blog-font-mono);background:var(--ob-code-bg);border:1px solid var(--blog-border);border-radius:6px;padding:.15em .4em;font-size:.86em}.ob-prose pre{border-radius:var(--blog-radius);border:1px solid var(--blog-border);font-family:var(--blog-font-mono);tab-size:2;padding:18px 20px;font-size:.8em;line-height:1.65;position:relative;overflow-x:auto}.ob-prose pre code{font-family:inherit}.ob-copy{border:1px solid var(--blog-border);background:var(--blog-bg);color:var(--blog-muted);font:500 12px/1.4 var(--blog-font-body);cursor:pointer;opacity:0;border-radius:6px;padding:4px 10px;transition:opacity .15s;position:absolute;top:8px;right:8px}.ob-code-wrap{position:relative}.ob-code-wrap:hover .ob-copy,.ob-copy:focus{opacity:1}.ob-prose .ob-table-wrap{border:1px solid var(--blog-border);border-radius:var(--blog-radius);margin:0 0 1.35em;overflow-x:auto}.ob-prose table{border-collapse:collapse;width:100%;margin:0;font-size:.9em}.ob-prose th,.ob-prose td{text-align:left;border-bottom:1px solid var(--blog-border);padding:10px 14px}.ob-prose th{background:var(--blog-surface);font-weight:600}.ob-prose tr:last-child td{border-bottom:0}.ob-prose details{border:1px solid var(--blog-border);border-radius:var(--blog-radius);padding:0 18px}.ob-prose summary{cursor:pointer;padding:14px 0;font-weight:600}.ob-prose details[open]{padding-bottom:4px}.ob-prose .ob-callout{--c:var(--blog-accent);border:1px solid color-mix(in srgb, var(--c) 30%, var(--blog-border));border-left:4px solid var(--c);border-radius:var(--blog-radius);background:color-mix(in srgb, var(--c) 7%, var(--blog-bg));padding:16px 20px;font-size:.93em}.ob-prose .ob-callout>:last-child{margin-bottom:0}.ob-prose .ob-callout p{margin-bottom:.7em}.ob-prose .ob-callout-title{letter-spacing:.06em;text-transform:uppercase;color:var(--c);font-size:.8em;font-weight:700;margin:0 0 .4em!important}.ob-prose .ob-callout-tip{--c:#16a34a}.ob-prose .ob-callout-important{--c:#7c3aed}.ob-prose .ob-callout-warning{--c:#d97706}.ob-prose .ob-callout-caution{--c:#dc2626}.ob-prose .ob-quote{border-left:3px solid var(--blog-accent);margin:2.2em 0;padding-left:1.4em}.ob-prose .ob-quote blockquote{border:0;margin:0 0 .6em;padding:0;font-size:1.15em;line-height:1.55}.ob-prose .ob-quote figcaption{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--blog-muted);font-size:.8em}.ob-prose .ob-pull{border:0;border-block:2px solid var(--blog-accent);text-align:center;font-style:normal;font-family:var(--blog-font-heading);font-weight:var(--blog-heading-weight);color:var(--blog-fg);margin:2.4em 0;padding:1.2em 0;font-size:1.4em;line-height:1.35}.ob-prose .ob-mermaid{justify-content:center;margin:2em 0;display:flex;overflow-x:auto}.ob-prose .ob-mermaid-src{visibility:hidden;height:120px;overflow:hidden}.ob-prose .ob-mermaid-src.ob-mermaid-failed{visibility:visible;width:100%;height:auto}.ob-prose .katex-display{padding:4px 0;overflow:auto hidden}.ob-prose .ob-video{aspect-ratio:16/9;border-radius:var(--blog-radius);background:var(--blog-surface);margin:2em 0;position:relative;overflow:hidden}.ob-prose .ob-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.ob-post-footer{border-top:1px solid var(--blog-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:56px;padding-top:28px;display:flex}.ob-share{align-items:center;gap:8px;display:flex}.ob-share-label{color:var(--blog-muted);margin-right:4px;font-size:14px;font-weight:600}.ob-cta-box{border-radius:var(--blog-radius);background:linear-gradient(135deg, var(--ob-soft), var(--ob-softer));border:1px solid color-mix(in srgb, var(--blog-accent) 20%, var(--blog-border));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:48px;padding:clamp(24px,4vw,40px);display:flex}.ob-cta-box h2{font-size:1.4rem}.ob-cta-box p{color:var(--blog-muted);margin:6px 0 0}.ob-related{margin-top:88px}.ob-related>h2{margin-bottom:24px;font-size:1.5rem}.ob-pager{grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;display:grid}.ob-pager a{border:1px solid var(--blog-border);border-radius:var(--blog-radius);padding:16px 18px;text-decoration:none;display:block}.ob-pager a:hover{border-color:var(--blog-accent)}.ob-pager small{color:var(--blog-muted);margin-bottom:4px;font-size:12px;display:block}.ob-pager strong{font-family:var(--blog-font-heading);font-weight:var(--blog-heading-weight)}.ob-pager .ob-next{text-align:right;grid-column:2}@media (width<=600px){.ob-pager{grid-template-columns:1fr}.ob-pager .ob-next{grid-column:1}}.ob-toast{border-radius:var(--blog-button-radius);background:var(--blog-fg);color:var(--blog-bg);font:500 14px/1.3 var(--blog-font-body);opacity:0;pointer-events:none;z-index:100;padding:10px 16px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.ob-toast[data-show]{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.ob *,.ob-card{transition:none!important}}@media print{.ob-header,.ob-footer,.ob-toc,.ob-share,.ob-related,.ob-cta-box,.ob-pager,.ob-copy{display:none!important}}
