.ot-blog{--docs-accent:#262626;--docs-accent-strong:#111111;--docs-accent-soft:#f0f0f0;--docs-ink:#171717;--docs-body:#333333;--docs-muted:#6b6b6b;--docs-line:#e5e5e5;--docs-panel:#fafafa;--docs-header-height:72px;min-height:100dvh;-webkit-font-smoothing:antialiased}.ot-blog ::selection{background:#e5e5e5;color:#111111}.blog-index{max-width:760px;padding:72px 0 96px}.blog-index-header{padding-bottom:36px;border-bottom:1px solid var(--docs-line)}.blog-index-header h1{margin:0 0 18px;font-size:clamp(44px,5vw,64px);font-weight:400;line-height:1.05;letter-spacing:-2.6px}.blog-index-header p{max-width:620px;margin:0;color:#595959;font-size:18px;line-height:1.65}.blog-feed-link{margin:28px 0 0;font-family:Plex Mono,monospace;font-size:12px}.blog-feed-link a{color:#767676;transition:color .16s}.blog-feed-link a:hover{color:var(--docs-ink)}.blog-list{margin:0;padding:0;list-style:none}.blog-list li{padding:30px 0;border-bottom:1px solid var(--docs-line)}.ot-blog .blog-list h2{margin:8px 0 10px;font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.025em;text-wrap:balance}.blog-list h2 a{color:var(--docs-ink);transition:color .16s}.blog-list h2 a:hover,.blog-list p{color:#555555}.blog-list p{margin:0;font-size:16px;line-height:1.65}.blog-card-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--docs-muted);font-family:Plex Mono,monospace;font-size:12.5px;line-height:1.5}.blog-post-layout{display:grid;grid-template-columns:minmax(0,680px);justify-content:center;align-items:start;gap:72px;padding:56px 0 24px}.blog-post-layout:has(>.blog-toc){grid-template-columns:minmax(0,680px) 240px}.blog-article{min-width:0}.blog-post-header{margin-bottom:32px}.blog-breadcrumbs{display:flex;align-items:center;gap:9px;color:var(--docs-muted);font-family:Plex Mono,monospace;font-size:13px}.blog-breadcrumbs a{color:var(--docs-muted);transition:color .16s}.blog-breadcrumbs a:hover{color:var(--docs-ink)}.blog-breadcrumbs span[aria-hidden]{color:#b5b5b5}.blog-post-header h1{margin:16px 0 18px;color:var(--docs-ink);font-size:clamp(32px,4vw,44px);font-weight:600;line-height:1.12;letter-spacing:-.03em;text-wrap:balance}.blog-dek{margin:0 0 22px;color:#666666;font-size:19px;line-height:1.55;letter-spacing:-.01em;text-wrap:pretty}.blog-byline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--docs-muted);font-family:Plex Mono,monospace;font-size:14px;line-height:1.5}.blog-byline a{color:var(--docs-ink);font-weight:500}.blog-byline a:hover{text-decoration:underline;text-underline-offset:4px}.blog-hero{margin:0 0 36px}.blog-hero img{display:block;width:100%;height:auto;border:1px solid var(--docs-line);border-radius:8px}.ot-blog .blog-prose{color:var(--docs-body);font-size:17px;line-height:1.7}.ot-blog .blog-prose p{margin:20px 0}.ot-blog .blog-prose h2{margin:56px 0 12px;color:var(--docs-ink);font-size:26px;font-weight:600;line-height:1.3;letter-spacing:-.028em;text-wrap:balance}.ot-blog .blog-prose h3{margin:32px 0 10px;color:var(--docs-ink);font-size:19px;font-weight:600;line-height:1.4;letter-spacing:-.018em}.ot-blog .blog-prose h4{margin:26px 0 10px;font-size:17px}.ot-blog .blog-prose li{margin:9px 0}.ot-blog .blog-prose figure{margin:34px 0}.ot-blog .blog-prose figure img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain;border:1px solid var(--docs-line);border-radius:8px;background:#fafafa}.ot-blog .blog-prose figcaption{margin-top:10px;color:var(--docs-muted);font-size:14px;line-height:1.55;text-wrap:pretty}.ot-blog .blog-prose .docs-table{margin:26px 0;border-color:#e6e6e4;border-radius:12px}.ot-blog .blog-prose table{font-size:14px;line-height:1.5}.ot-blog .blog-prose td,.ot-blog .blog-prose th{min-width:120px;padding:12px 16px;border-bottom-color:#ececeb;overflow-wrap:normal}.ot-blog .blog-prose thead th{background:#fafafa;color:var(--docs-muted);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ot-blog .blog-prose tbody th{background:transparent;color:var(--docs-ink);font-weight:500}.ot-blog .blog-prose .docs-code{border-radius:8px}.ot-blog .blog-prose pre{line-height:1.7}.ot-blog .blog-prose blockquote{border-left-color:#262626;background:#fafafa;color:#444444}.ot-blog .blog-prose code{font-size:.84em}.blog-toc.docs-toc{top:96px;margin-top:128px}.blog-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px 32px;margin-top:60px;padding:28px 30px;border:1px solid var(--docs-line);border-radius:10px;background:#fafafa}.ot-blog .blog-cta h2{margin:0 0 6px;font-size:21px;font-weight:600;line-height:1.35;letter-spacing:-.02em}.blog-cta p{max-width:400px;margin:0;color:#5a5a5a;font-size:15px;line-height:1.6}.blog-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.blog-cta .ot-button{display:inline-flex;align-items:center;gap:12px}.blog-cta-secondary{color:var(--docs-ink);font-size:14px;font-weight:500;text-decoration:underline!important;text-underline-offset:4px;text-decoration-color:#26262640!important}.blog-read-next{max-width:1000px;padding:40px 0 96px}.ot-blog .blog-read-next h2{margin:0 0 20px;font-family:Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:0;color:var(--docs-muted);text-transform:uppercase}.blog-read-next ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}.blog-read-next a{display:flex;flex-direction:column;gap:10px;height:100%;padding:22px;border:1px solid #dddddd;border-radius:8px;color:var(--docs-ink);transition:border-color .18s,background .18s}.blog-read-next a:hover{border-color:#aaaaaa;background:#fafafa}.blog-card-title{font-size:17px;font-weight:600;line-height:1.4;letter-spacing:-.015em;text-wrap:balance}.blog-card-description{color:#5a5a5a;font-size:14.5px;line-height:1.6}@media (max-width:1190px){.blog-post-layout,.blog-post-layout:has(>.blog-toc){grid-template-columns:minmax(0,680px)}}@media (max-width:800px){.ot-container.blog-index,.ot-container.blog-post-layout,.ot-container.blog-read-next{width:calc(100% - 40px)}.blog-index{padding:48px 0 72px}.blog-post-layout{padding-top:36px}.blog-dek{font-size:17.5px}.blog-byline{font-size:13px}.ot-blog .blog-prose tbody th,.ot-blog .blog-prose thead th:first-child{position:sticky;left:0;z-index:1;background:#ffffff;box-shadow:1px 0 0 #ececeb}.ot-blog .blog-prose thead th:first-child{background:#fafafa}.ot-blog .blog-prose{font-size:16.5px}.ot-blog .blog-prose h2{font-size:23px;margin-top:44px}.blog-read-next ul{grid-template-columns:minmax(0,1fr)}.blog-cta{padding:24px}}