.blog-runtime{--blog-bg:#ffffff;--blog-bg-secondary:#f5f5f5;--blog-ink:#000000e6;--blog-ink-secondary:#00000099;--blog-ink-tertiary:#00000073;--blog-fill-1:#00000008;--blog-fill-2:#0000000d;--blog-fill-2-hover:#00000014;--blog-separator:#00000021;--blog-link:#1a88ff;--blog-sans:var(--font-misans),-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--blog-serif:var(--font-lora),"Iowan Old Style",Georgia,"Songti SC",serif;--blog-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--blog-title-font:var(--blog-sans);--blog-body-font:var(--blog-sans);--blog-title-size:32px;--blog-title-line:38px;--blog-title-weight:450;--blog-h1-size:32px;--blog-h1-line:38px;--blog-h2-size:28px;--blog-h2-line:36px;--blog-h3-size:22px;--blog-h3-line:28px;--blog-heading-weight:450;--blog-body-size:17px;--blog-body-line:28px;--blog-body-weight:330;--blog-strong-weight:450;--blog-caption-size:14px;--blog-caption-line:23px;--blog-caption-weight:330;--blog-section-gap:80px;--blog-paragraph-gap:16px;--blog-media-gap:40px;--blog-figure-pair-gap:20px;--blog-subheading-gap:48px;--blog-hero-gap:24px;--blog-hero-padding-top:60px;--blog-body-width:760px;--blog-media-width:1040px;--blog-footnote-width:1280px;--blog-layout-width:1280px;--blog-radius:16px;--blog-topbar-height:60px;background:var(--blog-bg);color:var(--blog-ink);font-family:var(--blog-body-font);font-weight:var(--blog-body-weight);min-height:100vh}.blog-runtime[data-variant=classic]{--blog-body-font:var(--blog-serif);--blog-title-size:40px;--blog-title-line:48px;--blog-title-weight:600;--blog-h1-size:40px;--blog-h1-line:56px;--blog-h3-size:24px;--blog-h3-line:34px;--blog-heading-weight:600;--blog-body-size:18px;--blog-body-line:30px;--blog-body-weight:400;--blog-strong-weight:600;--blog-caption-weight:400;--blog-paragraph-gap:24px;--blog-subheading-gap:80px;--blog-radius:12px}body:has(.blog-runtime),html:has(.blog-runtime){background:#ffffff}.blog-page{display:block;position:relative}.blog-layout{margin:0 auto;max-width:var(--blog-layout-width);padding:0 clamp(20px,4vw,48px)}.blog-topbar{backdrop-filter:blur(20px);background:#ffffffe6;border-bottom:1px solid var(--blog-separator);height:var(--blog-topbar-height);position:sticky;top:0;z-index:60}.blog-topbar-inner{align-items:center;display:flex;gap:16px;height:100%;justify-content:space-between;margin:0 auto;max-width:var(--blog-layout-width);padding:0 clamp(20px,4vw,48px)}.blog-wordmark{align-items:center;color:var(--blog-ink);display:inline-flex;font-size:14px;font-weight:500;gap:9px;letter-spacing:-.01em}.blog-wordmark-mark{align-items:center;background:var(--blog-ink);border-radius:50%;color:var(--blog-bg);display:flex;font-size:9px;font-weight:600;height:26px;justify-content:center;letter-spacing:-.03em;width:26px}.blog-topbar-links{align-items:center;display:flex;gap:20px}.blog-topbar-links a,.blog-topbar-links button{background:none;border:0;color:var(--blog-ink-secondary);cursor:pointer;font-family:var(--blog-sans);font-size:14px;font-weight:400;padding:0;transition:color .2s ease}.blog-topbar-links .is-active,.blog-topbar-links a:hover,.blog-topbar-links button:hover{color:var(--blog-ink)}.blog-topbar .language-switch{border-color:var(--blog-separator)}.blog-topbar .language-switch button:not(.is-active),.blog-topbar .language-switch span{color:var(--blog-ink-tertiary)}.blog-topbar .language-switch .is-active{color:var(--blog-ink)}.blog-page:after{backdrop-filter:blur(20px);background:#ffffffe6;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease;z-index:1}.blog-runtime:has(.blog-outline:focus-within) .blog-page:after,.blog-runtime:has(.blog-outline:hover) .blog-page:after{opacity:1}.blog-hero{box-sizing:border-box;padding:var(--blog-hero-padding-top) 0 0}.blog-hero,.blog-hero-inner{align-items:center;display:flex;flex-direction:column;width:100%}.blog-hero-inner{gap:var(--blog-hero-gap);max-width:var(--blog-media-width);text-align:center}.blog-breadcrumb ol{justify-content:center;margin:0;padding:0;width:100%}.blog-breadcrumb li,.blog-breadcrumb ol{align-items:center;display:flex;gap:8px;list-style:none}.blog-breadcrumb li{flex-shrink:0}.blog-breadcrumb li:last-child{min-width:0;overflow:hidden;flex-shrink:1}.blog-breadcrumb a,.blog-breadcrumb span{color:var(--blog-ink-tertiary);font-size:var(--blog-caption-size);font-weight:var(--blog-caption-weight);line-height:var(--blog-caption-line);transition:color .2s ease}.blog-breadcrumb [aria-current=page]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-breadcrumb a:hover{color:var(--blog-ink)}.blog-title-block{display:flex;flex-direction:column;gap:12px;width:100%}.blog-title{color:var(--blog-ink);font-size:var(--blog-title-size);font-weight:var(--blog-title-weight);letter-spacing:0;line-height:var(--blog-title-line)}.blog-title,.blog-title-sub{font-family:var(--blog-title-font);margin:0;text-align:center}.blog-title-sub{font-size:21px;font-weight:330;line-height:29px}.blog-subtitle,.blog-title-sub{color:var(--blog-ink-secondary)}.blog-subtitle{font-size:var(--blog-body-size);font-weight:var(--blog-body-weight);line-height:var(--blog-body-line);margin:0;max-width:var(--blog-body-width);text-align:center}.blog-paper-links{display:flex;flex-wrap:wrap;gap:10px;margin:0}.blog-paper-chip,.blog-paper-links{align-items:center;justify-content:center}.blog-paper-chip{display:inline-flex;text-decoration:none;background:#1f6b4a;border-radius:999px;color:#f7fbf8;font-size:13px;font-weight:450;letter-spacing:.02em;line-height:20px;padding:5px 12px;transition:background-color .15s ease}.blog-paper-chip:hover{background:#18553a;color:#ffffff}.blog-paper-chip:focus-visible{outline:2px solid #1f6b4a;outline-offset:3px}.blog-deck{color:var(--blog-ink-tertiary);font-size:15px;font-weight:330;line-height:24px;margin:0;max-width:var(--blog-body-width);text-align:center}.blog-cta-group{display:flex;flex-wrap:wrap;gap:var(--blog-hero-gap);justify-content:center;margin-block:calc(32px - var(--blog-hero-gap))}.blog-cta{align-items:center;border:1px solid transparent;border-radius:12px;cursor:pointer;display:inline-flex;font-family:var(--blog-sans);font-size:16px;font-weight:500;height:40px;justify-content:center;line-height:24px;min-width:62px;padding:0 16px;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.blog-cta-primary{background:var(--blog-ink);color:var(--blog-bg)}.blog-cta-primary:hover{background:#000000}.blog-cta-secondary{background:var(--blog-fill-2);border-color:var(--blog-separator);color:var(--blog-ink)}.blog-cta-secondary:hover{background:var(--blog-fill-2-hover)}.blog-cta-arrow{align-items:center;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;margin-left:0;opacity:0;overflow:hidden;transition:opacity .2s ease,width .2s ease,margin-left .2s ease;width:0}.blog-cta:focus-visible .blog-cta-arrow,.blog-cta:hover .blog-cta-arrow{margin-left:6px;opacity:1;width:20px}.blog-cta-arrow svg{display:block;height:16px;width:16px}.blog-hero-media{border:.5px solid var(--blog-separator);border-radius:var(--blog-radius);margin:0;overflow:hidden;width:100%}.blog-hero-media img{display:block;height:auto;width:100%}.blog-fallback-note{color:var(--blog-ink-tertiary);font-size:var(--blog-caption-size);line-height:var(--blog-caption-line);margin:0}.blog-main{isolation:isolate;min-width:0;padding-bottom:80px;padding-top:80px;position:relative}.markdown{font-family:var(--blog-body-font);letter-spacing:0}.blog-runtime .markdown>*{margin-block:0}.blog-runtime .markdown>*+*{margin-top:var(--blog-section-gap)}.blog-runtime .markdown>:is(p,ul,ol,blockquote,pre):not(:has(>img))+:is(p,ul,ol,blockquote,pre):not(:has(>img)){margin-top:var(--blog-paragraph-gap)}.blog-runtime .markdown>:is(h1,h2,h3,h4,h5,h6)+:is(p,ul,ol,blockquote,pre,figure,.blog-table,.blog-case){margin-top:var(--blog-paragraph-gap)}.blog-runtime .markdown>*+:is(h3,h4,h5,h6){margin-top:var(--blog-subheading-gap)}.blog-runtime .markdown>:is(figure,.blog-table,.blog-case)+:is(p,ul,ol,blockquote,pre),.blog-runtime .markdown>:is(p,ul,ol,blockquote,pre)+:is(figure,.blog-table,.blog-case){margin-top:var(--blog-media-gap)}.blog-runtime .markdown>figure.blog-media+figure.blog-media{margin-top:var(--blog-figure-pair-gap)}.blog-runtime .markdown>:is(p,h1,h2,h3,h4,h5,h6,ul,ol,blockquote,pre){margin-left:auto;margin-right:auto;max-width:var(--blog-body-width)}.blog-runtime .markdown>:is(figure,.blog-table,.blog-case,p:has(>img)){margin-left:auto;margin-right:auto;max-width:var(--blog-media-width)}.blog-runtime .markdown>:is(h2,h3):has(+.blog-table),.blog-runtime .markdown>:is(h2,h3):has(+figure){max-width:var(--blog-media-width);text-align:left}.blog-runtime .markdown li,.blog-runtime .markdown>p{font-size:var(--blog-body-size);font-weight:var(--blog-body-weight);line-height:var(--blog-body-line)}.blog-runtime .markdown>p.blog-note{color:var(--blog-ink-secondary);font-size:14px;line-height:1.75}.blog-runtime .markdown>h1{font-size:var(--blog-h1-size);line-height:var(--blog-h1-line)}.blog-runtime .markdown>h1,.blog-runtime .markdown>h2{font-family:var(--blog-title-font);font-weight:var(--blog-heading-weight)}.blog-runtime .markdown>h2{font-size:var(--blog-h2-size);line-height:var(--blog-h2-line)}.blog-runtime .markdown>:is(h3,h4,h5,h6){font-family:var(--blog-title-font);font-size:var(--blog-h3-size);font-weight:var(--blog-heading-weight);line-height:var(--blog-h3-line)}.blog-runtime .markdown :is(h1,h2,h3,h4,h5,h6){color:var(--blog-ink);letter-spacing:0;scroll-margin-top:calc(var(--blog-topbar-height) + 32px)}.blog-runtime .markdown strong{color:inherit;font-weight:var(--blog-strong-weight)}.blog-runtime .markdown em{font-style:italic}.blog-runtime .markdown a{color:var(--blog-link);overflow-wrap:anywhere;text-decoration:none}.blog-runtime .markdown a:hover{text-decoration:underline}.blog-runtime .markdown>ul{list-style:none;padding-left:0}.blog-runtime .markdown>ul>li{margin:0 0 10px;padding-left:24px;position:relative}.blog-runtime .markdown>ul>li:last-child{margin-bottom:0}.blog-runtime .markdown>ul>li:before{background:currentColor;border-radius:50%;content:"";height:6px;left:6px;position:absolute;top:11px;width:6px}.blog-runtime .markdown ol{list-style:decimal}.blog-runtime .markdown>ol{padding-left:22px}.blog-runtime .markdown>ol>li{margin:0 0 10px;padding-left:6px}.blog-runtime .markdown>ol>li:last-child{margin-bottom:0}.blog-runtime .markdown blockquote{border-left:2px solid var(--blog-separator);color:var(--blog-ink-secondary);padding:2px 0 2px 22px}.blog-runtime .markdown blockquote>p{font-size:19px;line-height:32px}.blog-runtime .markdown blockquote>:first-child{margin-top:0}.blog-runtime .markdown blockquote>:last-child{margin-bottom:0}.blog-runtime .markdown blockquote>p:last-child:has(a[href*="arxiv.org"]){color:var(--blog-ink-tertiary);font-size:13px;line-height:20px;margin-top:14px}.blog-runtime .markdown figure{width:100%}.blog-runtime .markdown>figure.blog-media{margin-left:auto;margin-right:auto;max-width:min(100%,660px)}.blog-runtime .markdown figure img,.blog-runtime .markdown p>img{border:.5px solid var(--blog-separator);border-radius:var(--blog-radius);display:block;height:auto;margin-inline:auto;max-width:100%;width:auto}.blog-runtime .markdown figcaption{color:var(--blog-ink-secondary);font-size:var(--blog-caption-size);font-weight:var(--blog-caption-weight);line-height:var(--blog-caption-line);margin-top:12px;text-align:left}.blog-runtime .markdown code{background:var(--blog-fill-2);border-radius:6px;font-family:var(--blog-mono);font-size:.9em;padding:2px 6px;word-break:break-word}.blog-runtime .markdown pre{background:var(--blog-fill-1);border:.5px solid var(--blog-separator);border-radius:12px;overflow-x:auto;padding:16px 20px}.blog-runtime .markdown pre code{background:none;border-radius:0;font-size:14px;line-height:22px;padding:0;white-space:pre}.blog-case{margin:0;width:100%}.blog-case-label{color:var(--blog-ink-tertiary);font-size:var(--blog-caption-size);font-weight:var(--blog-caption-weight);letter-spacing:.04em;line-height:var(--blog-caption-line);margin:0 0 12px}.blog-case-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}.blog-case[data-columns="2"] .blog-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-case[data-columns="3"] .blog-case-grid{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.blog-case-cell{min-width:0}.blog-case-title{color:var(--blog-ink-secondary);font-size:var(--blog-caption-size);font-weight:450;line-height:var(--blog-caption-line);margin:0 0 8px}.blog-runtime .markdown .blog-case-media{background:transparent;border:0;border-radius:0;display:block;height:auto;width:100%}.blog-case-stage-frame{background:#0a0b0d;border:.5px solid var(--blog-separator);border-radius:var(--blog-radius);overflow:hidden;position:relative;width:100%}.blog-runtime .markdown .blog-case-stage-frame>video.blog-case-media{background:#0a0b0d;display:block;height:100%;object-fit:contain;width:100%}.blog-runtime .markdown .blog-case-stage-frame>img.blog-case-media{background:#f7f7f5;display:block;height:100%;object-fit:contain;width:100%}.blog-case-loading{align-items:center;color:#ffffffb8;display:none;flex-direction:column;font-size:13px;font-weight:330;gap:12px;inset:0;justify-content:center;letter-spacing:.08em;pointer-events:none;position:absolute;z-index:2}.blog-case-stage-frame[data-loading=true] .blog-case-loading{display:flex}.blog-case-loading-spin{animation:blog-case-spin .8s linear infinite;border-radius:50%;border:2px solid #ffffff2e;border-top-color:#ffffffd6;height:28px;width:28px}.blog-case-loading-text{color:#ffffffa6}@keyframes blog-case-spin{to{transform:rotate(1turn)}}.blog-case-slot{align-items:center;background-color:var(--blog-fill-1);background-image:repeating-linear-gradient(-45deg,#00000008 0 1px,transparent 1px 9px);border:1px dashed var(--blog-separator);border-radius:var(--blog-radius);display:flex;flex-direction:column;gap:10px;justify-content:center;padding:24px;text-align:center;width:100%}.blog-case-slot-mark{background:var(--blog-bg);border:1px solid var(--blog-separator);border-radius:999px;color:var(--blog-ink-secondary);font-size:12px;font-weight:450;letter-spacing:.08em;padding:6px 12px}.blog-case[data-mode=gallery]{display:flex;flex-direction:column;gap:16px}.blog-case-rail-wrap{position:relative}.blog-case-rail{display:flex;gap:10px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 48px calc(100% - 48px),#0000);mask-image:linear-gradient(90deg,#0000,#000 48px calc(100% - 48px),#0000);overflow-x:auto;overscroll-behavior-inline:none;padding:3px;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none}.blog-case-rail::-webkit-scrollbar{display:none}.blog-case-thumb{background:none;border:0;cursor:pointer;display:block;flex:0 0 148px;padding:0;scroll-snap-align:start;text-align:left;transition:opacity .15s ease,transform .15s ease;width:148px}.blog-case-thumb:hover{opacity:.88}.blog-case-thumb:active{transform:scale(.98)}.blog-case-thumb-frame{align-items:center;background:#0a0b0d;border:0;border-radius:14px;display:flex;justify-content:center;outline:2px solid transparent;outline-offset:1px;overflow:hidden;transition:outline-color .15s ease;width:100%}.blog-case-thumb-frame[data-empty=true]{background-color:var(--blog-fill-1);background-image:repeating-linear-gradient(-45deg,#00000008 0 1px,transparent 1px 9px);border:1px dashed var(--blog-separator)}.blog-case-thumb-frame>:is(img,video){border:0;border-radius:0;display:block;height:100%;max-width:none;object-fit:contain;width:100%}.blog-case-thumb[aria-selected=true] .blog-case-thumb-frame{border-style:solid;outline-color:var(--blog-link)}.blog-case-thumb-empty{color:var(--blog-ink-tertiary);font-family:var(--blog-mono);font-size:12px;letter-spacing:.1em}.blog-case-thumb-label{color:var(--blog-ink-tertiary);display:block;font-size:13px;font-weight:330;line-height:20px;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-case-thumb[aria-selected=true] .blog-case-thumb-label{color:var(--blog-ink);font-weight:450}.blog-case-rail-nav{align-items:center;backdrop-filter:blur(3px);background:#ffffffb3;border:0;border-radius:100px;color:var(--blog-ink);cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:8px;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .15s ease,transform .15s ease;width:40px;z-index:2}.blog-case-rail-nav:hover{background:#f4f4f4b5}.blog-case-rail-nav:active{background:#edededb6;transform:translateY(-50%) scale(.97)}.blog-case-rail-nav[data-dir=prev]{left:12px}.blog-case-rail-nav[data-dir=next]{right:12px}.blog-case-rail-nav:disabled{opacity:0;pointer-events:none}.blog-case-rail:not(:has(.blog-case-thumb:nth-child(5))){-webkit-mask-image:none;mask-image:none}.blog-case-stage{margin:0}.blog-case-panel[hidden]{display:none}.blog-case-panel-media{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}.blog-case-panel-media[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-case[data-mode=gallery] .blog-case-label{margin-bottom:0}.blog-case[data-mode=gallery] .blog-case-note,.blog-case[data-mode=gallery] figcaption{margin-top:0}.blog-case-note{color:var(--blog-ink-tertiary);font-size:var(--blog-caption-size);font-weight:var(--blog-caption-weight);line-height:var(--blog-caption-line);margin:12px 0 0}.blog-case-note:before{content:"";border-radius:50%;background:currentColor;display:inline-block;height:5px;margin:0 8px 3px 0;opacity:.6;width:5px}.blog-case-slot-ratio{color:var(--blog-ink-tertiary);font-family:var(--blog-mono);font-size:11px;letter-spacing:.12em;opacity:.75}.blog-link-pending{border-bottom:1px dashed var(--blog-link);color:var(--blog-link);cursor:help;opacity:.75}.blog-table{overflow-x:auto;scrollbar-width:thin}.blog-runtime .markdown table{border-collapse:collapse;font-size:15px;line-height:23px;min-width:100%;text-align:left}.blog-runtime .markdown td,.blog-runtime .markdown th{border-bottom:1px solid var(--blog-separator);padding:12px 16px;vertical-align:top}.blog-runtime .markdown th{color:var(--blog-ink);font-weight:500;white-space:nowrap}.blog-runtime .markdown td{color:var(--blog-ink-secondary);font-weight:var(--blog-body-weight)}.blog-runtime .markdown>#footnotes,.blog-runtime .markdown>#footnotes~*{margin-left:auto;margin-right:auto;max-width:var(--blog-footnote-width)}.blog-runtime .markdown>#footnotes~:is(p,ul,ol,li){font-family:var(--blog-serif);font-weight:400}.blog-runtime .markdown>#footnotes~* strong{font-family:var(--blog-sans)}.blog-runtime .markdown>#footnotes~p+:is(ul,ol){margin-top:8px}.blog-outline{align-items:center;display:flex;height:200px;position:fixed;right:0;top:calc(50% - 100px);z-index:50}.blog-outline-track{background:var(--blog-fill-2);border-radius:1px;flex-shrink:0;height:120px;margin-right:6px;overflow:hidden;position:relative;width:2px}.blog-outline-progress{background:var(--blog-ink);border-radius:1px;left:0;position:absolute;top:0;transition:height .1s linear;width:100%}.blog-outline-panel{background:var(--blog-bg);border-radius:12px 0 0 12px;box-shadow:0 4px 24px #00000014,0 0 1px #0000001a;max-height:72vh;max-width:0;min-width:240px;opacity:0;overflow-x:hidden;overflow-y:auto;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:max-width .25s cubic-bezier(.2,.8,.2,1),opacity .2s ease;width:max-content}.blog-outline:focus-within .blog-outline-panel,.blog-outline:hover .blog-outline-panel{max-width:420px;opacity:1;padding:24px 0 24px 20px}.blog-outline-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.blog-outline-list li{margin:0;padding:0}.blog-outline-list a{align-items:center;border-right:2px solid var(--blog-fill-2);color:var(--blog-ink-secondary);display:flex;font-family:var(--blog-sans);font-size:14px;font-weight:400;gap:10px;justify-content:flex-end;line-height:22px;padding:10px 24px 10px 0;transition:color .2s ease,border-color .2s ease;white-space:nowrap}.blog-outline-list a:hover{color:var(--blog-ink)}.blog-outline-list [data-level="3"] a{color:var(--blog-ink-tertiary);font-size:13px;padding-left:16px}.blog-outline-list .is-active a{border-right-color:var(--blog-ink);color:var(--blog-ink)}.blog-index{padding-bottom:clamp(80px,10vw,140px);padding-top:clamp(48px,7vw,96px)}.blog-index-head{margin:0 auto clamp(40px,5vw,72px);max-width:var(--blog-body-width)}.blog-index-eyebrow{color:var(--blog-ink-tertiary);font-size:var(--blog-caption-size);font-weight:var(--blog-caption-weight);line-height:var(--blog-caption-line);margin:0 0 10px}.blog-index-head h1{color:var(--blog-ink);font-family:var(--blog-title-font);font-size:var(--blog-title-size);font-weight:var(--blog-title-weight);line-height:var(--blog-title-line);margin:0}.blog-index-head p{color:var(--blog-ink-secondary);font-size:var(--blog-body-size);font-weight:var(--blog-body-weight);line-height:var(--blog-body-line);margin:14px 0 0}.blog-index-list{display:flex;flex-direction:column;margin:0 auto;max-width:var(--blog-media-width)}.blog-index-item{border-top:1px solid var(--blog-separator);display:grid;gap:8px 32px;grid-template-columns:150px minmax(0,1fr);padding:28px 12px;transition:background-color .2s ease}.blog-index-item:last-child{border-bottom:1px solid var(--blog-separator)}.blog-index-item:hover{background:var(--blog-fill-1)}.blog-index-meta{color:var(--blog-ink-tertiary);display:flex;flex-direction:column;font-size:var(--blog-caption-size);font-weight:var(--blog-caption-weight);gap:2px;line-height:var(--blog-caption-line)}.blog-index-item h2{color:var(--blog-ink);font-family:var(--blog-title-font);font-size:22px;font-weight:var(--blog-heading-weight);line-height:30px;margin:0}.blog-index-item p{color:var(--blog-ink-secondary);font-size:16px;font-weight:var(--blog-body-weight);line-height:26px;margin:8px 0 0}.blog-index-empty{color:var(--blog-ink-tertiary);font-size:var(--blog-body-size);padding:60px 0;text-align:center}@media (max-width:1440px){.blog-outline{display:none}}@media (max-width:860px){.blog-runtime{--blog-section-gap:56px;--blog-media-gap:30px;--blog-figure-pair-gap:16px;--blog-subheading-gap:36px;--blog-hero-padding-top:36px;--blog-title-size:26px;--blog-title-line:34px;--blog-h1-size:26px;--blog-h1-line:34px;--blog-h2-size:23px;--blog-h2-line:31px;--blog-h3-size:19px;--blog-h3-line:26px}.blog-title-sub{font-size:17px;line-height:25px}.blog-main{padding-top:48px}.blog-case-panel-media[data-columns="2"],.blog-case[data-columns="2"] .blog-case-grid,.blog-case[data-columns="3"] .blog-case-grid,.blog-index-item{grid-template-columns:minmax(0,1fr)}.blog-case-thumb{flex-basis:128px;width:128px}.blog-case-rail-nav{top:50%}.blog-case-rail{-webkit-mask-image:none;mask-image:none}.blog-runtime .markdown>:is(h2,h3):has(+.blog-table),.blog-runtime .markdown>:is(h2,h3):has(+figure){text-align:initial}}@media (prefers-reduced-motion:reduce){.blog-cta-arrow,.blog-outline-panel,.blog-outline-progress,.blog-page:after{transition:none}}