@charset "UTF-8";pre{overflow-x:auto}table{border-collapse:collapse;display:block;overflow-x:auto}table th{background-color:var(--ai-color-text-bg)}table.sortable th{cursor:pointer;white-space:nowrap}table.sortable th:hover:not(:has(.resize-handle:hover)){background-color:var(--ai-color-gray-faded)}@media(prefers-color-scheme:dark){table.sortable th:hover:not(:has(.resize-handle:hover)){background-color:var(--ai-color-gray-900)}}table th,table td{border:1px solid var(--ai-color-gray-120);padding:6px 8px;color:var(--ai-color-gray-1000)}@media(prefers-color-scheme:dark){table th,table td{border-color:var(--ai-color-gray-900);color:var(--ai-color-gray-100)}}@media(max-width:639px){table th,table td{padding:6px}}table.sortable th,table.sortable td{padding:6px}@media(min-width:1024px){table.sortable th,table.sortable td{padding:6px 8px}}table tr.hidden,table td.hidden,table th.hidden{display:none}@media(min-width:640px){table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):not(.sorttable_nosort)::after{content:" ▹";opacity:.3}table.sortable th:hover{border-right-color:var(--ai-color-blue-medium);transform:translateZ(0)}}table.sortable th:hover:not(:has(.resize-handle:hover))::after{color:var(--ai-color-blue-medium);opacity:1}table.sortable th.sorttable_sorted::after{content:" ⏶"}table.sortable th.sorttable_sorted_reverse::after{content:" ⏷"}.table-title{margin:var(--feather-grid-small)0 0}:root{--ai-color-engineering:#f14829;--ai-color-research:#f7b700;--ai-color-leaderboard:#17af65;--ai-color-learning:#be3cf2}table.openx{border-collapse:separate;overflow-x:auto}table.openx td{border:none;padding:0}table.openx td a{display:block;padding:8px}table.openx td.border-c{border:2px solid #fff}table.openx td.border-c a{padding:6px}table.openx td:hover,table.openx td:active{filter:brightness(1.2)}@media(min-width:640px){.resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;user-select:none}}.datex{transform:translateY(-2px);color:var(--ai-color-blue-deep)}@media(prefers-color-scheme:dark){.datex{color:var(--ai-color-gray-900)}}.datex:hover,.datex:active{color:var(--ai-color-blue-medium)}@media(prefers-color-scheme:dark){.datex:hover,.datex:active{color:var(--ai-color-gray-700)}}.scrollx{overflow-x:auto}.blog-layout{--blog-toc-width:250px;--blog-toc-gap:var(--feather-grid-mega);display:grid;grid-template-columns:minmax(0,var(--feather-grid-page-width))minmax(var(--blog-toc-gap),1fr)var(--blog-toc-width);margin-left:calc((100vw - var(--feather-grid-page-width))/2);margin-right:var(--feather-grid-mega)}.blog-article.container{margin:0;max-width:none;min-width:0}.blog-article h1,.blog-article h2,.blog-article h3,.blog-article h4,.blog-article h5,.blog-article h6{scroll-margin-top:12px}.blog-toc-panel{align-self:start;background:0 0;border-left:1px solid var(--ai-color-gray-120);grid-column:3;height:calc(100vh - (24px + (var(--feather-grid-xsmall) * 2) + var(--feather-grid-small)));overflow-y:auto;padding:0 0 var(--feather-grid-small)var(--feather-grid-medium);position:sticky;top:calc(24px + (var(--feather-grid-xsmall) * 2) + var(--feather-grid-small))}@media(prefers-color-scheme:dark){.blog-toc-panel{border-left-color:var(--ai-color-gray-900)}}.blog-toc-header{align-items:center;display:flex;gap:var(--feather-grid-small);justify-content:space-between;margin-bottom:var(--feather-grid-xsmall)}.blog-toc-header h2{color:var(--ai-color-gray-deep);font-size:var(--feather-font-size-normal);line-height:var(--feather-line-height-normal);margin:0}@media(prefers-color-scheme:dark){.blog-toc-header h2{color:var(--ai-color-gray-300)}}.blog-toc-close{display:none}.blog-toc{font-size:var(--feather-font-size-small);line-height:var(--feather-line-height-small)}.blog-toc nav{animation:none;background:0 0;color:inherit;display:block;flex-wrap:nowrap;padding:0;position:static;width:auto;z-index:auto}.blog-toc ul{margin:0;padding:0}.blog-toc ul ul{margin-top:var(--feather-grid-xxsmall);padding-left:var(--feather-grid-small)}.blog-toc li{list-style:none;margin:0 0 var(--feather-grid-xxsmall)}.blog-toc nav a{border-left:3px solid transparent;color:var(--ai-color-gray-deep);display:block;padding:3px 0 3px var(--feather-grid-xsmall);text-decoration:none}@media(prefers-color-scheme:dark){.blog-toc nav a{color:var(--ai-color-gray-300)}}.blog-toc nav a:hover,.blog-toc nav a:focus-visible{border-left-color:var(--ai-color-blue-light);color:var(--ai-color-text-link);text-decoration:none}@media(prefers-color-scheme:dark){.blog-toc nav a:hover,.blog-toc nav a:focus-visible{color:var(--ai-color-gray-light)}}.blog-toc nav a.is-active{border-left-color:var(--ai-color-blue-medium);color:var(--ai-color-text-link);font-weight:var(--feather-font-weight-bold);text-decoration:none}@media(prefers-color-scheme:dark){.blog-toc nav a.is-active{color:var(--ai-color-gray-light)}}.blog-toc-toggle,.blog-toc-backdrop,.back-to-top{display:none}.back-to-top{align-items:center;background:var(--ai-color-blue-primary);border:0;border-radius:50%;bottom:var(--feather-grid-mega);box-shadow:0 8px 22px rgba(0,0,0,.22);color:#fff;cursor:pointer;height:44px;justify-content:center;font:inherit;outline:none;padding:0;position:fixed;right:var(--feather-grid-medium);width:44px;z-index:25;transition:opacity 180ms ease,transform 180ms ease;opacity:0}.back-to-top.is-visible{display:inline-flex;opacity:1}.back-to-top:hover{outline:2px solid var(--ai-color-blue-medium)}@media(prefers-color-scheme:dark){.back-to-top{background:var(--ai-color-gray-900);color:var(--ai-color-gray-100)}}.back-to-top svg{height:20px;width:20px}td.open-e{background-color:var(--ai-color-engineering)}a.open-e,span.open-e{color:var(--ai-color-engineering)!important}td.open-r{background-color:var(--ai-color-research)}a.open-r,span.open-r{color:var(--ai-color-research)!important}td.open-b{background-color:var(--ai-color-leaderboard)}a.open-b,span.open-b{color:var(--ai-color-leaderboard)!important}td.open-l{background-color:var(--ai-color-learning)}a.open-l,span.open-l{color:var(--ai-color-learning)!important}a.open-link:hover,a.open-link:focus{color:var(--ai-color-blue-faded)!important;text-decoration:none}@media(prefers-color-scheme:dark){a.open-link:hover,a.open-link:focus{color:var(--ai-color-gray-light)!important}}@media(prefers-color-scheme:dark){.container>img,.container>picture img,.container figure img,.container p>img:only-child,.container p>a:only-child>img,.container p>picture:only-child img{filter:brightness(.8)contrast(1.2)}}@media(max-width:1236px){.blog-layout{margin-left:var(--feather-grid-mega)}}@media(max-width:1023px){.blog-layout{display:block}.blog-toc-panel{background:#fff;border-left:1px solid var(--ai-color-gray-120);bottom:0;box-shadow:none;height:calc(100vh - var(--blog-toc-drawer-top,60px));max-width:300px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--feather-grid-medium);position:fixed;right:0;top:var(--blog-toc-drawer-top,calc(24px + (var(--feather-grid-xsmall) * 2)));transform:translateX(100%);transition:transform 180ms ease;width:86vw;z-index:9}}@media(max-width:1023px) and (prefers-color-scheme:dark){.blog-toc-panel{background:var(--ai-color-gray-1100);border-left-color:var(--ai-color-gray-900)}}@media(max-width:1023px){.blog-toc{font-size:var(--feather-font-size-normal);line-height:var(--feather-line-height-normal)}.blog-toc-open .blog-toc-panel{transform:translateX(0)}.blog-toc-header{margin-bottom:var(--feather-grid-small)}.blog-toc-toggle{align-items:center;background:var(--ai-color-blue-primary);border:0;border-radius:50%;bottom:calc(var(--feather-grid-mega) + 56px);box-shadow:0 8px 22px rgba(0,0,0,.22);color:#fff;cursor:pointer;display:inline-flex;height:44px;justify-content:center;font:inherit;outline:none;padding:0;position:fixed;right:var(--feather-grid-medium);width:44px;z-index:25}}@media(max-width:1023px) and (prefers-color-scheme:dark){.blog-toc-toggle{background:var(--ai-color-gray-900);color:var(--ai-color-gray-100)}}@media(max-width:1023px){.blog-toc-toggle:hover{outline:2px solid var(--ai-color-blue-medium)}.blog-toc-toggle svg{height:20px;width:20px}.blog-toc-open .blog-toc-toggle,.blog-toc-open .back-to-top{display:none!important}.blog-toc-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.3);z-index:8;display:block}.blog-toc-backdrop[hidden]{display:none}}body:has(#nav-menu.active) .blog-toc-toggle,body:has(#nav-menu.active) .back-to-top{display:none!important}@media(max-width:600px){.blog-layout{margin-left:var(--feather-grid-medium);margin-right:var(--feather-grid-medium)}}