﻿:root{--global-bg-color: #ffffff;--global-code-bg-color: rgba(181, 9, 172, 0.05);--global-text-color: #000000;--global-text-color-light: #828282;--global-theme-color: #E77500;--global-hover-color: #E77500;--global-hover-text-color: #ffffff;--global-footer-bg-color: #1c1c1d;--global-footer-text-color: #e8e8e8;--global-footer-link-color: #ffffff;--global-distill-app-color: #828282;--global-divider-color: rgba(0, 0, 0, 0.1);--global-card-bg-color: #ffffff;--global-highlight-color: #b71c1c;--global-back-to-top-bg-color: rgba(0, 0, 0, 0.4);--global-back-to-top-text-color: #ffffff;--global-newsletter-bg-color: #ffffff;--global-newsletter-text-color: #000000;--global-tip-block: #42b983;--global-tip-block-bg: #e2f5ec;--global-tip-block-text: #215d42;--global-tip-block-title: #359469;--global-warning-block: #e7c000;--global-warning-block-bg: #fff8d8;--global-warning-block-text: #6b5900;--global-warning-block-title: #b29400;--global-danger-block: #c00;--global-danger-block-bg: #ffe0e0;--global-danger-block-text: #600;--global-danger-block-title: #c00}:root #back-to-top{color:var(--global-back-to-top-text-color);background:var(--global-back-to-top-bg-color);bottom:30px;right:30px;height:40px;width:40px;z-index:10}html[data-theme=dark]{--global-bg-color: #1c1c1d;--global-code-bg-color: #2c3237;--global-text-color: #e8e8e8;--global-text-color-light: #828282;--global-theme-color: #2698ba;--global-hover-color: #2698ba;--global-hover-text-color: #ffffff;--global-footer-bg-color: #e8e8e8;--global-footer-text-color: #1c1c1d;--global-footer-link-color: #000000;--global-distill-app-color: #e8e8e8;--global-divider-color: #424246;--global-card-bg-color: #212529;--global-back-to-top-bg-color: rgba(255, 255, 255, 0.5);--global-back-to-top-text-color: #000000;--global-newsletter-bg-color: #e8e8e8;--global-newsletter-text-color: #1c1c1d;--global-tip-block: #42b983;--global-tip-block-bg: #e2f5ec;--global-tip-block-text: #215d42;--global-tip-block-title: #359469;--global-warning-block: #e7c000;--global-warning-block-bg: #fff8d8;--global-warning-block-text: #6b5900;--global-warning-block-title: #b29400;--global-danger-block: #c00;--global-danger-block-bg: #ffe0e0;--global-danger-block-text: #600;--global-danger-block-title: #c00}html[data-theme-setting=dark] #back-to-top{color:var(--global-back-to-top-text-color);background:var(--global-back-to-top-bg-color)}body{padding-bottom:70px;color:var(--global-text-color);background-color:var(--global-bg-color)}body h1,body h2,body h3,body h4,body h5,body h6{scroll-margin-top:66px}body.fixed-top-nav{padding-top:56px}body.sticky-bottom-footer{padding-bottom:0}.container{max-width:900px}.profile img{width:100%}p,h1,h2,h3,h4,h5,h6,em,div,li,span,strong{color:var(--global-text-color)}hr{border-top:1px solid var(--global-divider-color)}table td,table th{font-size:1rem;color:var(--global-text-color)}table th{font-weight:bold}a,table.table a{color:var(--global-theme-color)}a:hover,table.table a:hover{color:var(--global-theme-color);text-decoration:underline}a:hover:after :not(.nav-item.dropdown),table.table a:hover:after :not(.nav-item.dropdown){width:100%}.table{color:var(--global-text-color)}.table-dark{background-color:rgba(0,0,0,0);color:var(--global-text-color)}.table-dark.table-bordered{border:1px solid var(--global-divider-color) !important}blockquote{background:var(--global-bg-color);border-left:5px solid var(--global-theme-color);margin:1.5em 0;padding:1em;font-size:1.2rem}blockquote p{margin-bottom:0}.equation{margin-bottom:1rem;text-align:center}.caption{font-size:.875rem;margin-top:.75rem;margin-bottom:1.5rem;text-align:center}.card{background-color:var(--global-card-bg-color)}.card .card-title{color:var(--global-text-color)}.citation,.citation-number{color:var(--global-theme-color)}.cite-drop{margin-top:2.25rem}.cite-drop>summary{display:inline-flex;align-items:center;gap:.4em;width:fit-content;margin:0;padding:0;cursor:pointer;list-style:none;font-weight:700;color:var(--global-text-color);user-select:none}.cite-drop>summary::-webkit-details-marker,.cite-drop>summary::marker{display:none;content:""}.cite-drop>summary:hover,.cite-drop>summary:focus-visible{color:var(--global-theme-color)}.cite-drop>summary .cite-drop-arrow{color:inherit}.cite-drop>summary:focus-visible{outline:2px solid var(--global-theme-color);outline-offset:3px;border-radius:2px}.cite-drop .cite-drop-arrow{display:inline-block;width:.38em;height:.38em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-0.12em) rotate(45deg);transition:transform .15s ease}.cite-drop[open]>summary .cite-drop-arrow{transform:translateY(0.12em) rotate(-135deg)}.cite-drop .sptc-py{margin-top:.85rem}.profile{width:100%}.profile.float-right{margin-left:1rem}@media(min-width: 576px){.profile{width:30%}.profile .address p{display:block}}.blue-highlight{color:#0076df}.red-highlight{color:#ff3636}.post-lede{font-size:.92em;font-style:italic}.post-description{margin-bottom:2rem;font-size:.875rem}.post-description a{color:inherit}.post-description a:hover{color:var(--global-theme-color);text-decoration:none}.navbar{box-shadow:none;border-bottom:1px solid var(--global-divider-color);background-color:var(--global-bg-color);opacity:.95;padding-top:.25rem;padding-bottom:.25rem}.navbar .dropdown-menu{background-color:var(--global-bg-color);border:1px solid var(--global-divider-color)}.navbar .dropdown-menu a:not(.active){color:var(--global-text-color)}.navbar .dropdown-menu a:hover{color:var(--global-hover-color)}.dropdown-item{color:var(--global-text-color)}.dropdown-item:hover{color:var(--global-hover-color);background-color:var(--global-bg-color)}.navbar.navbar-light a:hover{text-decoration:none}.navbar.navbar-light .navbar-brand{color:var(--global-text-color)}.navbar.navbar-light .navbar-nav .nav-item .nav-link{color:var(--global-text-color)}.navbar.navbar-light .navbar-nav .nav-item .nav-link:hover{color:var(--global-hover-color)}.navbar.navbar-light .navbar-nav .nav-item.active>.nav-link{background-color:inherit;font-weight:bolder;color:var(--global-theme-color)}.navbar.navbar-light .navbar-nav .nav-item.active>.nav-link:hover{color:var(--global-hover-color)}.navbar.navbar-light .navbar-brand.social{padding-bottom:0;padding-top:0;font-size:1.7rem}.navbar.navbar-light .navbar-brand.social a i::before{color:var(--global-text-color);transition-property:all .2s ease-in-out}.navbar.navbar-light .navbar-brand.social a.social-icon-svg{color:var(--global-text-color);transition:color .2s ease-in-out}.navbar.navbar-light .navbar-brand.social a:hover i::before{color:var(--global-theme-color)}.navbar.navbar-light .navbar-brand.social a:hover.social-icon-svg{color:var(--global-theme-color)}.navbar-toggler .icon-bar{display:block;width:22px;height:2px;background-color:var(--global-text-color);border-radius:1px;margin-bottom:4px;transition:all .2s}.navbar-toggler .top-bar{transform:rotate(45deg);transform-origin:10% 10%}.navbar-toggler .middle-bar{opacity:0}.navbar-toggler .bottom-bar{transform:rotate(-45deg);transform-origin:10% 90%}.navbar-toggler.collapsed .top-bar{transform:rotate(0)}.navbar-toggler.collapsed .middle-bar{opacity:1}.navbar-toggler.collapsed .bottom-bar{transform:rotate(0)}#light-toggle,#search-toggle{padding:0;border:0;background-color:inherit;color:var(--global-text-color)}#light-toggle:hover,#search-toggle:hover{color:var(--global-hover-color)}.social{text-align:center}a.social-icon-svg svg{width:1em;height:1em;display:inline-block;vertical-align:-0.125em}footer.fixed-bottom{background-color:var(--global-footer-bg-color);font-size:.75rem}footer.fixed-bottom .container{color:var(--global-footer-text-color);padding-top:9px;padding-bottom:8px;text-align:center}footer.fixed-bottom a{color:var(--global-footer-link-color)}footer.fixed-bottom a:hover{color:var(--global-theme-color);text-decoration:none}footer.sticky-bottom{border-top:1px solid var(--global-divider-color);padding-top:40px;padding-bottom:40px;font-size:.9rem}footer.sticky-bottom .container{text-align:center}.cv{margin-bottom:40px}.cv .card{background-color:var(--global-card-bg-color);border:1px solid var(--global-divider-color)}.cv .card .list-group-item{background-color:inherit;border-color:var(--global-divider-color)}.cv .card .list-group-item .badge{color:var(--global-card-bg-color) !important;background-color:var(--global-theme-color) !important}.table-cv-map{background-color:rgba(0,0,0,0);border:none;color:var(--global-text-color)}.date-column{width:75px;transform:translateX(-15px) translateY(-5px)}@media(min-width: 768px){.repo{max-width:50%}}.tag-category-list{border-bottom:1px solid var(--global-divider-color);text-align:center;padding-top:1rem}.tag-category-list ul{justify-content:center;display:flow-root}.tag-category-list ul p,.tag-category-list ul li{list-style:none;display:inline-block;padding:1rem .5rem;color:var(--global-text-color-light)}.pagination .page-item .page-link{color:var(--global-text-color)}.pagination .page-item .page-link:hover{color:#000}.pagination .page-item.active .page-link{color:#fff;background-color:var(--global-theme-color)}.pagination .page-item.active .page-link:hover{background-color:var(--global-theme-color)}.distill a:hover{border-bottom-color:var(--global-theme-color);text-decoration:none}.projects a{text-decoration:none}.projects a:hover .card-title{color:var(--global-theme-color)}.projects .card img{width:100%}.projects .col{padding-bottom:1rem}.projects .grid-item{width:250px;margin-bottom:10px}.projects h2.category{color:var(--global-divider-color);border-bottom:1px solid var(--global-divider-color);padding-top:.5rem;margin-top:2rem;margin-bottom:1rem;text-align:right}.publications{margin-top:2rem}.publications h1{color:var(--global-theme-color);font-size:2rem;text-align:center;margin-top:1em;margin-bottom:1em}.publications h2{margin-bottom:1rem}.publications h2 span{font-size:1.5rem}.publications h2.bibliography{color:var(--global-divider-color);border-top:1px solid var(--global-divider-color);padding-top:1rem;margin-top:2rem;text-align:right}.publications ol.bibliography{list-style:none;padding:0;margin-top:0}.publications ol.bibliography li{margin-bottom:1rem}.publications ol.bibliography li .abbr{margin-bottom:.5rem}.publications ol.bibliography li .abbr abbr{display:inline-block;background-color:var(--global-theme-color);margin-bottom:.5rem}.publications ol.bibliography li .abbr abbr a{color:#fff}.publications ol.bibliography li .abbr abbr a:hover{text-decoration:none}.publications ol.bibliography li .abbr .award{color:var(--global-theme-color) !important;border:1px solid var(--global-theme-color)}.publications ol.bibliography li .title{font-weight:bolder}.publications ol.bibliography li .author a{border-bottom:1px dashed var(--global-theme-color)}.publications ol.bibliography li .author a:hover{border-bottom-style:solid;text-decoration:none}.publications ol.bibliography li .author>em{border-bottom:1px solid;font-style:normal}.publications ol.bibliography li .author>span.more-authors{color:var(--global-text-color-light);border-bottom:1px dashed var(--global-text-color-light);cursor:pointer}.publications ol.bibliography li .author>span.more-authors:hover{color:var(--global-text-color);border-bottom:1px dashed var(--global-text-color)}.publications ol.bibliography li .links a.btn{color:var(--global-text-color);border:1px solid var(--global-text-color);padding-left:1rem;padding-right:1rem;padding-top:.25rem;padding-bottom:.25rem;margin-left:0}.publications ol.bibliography li .links a.btn:hover{color:var(--global-theme-color);border-color:var(--global-theme-color)}.publications ol.bibliography li .links a.award.btn{border-color:var(--global-highlight-color)}.publications ol.bibliography li .hidden{font-size:.875rem;max-height:0px;overflow:hidden;text-align:justify;transition-property:.15s ease;-moz-transition:.15s ease;-ms-transition:.15s ease;-o-transition:.15s ease;transition:all .15s ease}.publications ol.bibliography li .hidden p{line-height:1.4em;margin:10px}.publications ol.bibliography li .hidden pre{font-size:1em;line-height:1.4em;padding:10px}.publications ol.bibliography li .hidden.open{max-height:100em;transition-property:.15s ease;-moz-transition:.15s ease;-ms-transition:.15s ease;-o-transition:.15s ease;transition:all .15s ease}.publications ol.bibliography li div.abstract.hidden{border:dashed 1px var(--global-bg-color)}.publications ol.bibliography li div.abstract.hidden.open{border-color:var(--global-text-color)}.publications ol.bibliography div.award.hidden{border:dashed 1px var(--global-bg-color)}.publications ol.bibliography div.award.hidden.open{border-color:var(--global-highlight-color)}figure.highlight{margin:0 0 1rem}pre{color:var(--global-theme-color);background-color:var(--global-code-bg-color);border-radius:6px;padding:6px 12px}pre pre,pre code{background-color:rgba(0,0,0,0);border-radius:0;margin-bottom:0;padding:0}code{color:var(--global-theme-color);background-color:var(--global-code-bg-color);border-radius:3px;padding:3px 3px}html.transition,html.transition *,html.transition *:before,html.transition *:after{transition:all 750ms !important;transition-delay:0 !important}.post .post-meta{color:var(--global-text-color-light);font-size:.875rem;margin-bottom:0}.post .post-tags{color:var(--global-text-color-light);font-size:.875rem;padding-top:.25rem;padding-bottom:1rem}.post .post-tags a{color:var(--global-text-color-light);text-decoration:none}.post .post-tags a:hover{color:var(--global-theme-color)}progress{position:fixed;left:0;top:56px;z-index:10;width:100%;height:1px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background-color:rgba(0,0,0,0);color:var(--global-theme-color)}progress::-webkit-progress-bar{background-color:rgba(0,0,0,0)}progress::-webkit-progress-value{background-color:var(--global-theme-color)}progress::-moz-progress-bar{background-color:var(--global-theme-color)}.progress-container{width:100%;background-color:rgba(0,0,0,0);position:fixed;top:56px;left:0;height:5px;display:block}.progress-bar{background-color:var(--global-theme-color);width:0%;display:block;height:inherit}.code-display-wrapper{position:relative}.code-display-wrapper .copy{background:var(--global-card-bg-color);border-color:var(--global-bg-color);border-radius:.3rem;border-style:none;color:var(--global-text-color);font-size:medium;opacity:0;position:absolute;right:.2rem;top:.2rem}.code-display-wrapper:active .copy,.code-display-wrapper:focus .copy,.code-display-wrapper:hover .copy{color:var(--global-hover-color);opacity:1}nav[data-toggle=toc]{top:5rem}nav[data-toggle=toc] .nav .nav>li>a{font-size:.75rem}nav[data-toggle=toc] .nav>li>a{color:var(--global-text-color);font-size:.75rem}nav[data-toggle=toc] .nav>li>a:hover{color:var(--global-hover-color);border-left-color:var(--global-hover-color)}nav[data-toggle=toc] .nav-link.active{color:var(--global-theme-color);border-left-color:var(--global-theme-color);font-size:.75rem}nav[data-toggle=toc] .nav-link.active:hover{color:var(--global-hover-color);border-left-color:var(--global-hover-color)}@media(max-width: 576px){nav[data-toggle=toc]{visibility:hidden;height:0;top:0}}#toc-sidebar{z-index:1}.echarts{height:400px;width:100%}.map{height:400px;width:100%}ninja-keys{--ninja-accent-color: var(--global-theme-color);--ninja-icon-size: 0px;--ninja-modal-background: var(--global-bg-color);--ninja-z-index: 1031}ninja-keys::part(ninja-input){color:var(--ninja-selected-text-color)}ninja-keys::part(ninja-input-wrapper){background:var(--global-bg-color)}.popover{background-color:var(--global-bg-color);border-color:var(--global-divider-color)}.popover .popover-header{color:var(--global-text-color);border-bottom:1px solid var(--global-divider-color)}.popover .popover-body{color:var(--global-text-color)}.has-sidenotes{overflow:visible}.has-sidenotes #markdown-content{position:relative;overflow:visible}.has-sidenotes .footnotes{display:none}.has-sidenotes sup{line-height:0;scroll-margin-top:5.5rem}.has-sidenotes sup a.footnote{color:var(--global-theme-color);font-size:.75em;font-weight:650;text-decoration:none;padding:0 .12em}.has-sidenotes sup a.footnote:hover,.has-sidenotes sup a.footnote:focus-visible{text-decoration:underline}.has-sidenotes sup.is-active a.footnote{background:color-mix(in srgb, var(--global-theme-color) 18%, transparent);border-radius:2px}.has-sidenotes .sidenote{position:absolute;z-index:1;margin:0;padding:.15rem .35rem .2rem 1.45rem;border-left:2px solid rgba(0,0,0,0);border-radius:2px;font-size:.8rem;line-height:1.45;color:var(--global-text-color-light);scroll-margin-top:5.5rem}.has-sidenotes .sidenote p,.has-sidenotes .sidenote em,.has-sidenotes .sidenote strong,.has-sidenotes .sidenote span,.has-sidenotes .sidenote li{margin:0;color:var(--global-text-color-light)}.has-sidenotes .sidenote .sidenote-num{position:absolute;top:.15rem;left:.4rem;margin:0;color:var(--global-text-color-light);font-weight:650;font-size:.85em;line-height:1.7058823529;text-decoration:none}.has-sidenotes .sidenote .sidenote-num:hover,.has-sidenotes .sidenote .sidenote-num:focus-visible{text-decoration:underline}.has-sidenotes .sidenote .reversefootnote{display:none}.has-sidenotes .sidenote.is-active{border-left-color:var(--global-text-color-light);background:color-mix(in srgb, var(--global-text-color-light) 16%, transparent);animation:sidenote-highlight .45s ease}.has-sidenotes.sidenotes-fallback #markdown-content{padding-right:0 !important}.has-sidenotes.sidenotes-fallback .sidenote-list{margin-top:2.25rem}.has-sidenotes.sidenotes-fallback .sidenote{position:relative;width:auto !important;margin:0 0 .85rem}@keyframes sidenote-highlight{from{background:color-mix(in srgb, var(--global-text-color-light) 32%, transparent)}to{background:color-mix(in srgb, var(--global-text-color-light) 16%, transparent)}}d-title{padding-top:1.25rem !important;padding-bottom:1rem !important}@media(min-width: 768px){d-title{padding-top:1.5rem !important;padding-bottom:1.25rem !important}}d-byline{border-top-color:var(--global-divider-color) !important}d-byline h3{color:var(--global-text-color) !important}d-citation-list .references{grid-column:text}d-citation-list .references .title{font-weight:500}d-byline a,d-article d-byline a{color:var(--global-text-color) !important}d-byline a:hover,d-article d-byline a:hover{color:var(--global-hover-color) !important}d-article{border-top-color:var(--global-divider-color) !important}d-article p,d-article h1,d-article h2,d-article h3,d-article h4,d-article h5,d-article h6,d-article li,d-article table{color:var(--global-text-color) !important}d-article h1,d-article h2,d-article hr,d-article table,d-article table th,d-article table td{border-bottom-color:var(--global-divider-color) !important}d-article a{color:var(--global-theme-color) !important}d-article a:hover{color:var(--global-theme-color) !important}d-article b i{display:inline}d-article blockquote{border-left:2px solid var(--global-theme-color) !important}d-article details{color:var(--global-text-color);background-color:var(--global-code-bg-color);margin-top:0;padding:8px 12px;position:relative;border-radius:6px;display:block;margin-bottom:20px;grid-column:text;overflow:auto;max-width:100%}d-article details summary{color:var(--global-theme-color)}d-article details p{margin-top:.5rem;margin-bottom:.5rem}d-article d-contents{align-self:start;grid-column:1/4;grid-row:auto/span 4;justify-self:end;margin-top:0em;padding-left:2em;padding-right:3em;border-right:1px solid var(--global-divider-color);width:max(70%,300px);margin-right:0px;margin-top:0em;display:grid;grid-template-columns:minmax(8px, 1fr) [toc] auto minmax(8px, 1fr) [toc-line] 1px minmax(32px, 2fr)}d-article d-contents nav{grid-column:toc}d-article d-contents nav a{border-bottom:none !important}d-article d-contents nav a:hover{border-bottom:1px solid var(--global-text-color) !important}d-article d-contents nav h3{margin-top:0;margin-bottom:1em}d-article d-contents nav div{display:block;outline:none;margin-bottom:.8em;color:rgba(0,0,0,.8);font-weight:bold}d-article d-contents nav ul{padding-left:1em;margin-top:0;margin-bottom:6px;list-style-type:none}d-article d-contents nav ul li{margin-bottom:.25em}d-article d-contents .figcaption{line-height:1.4em}d-article d-footnote{scroll-margin-top:66px}d-appendix{border-top-color:var(--global-divider-color) !important;color:var(--global-distill-app-color) !important}d-appendix h3,d-appendix li,d-appendix span{color:var(--global-distill-app-color) !important}d-appendix a,d-appendix a.footnote-backlink{color:var(--global-distill-app-color) !important}d-appendix a:hover,d-appendix a.footnote-backlink:hover{color:var(--global-hover-color) !important}@media(max-width: 4096px){d-article d-contents{display:block;grid-column-start:4;grid-column-end:-4;padding-bottom:.5em;margin-bottom:1em;padding-top:.5em;width:100%;border:1px solid var(--global-divider-color)}d-article d-contents nav{grid-column:none}}d-article p{grid-column-start:3;grid-column-end:-3}d-article h1{grid-column-start:3;grid-column-end:-3}d-article h2{grid-column-start:3;grid-column-end:-3}d-article h3{grid-column-start:3;grid-column-end:-3}d-article h4{grid-column-start:3;grid-column-end:-3}d-article figure{grid-column-start:3;grid-column-end:-3}d-article table tr th{grid-column-start:3;grid-column-end:-3}d-article table{grid-column-start:3;grid-column-end:-3}d-article table tr td{grid-column-start:3;grid-column-end:-3}d-article table tr{grid-column-start:3;grid-column-end:-3}d-article ul{grid-column-start:3;grid-column-end:-3}d-article ol{grid-column-start:3;grid-column-end:-3}d-article ul li{grid-column-start:3;grid-column-end:-3}d-article ol li{grid-column-start:3;grid-column-end:-3}d-article block{grid-column-start:3;grid-column-end:-3}d-article d-code{grid-column-start:3;grid-column-end:-3}d-article code{grid-column-start:3;grid-column-end:-3}d-article div{grid-column-start:3;grid-column-end:-3}d-article mjx-container[display=true],d-article .katex-display{grid-column-start:3;grid-column-end:-3;display:block;text-align:center;margin:.5em 0}table.table-cv{background-color:rgba(0,0,0,0) !important}p.location{font-size:.7rem;white-space:nowrap}i.iconlocation{color:var(--global-theme-color);font-size:.8rem}td.department{font-size:.8rem}div.list-groups{display:flex;flex-wrap:wrap;justify-content:flex-start;flex-direction:row;align-content:center}div.list-group{display:flex;flex-wrap:wrap;flex-direction:column;align-items:flex-start;margin-bottom:2rem}td.list-group-category{color:var(--global-theme-color);margin-bottom:.5rem}td.list-group-category-icon{font-size:.8rem;color:var(--global-theme-color);width:1.4rem;padding-right:.4rem}td.list-group-name{font-size:.8rem}a.anchor{display:block;position:relative;top:-50px;visibility:hidden}ul.timeline{margin-top:2rem;margin-bottom:2rem}ul.timeline li{position:relative;min-height:2.2rem;color:var(--global-text-color);list-style-position:inside}ul.timeline li::before{content:"";min-height:2.5rem;width:1px;background:var(--global-text-color);margin:0;padding:0;position:absolute;left:2px;top:-0.5rem}.tab{display:flex;flex-wrap:wrap;margin-left:-20px;padding:0;list-style:none;position:relative}.tab>*{flex:none;padding-left:20px;position:relative}.tab>*>a{display:block;text-align:center;padding:9px 20px;color:var(--global-text-color-light);border-bottom:2px solid rgba(0,0,0,0);border-bottom-color:rgba(0,0,0,0);font-size:12px;text-transform:uppercase;transition:color .1s ease-in-out;line-height:20px}.tab>.active>a{color:var(--global-text-color);border-color:var(--global-theme-color)}.tab>li>a{text-decoration:none;cursor:pointer}.tab-content{padding:0}.tab-content>li{display:none}.tab-content>li.active{display:block}.code-comparison-carousel{width:100%;margin:1.5rem 0 2rem;border:1px solid var(--global-divider-color);border-radius:10px;background:var(--global-card-bg-color);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}.code-comparison-carousel div,.code-comparison-carousel span,.code-comparison-carousel p,.code-comparison-carousel pre,.code-comparison-carousel code,.code-comparison-carousel button,.code-comparison-carousel select{grid-column:auto !important;grid-row:auto !important}.code-comparison-carousel *{box-sizing:border-box}.code-comparison-carousel .ccc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .85rem;padding:.75rem 1rem;border-bottom:1px solid var(--global-divider-color);background:rgba(0,0,0,.02)}.code-comparison-carousel .ccc-nav{display:flex;align-items:center;gap:.4rem}.code-comparison-carousel .ccc-btn{appearance:none;border:1px solid var(--global-divider-color);background:var(--global-bg-color);color:var(--global-text-color);border-radius:6px;padding:.35rem .65rem;font-size:.85rem;line-height:1.2;cursor:pointer}.code-comparison-carousel .ccc-btn:hover:not(:disabled){border-color:var(--global-theme-color);color:var(--global-theme-color)}.code-comparison-carousel .ccc-btn:disabled{opacity:.4;cursor:not-allowed}.code-comparison-carousel .ccc-select{min-width:12rem;max-width:100%;padding:.35rem .55rem;border:1px solid var(--global-divider-color);border-radius:6px;background:var(--global-bg-color);color:var(--global-text-color);font-size:.9rem}.code-comparison-carousel .ccc-meta{margin-left:auto;font-size:.78rem;color:var(--global-text-color-light);display:flex;flex-wrap:wrap;gap:.35rem .75rem}.code-comparison-carousel .ccc-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;background:rgba(242,145,5,.12);color:var(--global-theme-color);font-weight:600;font-size:.72rem;letter-spacing:.02em}.code-comparison-carousel .ccc-panels{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;height:min(70vh,720px);min-height:420px;overflow:hidden;padding:.75rem;background:#f0f1f3}.code-comparison-carousel .ccc-panel{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;margin:0 !important;border:1.5px solid var(--global-divider-color);border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04)}.code-comparison-carousel .ccc-panel--train{border-color:rgba(0,118,223,.35);background:linear-gradient(180deg, rgba(0, 118, 223, 0.04), #fff 48px)}.code-comparison-carousel .ccc-panel--eval{border-color:rgba(242,145,5,.4);background:linear-gradient(180deg, rgba(242, 145, 5, 0.06), #fff 48px)}.code-comparison-carousel .ccc-panel-header{flex:0 0 auto;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.55rem .85rem;border-bottom:1px solid var(--global-divider-color);font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--global-text-color)}.code-comparison-carousel .ccc-panel--train .ccc-panel-header{background:rgba(0,118,223,.08);border-bottom-color:rgba(0,118,223,.2);color:#0060b6}.code-comparison-carousel .ccc-panel--eval .ccc-panel-header{background:rgba(242,145,5,.1);border-bottom-color:rgba(242,145,5,.22);color:#d98204}.code-comparison-carousel .ccc-panel-sub{font-weight:400;color:var(--global-text-color-light);font-size:.72rem}.code-comparison-carousel .ccc-panel-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:scroll;overscroll-behavior:contain;padding:.75rem .85rem 1rem;background:#fafafa;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.35) rgba(0,0,0,0)}.code-comparison-carousel .ccc-panel-body::-webkit-scrollbar{width:10px}.code-comparison-carousel .ccc-panel-body::-webkit-scrollbar-track{background:rgba(0,0,0,.04)}.code-comparison-carousel .ccc-panel-body::-webkit-scrollbar-thumb{background:rgba(0,0,0,.28);border-radius:999px;border:2px solid rgba(0,0,0,0);background-clip:padding-box}.code-comparison-carousel .ccc-panel-body::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.42);background-clip:padding-box}.code-comparison-carousel .ccc-scroll-spacer{width:100%;flex-shrink:0;pointer-events:none}.code-comparison-carousel .ccc-status{padding:2rem 1rem;text-align:center;color:var(--global-text-color-light);font-size:.9rem}.code-comparison-carousel .ccc-msg{margin:0 0 .75rem;border-radius:10px;border:1px solid var(--global-divider-color);overflow:hidden;background:#fff}.code-comparison-carousel .ccc-msg:last-child{margin-bottom:0}.code-comparison-carousel .ccc-msg-role{display:flex;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--global-divider-color)}.code-comparison-carousel .ccc-msg--stdout .ccc-msg-role{background:rgba(0,171,55,.1);color:#00822a}.code-comparison-carousel .ccc-msg--turn .ccc-msg-role{background:rgba(0,118,223,.08);color:#0060b6}.code-comparison-carousel .ccc-msg-content{padding:.65rem .75rem;font-size:.82rem;line-height:1.45;color:var(--global-text-color);white-space:pre-wrap;word-break:break-word}.code-comparison-carousel .ccc-turn-nudge{margin:0 !important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;color:var(--global-text-color-light)}.code-comparison-carousel .ccc-stdout{margin:0;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#111827;overflow:hidden}.code-comparison-carousel .ccc-stdout-label{display:flex;align-items:center;justify-content:space-between;padding:.28rem .65rem;background:#1f2937;color:#86efac !important;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.code-comparison-carousel .ccc-stdout-label span,.code-comparison-carousel .ccc-stdout-label *{color:#86efac !important}.code-comparison-carousel .ccc-stdout-pre{margin:0 !important;padding:.7rem .8rem !important;overflow-x:auto;background:rgba(0,0,0,0) !important;border:none !important;border-radius:0 !important;color:#d1fae5 !important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.code-comparison-carousel .ccc-stdout-vars{margin-top:.45rem;padding:.35rem .55rem;border-radius:6px;background:rgba(0,0,0,.04);border:1px solid var(--global-divider-color);font-size:.72rem;display:flex;flex-wrap:wrap;gap:.35rem .55rem;align-items:baseline}.code-comparison-carousel .ccc-stdout-vars .ccc-stdout-vars-label{font-weight:600;color:var(--global-text-color-light);text-transform:uppercase;letter-spacing:.04em;font-size:.66rem}.code-comparison-carousel .ccc-stdout-vars code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--global-text-color) !important;font-size:.72rem;background:rgba(0,0,0,0) !important}.code-comparison-carousel .ccc-msg-content p{margin:0 0 .55rem;white-space:pre-wrap;word-break:break-word}.code-comparison-carousel .ccc-msg-content p:last-child{margin-bottom:0}.code-comparison-carousel .ccc-repl{margin:.55rem 0;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#1e1e1e;overflow:hidden}.code-comparison-carousel .ccc-repl-label{display:flex;align-items:center;justify-content:space-between;padding:.28rem .65rem;background:#2a2a2a;color:#c8c8c8 !important;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.code-comparison-carousel .ccc-repl-label span,.code-comparison-carousel .ccc-repl-label *{color:#c8c8c8 !important}.code-comparison-carousel .ccc-repl pre{margin:0 !important;padding:.7rem .8rem !important;overflow-x:auto;background:rgba(0,0,0,0) !important;border:none !important;border-radius:0 !important}.code-comparison-carousel .ccc-repl code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;line-height:1.45;color:#d4d4d4 !important;background:rgba(0,0,0,0) !important;text-shadow:none !important;white-space:pre}.code-comparison-carousel .ccc-repl .token{background:none !important;text-shadow:none !important}.code-comparison-carousel .ccc-repl .token.comment,.code-comparison-carousel .ccc-repl .token.prolog,.code-comparison-carousel .ccc-repl .token.doctype,.code-comparison-carousel .ccc-repl .token.cdata{color:#6a9955 !important}.code-comparison-carousel .ccc-repl .token.punctuation{color:#d4d4d4 !important}.code-comparison-carousel .ccc-repl .token.property,.code-comparison-carousel .ccc-repl .token.tag,.code-comparison-carousel .ccc-repl .token.boolean,.code-comparison-carousel .ccc-repl .token.number,.code-comparison-carousel .ccc-repl .token.constant,.code-comparison-carousel .ccc-repl .token.symbol{color:#b5cea8 !important}.code-comparison-carousel .ccc-repl .token.selector,.code-comparison-carousel .ccc-repl .token.attr-name,.code-comparison-carousel .ccc-repl .token.string,.code-comparison-carousel .ccc-repl .token.char,.code-comparison-carousel .ccc-repl .token.inserted,.code-comparison-carousel .ccc-repl .token.string-interpolation,.code-comparison-carousel .ccc-repl .token.triple-quoted-string{color:#ce9178 !important}.code-comparison-carousel .ccc-repl .token.builtin{color:#4ec9b0 !important}.code-comparison-carousel .ccc-repl .token.interpolation{color:#d4d4d4 !important}.code-comparison-carousel .ccc-repl .token.interpolation .token.punctuation{color:#569cd6 !important}.code-comparison-carousel .ccc-repl .token.format-spec,.code-comparison-carousel .ccc-repl .token.conversion-option{color:#d7ba7d !important}.code-comparison-carousel .ccc-repl .token.operator,.code-comparison-carousel .ccc-repl .token.entity,.code-comparison-carousel .ccc-repl .token.url,.code-comparison-carousel .ccc-repl .token.variable{color:#d4d4d4 !important}.code-comparison-carousel .ccc-repl .token.atrule,.code-comparison-carousel .ccc-repl .token.attr-value,.code-comparison-carousel .ccc-repl .token.keyword{color:#569cd6 !important}.code-comparison-carousel .ccc-repl .token.function,.code-comparison-carousel .ccc-repl .token.class-name{color:#dcdcaa !important}.code-comparison-carousel .ccc-repl .token.decorator,.code-comparison-carousel .ccc-repl .token.annotation{color:#dcdcaa !important}@media(max-width: 600px){.code-comparison-carousel{grid-column:text}.code-comparison-carousel .ccc-panels{grid-template-columns:1fr;height:auto;max-height:none}.code-comparison-carousel .ccc-panel{height:55vh}.code-comparison-carousel .ccc-meta{margin-left:0;width:100%}}d-article .code-comparison-carousel{grid-column-start:3 !important;grid-column-end:-3 !important;width:100%;max-width:100%}d-article .code-comparison-carousel div,d-article .code-comparison-carousel span,d-article .code-comparison-carousel p,d-article .code-comparison-carousel pre,d-article .code-comparison-carousel code,d-article .code-comparison-carousel button,d-article .code-comparison-carousel select{grid-column:auto !important;grid-row:auto !important}d-article .code-comparison-carousel a{border-bottom:none !important}d-article .code-comparison-carousel .ccc-panel{margin:0 !important}d-article .code-comparison-carousel .ccc-msg-content p{margin-top:0 !important;margin-bottom:.55rem !important}d-article .code-comparison-carousel .ccc-msg-content p:last-child{margin-bottom:0 !important}d-article .code-comparison-carousel .ccc-repl pre{margin:0 !important}.sptc-py{--sp-bg: #ffffff;--sp-panel: #f1f3f6;--sp-line: #d5dae2;--sp-text: #1c232b;--sp-dim: #5a6570;--sp-faint: #8a939e;--sp-spec: #7c3aed;--sp-run: #2563eb;--sp-ok: #15803d;--sp-amber: #b45309;--sp-run-soft: rgba(37, 99, 235, 0.06);--sp-ok-soft: rgba(21, 128, 61, 0.10);--sp-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;margin:1.15rem 0 1.4rem;border:1px solid var(--sp-line);border-radius:10px;background:var(--sp-bg);overflow:hidden;color:var(--sp-text);max-width:100%}html[data-theme=dark] .sptc-py{--sp-bg: #0b0f14;--sp-panel: #11161d;--sp-line: #2a313a;--sp-text: #e8edf3;--sp-dim: #77808c;--sp-faint: #4d5661;--sp-spec: #c39bff;--sp-run: #6cb0ff;--sp-ok: #46c364;--sp-amber: #d29922;--sp-run-soft: rgba(108, 176, 255, 0.07);--sp-ok-soft: rgba(70, 195, 100, 0.12)}d-article .sptc-py{grid-column-start:3 !important;grid-column-end:-3 !important}d-article .sptc-py div,d-article .sptc-py span,d-article .sptc-py pre,d-article .sptc-py code,d-article .sptc-py button,.sptc-py div,.sptc-py span,.sptc-py pre,.sptc-py code,.sptc-py button{grid-column:auto !important;grid-column-start:auto !important;grid-column-end:auto !important;grid-row:auto !important}.sptc-py pre{margin:0;padding:12px 14px;background:rgba(0,0,0,0) !important;color:var(--sp-text) !important;border-radius:0;font:400 12.5px/1.7 var(--sp-mono);white-space:pre;overflow-x:auto}.sptc-py-chrome{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--sp-panel);border-bottom:1px solid var(--sp-line)}.sptc-py-dots{display:flex;gap:5px}.sptc-py-dots i{display:block;width:7px;height:7px;border-radius:50%;background:var(--sp-line)}.sptc-py-lang{font:500 10.5px/1 var(--sp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sp-dim)}.sptc-py-copy{margin-left:auto;font:600 10.5px/1 var(--sp-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sp-dim);background:rgba(0,0,0,0);border:1px solid var(--sp-line);border-radius:6px;padding:5px 9px;cursor:pointer}.sptc-py-copy:hover{color:var(--sp-text);border-color:var(--sp-dim)}.sptc-py-copy.ok{color:var(--sp-ok);border-color:var(--sp-ok);background:var(--sp-ok-soft)}.sptc-py-copy:focus-visible{outline:2px solid var(--sp-run);outline-offset:2px}.sptc-py-body{padding:8px 0 10px;overflow-x:auto}.sptc-py-line{display:grid;grid-template-columns:42px minmax(0, 1fr);padding:0 14px 0 0;font:400 12.5px/1.7 var(--sp-mono);white-space:pre}.sptc-py.no-ln .sptc-py-line{grid-template-columns:minmax(0, 1fr);padding:0 14px}.sptc-py-line:hover{background:var(--sp-run-soft)}.sptc-py-ln{user-select:none;text-align:right;padding-right:14px;color:var(--sp-faint);font-variant-numeric:tabular-nums}.sptc-py-src{display:block;min-width:0;background:rgba(0,0,0,0) !important;color:var(--sp-text) !important;padding:0 !important;border-radius:0 !important;font:inherit;white-space:pre}.sptc-py .tok-kw{color:var(--sp-spec) !important;font-weight:500}.sptc-py .tok-fn{color:var(--sp-run) !important}.sptc-py .tok-str{color:var(--sp-ok) !important}.sptc-py .tok-num{color:var(--sp-amber) !important}.sptc-py .tok-bool{color:var(--sp-amber) !important;font-weight:500}.sptc-py .tok-cmt{color:var(--sp-faint) !important;font-style:italic}.sptc-py .tok-dec{color:var(--sp-spec) !important}.sptc-py .tok-type{color:var(--sp-run) !important}.sptc-py .tok-attr{color:var(--sp-text) !important}.sptc-py .tok-op,.sptc-py .tok-punct{color:var(--sp-dim) !important}.sptc-py .tok-interp{color:var(--sp-spec) !important}.kitchen .kitchen-blurb{margin:0 0 1.6rem;font-size:1.05rem;line-height:1.5;color:var(--global-text-color)}.kitchen .kitchen-plates{display:flex;flex-direction:column;gap:.85rem;margin:0 0 2.25rem;padding:0;list-style:none}.kitchen .plate{position:relative;display:grid;grid-template-columns:minmax(0, 38%) minmax(0, 1fr);align-items:stretch;border:1px solid var(--global-divider-color);border-radius:10px;background:var(--global-card-bg-color);overflow:hidden;cursor:pointer}.kitchen .plate:hover .plate-title{color:var(--global-theme-color)}.kitchen .plate:has(.plate-links a:hover) .plate-title,.kitchen .plate:has(.plate-links a:focus-visible) .plate-title{color:var(--global-text-color)}.kitchen .plate:has(.plate-title a:focus-visible){outline:2px solid var(--global-theme-color);outline-offset:-2px}.kitchen .plate-text{grid-template-columns:minmax(0, 1fr)}.kitchen .plate-figure{display:flex;align-items:center;justify-content:center;min-width:0;min-height:100%;padding:.85rem;background:#f3f0ea}.kitchen .plate-figure img{display:block;width:auto;min-width:0;max-width:100%;height:auto;max-height:180px;object-fit:contain}.kitchen .plate-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:1rem 1.15rem 1.05rem}.kitchen .plate-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem .8rem;margin:0 0 .3rem}.kitchen .plate-meta,.kitchen .plate-tags{color:var(--global-text-color-light)}.kitchen .plate-meta{margin:0 auto 0 0;font-size:.8rem}.kitchen .plate-links{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem;margin:0;padding:0;list-style:none}.kitchen .plate-links li{display:flex;align-items:center;margin:0;padding:0;line-height:0}.kitchen .plate-links a{display:inline-flex;align-items:center;gap:.32rem;box-sizing:border-box;height:1.25rem;padding:0 .45rem;border:1px solid var(--global-divider-color);border-radius:999px;background:var(--global-bg-color);color:var(--global-text-color);font-size:.72rem;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap}.kitchen .plate-links a span,.kitchen .plate-links a i{color:inherit}.kitchen .plate-links a i{display:block;flex:0 0 auto;width:.92rem;height:.8rem;font-size:.92rem;line-height:.8rem}.kitchen .plate-links a .plate-svg{display:block;flex:0 0 auto;overflow:visible}.kitchen .plate-links a .plate-svg-github{width:.86rem;height:.86rem;fill:currentColor}.kitchen .plate-links a .plate-svg-neurips{width:.95rem;height:.8595238095rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.kitchen .plate-links a:hover,.kitchen .plate-links a:focus-visible{color:var(--global-text-color);border-color:var(--global-theme-color);text-decoration:none}.kitchen .plate-links a.plate-link-arxiv{background:#b31b1b;border-color:#b31b1b;color:#fff}.kitchen .plate-links a.plate-link-arxiv .arxiv-mark,.kitchen .plate-links a.plate-link-arxiv .arxiv-mark span,.kitchen .plate-links a.plate-link-arxiv span,.kitchen .plate-links a.plate-link-arxiv i{color:#fff}.kitchen .plate-links a.plate-link-arxiv:hover,.kitchen .plate-links a.plate-link-arxiv:focus-visible{background:#8e1515;border-color:#8e1515;color:#fff}.kitchen .plate-links a.plate-link-neurips{background:#2294e0;border-color:#2294e0;color:#fff}.kitchen .plate-links a.plate-link-neurips span,.kitchen .plate-links a.plate-link-neurips i{color:#fff}.kitchen .plate-links a.plate-link-neurips:hover,.kitchen .plate-links a.plate-link-neurips:focus-visible{background:#1976b8;border-color:#1976b8;color:#fff}.kitchen .plate-links a.plate-link-github{background:#24292f;border-color:#24292f;color:#fff}.kitchen .plate-links a.plate-link-github span,.kitchen .plate-links a.plate-link-github i{color:#fff}.kitchen .plate-links a.plate-link-github:hover,.kitchen .plate-links a.plate-link-github:focus-visible{background:#3d444d;border-color:#3d444d;color:#fff}.kitchen .plate-links a.plate-link-x{width:1.25rem;padding:0;border:0;border-radius:0;background:rgba(0,0,0,0);color:#000}.kitchen .plate-links a.plate-link-x i{width:1.25rem;height:1.25rem;color:#000;font-size:1.42rem;line-height:1.25rem;transform:translateY(0.06rem)}.kitchen .plate-links a.plate-link-x:hover,.kitchen .plate-links a.plate-link-x:focus-visible{border:0;background:rgba(0,0,0,0);color:#333}.kitchen .plate-links a.plate-link-x:hover i,.kitchen .plate-links a.plate-link-x:focus-visible i{color:#333}.kitchen .arxiv-mark{font-weight:700;letter-spacing:-0.045em;line-height:1}.kitchen .plate-link-id{font-variant-numeric:tabular-nums;letter-spacing:.01em}.kitchen .plate-title{margin:0 0 .35rem;font-family:"Roboto Slab",Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:500;line-height:1.3;color:var(--global-text-color)}.kitchen .plate-title a{color:inherit;text-decoration:none}.kitchen .plate-title a::after{content:"";position:absolute;inset:0;z-index:1}.kitchen .plate-title a:hover,.kitchen .plate-title a:focus{color:inherit;text-decoration:none}.kitchen .plate-teaser{margin:0;font-size:.98rem;line-height:1.5;color:var(--global-text-color)}.kitchen .plate-tags{margin:.7rem 0 0;font-size:.8rem}.kitchen .vim-twitter{color:inherit;text-decoration:none;white-space:nowrap}.kitchen .vim-twitter:hover,.kitchen .vim-twitter:focus-visible{color:inherit;text-decoration:none}.kitchen .vim-cursor{display:inline-block;width:.56em;height:1.05em;margin-left:1px;background:var(--global-text-color);vertical-align:-0.15em}.kitchen .vim-cursor.is-bar{width:2px;margin-left:0;animation:vim-blink 1.05s steps(1, end) infinite}.kitchen .vim-ch.is-selected{background:var(--global-theme-color);color:#fff}.kitchen .vim-ch.is-block{background:var(--global-text-color);color:var(--global-bg-color)}@keyframes vim-blink{0%,49%{opacity:1}50%,100%{opacity:.45}}html[data-theme=dark] .kitchen .plate-figure{background:#2a2a2e}html[data-theme=dark] .kitchen .plate-links a.plate-link-x{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0);color:#fff}html[data-theme=dark] .kitchen .plate-links a.plate-link-x i{color:#fff}html[data-theme=dark] .kitchen .plate-links a.plate-link-x:hover,html[data-theme=dark] .kitchen .plate-links a.plate-link-x:focus-visible{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0);color:#fff}html[data-theme=dark] .kitchen .plate-links a.plate-link-x:hover i,html[data-theme=dark] .kitchen .plate-links a.plate-link-x:focus-visible i{color:#fff}html[data-theme=dark] .kitchen .plate-links a.plate-link-github{background:#f0f3f6;border-color:#f0f3f6;color:#24292f}html[data-theme=dark] .kitchen .plate-links a.plate-link-github span,html[data-theme=dark] .kitchen .plate-links a.plate-link-github i{color:#24292f}html[data-theme=dark] .kitchen .plate-links a.plate-link-github:hover,html[data-theme=dark] .kitchen .plate-links a.plate-link-github:focus-visible{background:#fff;border-color:#fff;color:#24292f}@media(max-width: 680px){.kitchen .plate{grid-template-columns:minmax(0, 1fr)}.kitchen .plate-figure img{max-height:180px}}body.timeline-page{--tl-canvas: #e6ecf0;--tl-card: #fff;--tl-border: #e1e8ed;--tl-text: #292f33;--tl-muted: #8899a6;--tl-link: #1da1f2;--tl-hover: #f5f8fa;--tl-icon: #8899a6;--tl-media: #f5f8fa;background:var(--tl-canvas)}body.timeline-page .navbar{opacity:1}html[data-theme=dark] body.timeline-page{--tl-canvas: #10171e;--tl-card: #1c2733;--tl-border: #38444d;--tl-text: #e1e8ed;--tl-muted: #8899a6;--tl-link: #1da1f2;--tl-hover: #192734;--tl-icon: #8899a6;--tl-media: #15202b}.timeline{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.35;color:var(--tl-text);-webkit-font-smoothing:antialiased}.timeline a{color:var(--tl-link);text-decoration:none}.timeline a:hover,.timeline a:focus-visible{color:var(--tl-link);text-decoration:none}.timeline-grid{display:grid;grid-template-columns:minmax(190px, 250px) minmax(0, 1fr) minmax(210px, 290px);gap:10px;align-items:start;max-width:1160px;margin:0 auto;padding:10px 12px 48px}.timeline-feed{background:var(--tl-card);border:1px solid var(--tl-border);min-width:0}.timeline-rail{min-width:0}.rail-card{background:var(--tl-card);border:1px solid var(--tl-border);margin:0 0 10px}.rail-card:last-child{margin-bottom:0}.rail-heading{margin:0;padding:10px 12px 4px;color:var(--tl-text);font-size:16px;font-weight:700;line-height:1.3}.rail-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;color:var(--tl-link);font-size:14px;font-weight:400;line-height:1.3}.rail-link+.rail-link{border-top:1px solid var(--tl-border)}.rail-link:hover,.rail-link:focus-visible{background:var(--tl-hover)}.rail-link.is-current{color:var(--tl-text);font-weight:700}.rail-link.is-current:hover,.rail-link.is-current:focus-visible{color:var(--tl-text)}.rail-chevron{flex:0 0 auto;width:12px;height:12px;color:var(--tl-muted)}.trend{display:block;padding:7px 12px 8px}.trend:hover,.trend:focus-visible{background:var(--tl-hover)}.trend-tag{display:block;color:var(--tl-link);font-size:14px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.trend-count{display:block;margin-top:1px;color:var(--tl-muted);font-size:12px;font-weight:400}.profile-card{display:grid;grid-template-columns:48px minmax(0, 1fr);column-gap:10px;row-gap:8px;align-items:center;padding:12px}.profile-avatar,.tweet-avatar{display:block;width:48px;height:48px;border-radius:4px;object-fit:cover}.profile-id{min-width:0}.profile-name{display:block;color:var(--tl-text);font-size:14px;font-weight:700;line-height:1.25}.profile-handle,.profile-bio,.profile-stat-label{color:var(--tl-muted)}.profile-handle{display:block;margin-top:1px;font-size:13px;line-height:1.25}.profile-bio{grid-column:1/-1;margin:0;color:var(--tl-text);font-size:13px;line-height:1.4}.profile-stat{grid-column:1/-1;margin:0}.profile-stat-label{display:block;font-size:11px;font-weight:700;letter-spacing:.03em}.profile-stat-value{display:block;color:var(--tl-text);font-size:18px;font-weight:700;line-height:1.2}.tweet{position:relative;display:grid;grid-template-columns:48px minmax(0, 1fr);gap:10px;padding:12px 14px 8px;border-bottom:1px solid var(--tl-border);cursor:pointer}.tweet:last-child{border-bottom:0}.tweet:hover,.tweet:focus-within{background:var(--tl-hover)}.tweet:has(.tweet-hit:focus-visible){outline:2px solid var(--tl-link);outline-offset:-2px}.tweet-hit{position:absolute;inset:0;z-index:1}.tweet-hit:focus-visible{outline:none}.tweet-main{min-width:0;padding-bottom:2px}.tweet-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px;margin:0 0 2px;font-size:14px;line-height:1.3}.tweet-name{color:var(--tl-text);font-weight:700}.tweet-handle,.tweet-dot,.tweet-time{color:var(--tl-muted);font-weight:400}.tweet-text{margin:0;color:var(--tl-text);font-size:14px;font-weight:400;line-height:1.4;overflow-wrap:break-word}.tweet-title{font-weight:700}.tweet-text+.tweet-text{margin-top:4px}.tweet-media{margin-top:8px;overflow:hidden;max-width:100%;border:1px solid var(--tl-border);border-radius:4px;background:var(--tl-media)}.tweet-media img{display:block;width:100%;max-width:100%;height:auto;max-height:280px;object-fit:contain}.tweet-actions{display:flex;align-items:center;margin-top:10px;max-width:420px;color:var(--tl-icon);font-size:12px;font-weight:700;line-height:1;user-select:none;pointer-events:none}.tweet-action{display:inline-flex;flex:1 1 0;align-items:center;gap:6px;min-width:0;color:inherit;white-space:nowrap}.tweet-action svg{display:block;flex:none;width:16px;height:16px}.tweet-action-count{position:relative;top:1px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}@media(min-width: 761px){.timeline-rail{position:sticky;top:66px}}@media(max-width: 760px){.timeline-grid{grid-template-columns:minmax(0, 1fr);padding-right:0;padding-left:0}.timeline-rail-left{display:contents}.rail-nav{order:1}.timeline-feed{order:2;border-right:0;border-left:0}.timeline-rail-right{order:3}.rail-trends{order:4}.rail-card{margin-right:10px;margin-left:10px}}/*!
 * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-solid,.far,.fa-brands{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-solid,.far{font-family:"Font Awesome 6 Free"}.fa-brands{font-family:"Font Awesome 6 Brands"}.fa-sm{font-size:.875em;line-height:.0714285718em;vertical-align:.0535714295em}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-bounce{0%{transform:scale(1, 1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0)}57%{transform:scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em))}64%{transform:scale(1, 1) translateY(0)}100%{transform:scale(1, 1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, 0.4)}}@keyframes fa-beat-fade{0%,100%{opacity:var(--fa-beat-fade-opacity, 0.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,100%{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.fa-laptop::before{content:""}.fa-clipboard::before{content:""}.fa-clipboard-check::before{content:""}.fa-file-pdf::before{content:""}.fa-tag::before{content:""}.fa-envelope::before{content:""}.fa-location-dot::before{content:""}.fa-thumbtack::before{content:""}.fa-hashtag::before{content:"\#"}.fa-calendar::before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}/*!
 * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */:root{--fa-style-family-brands: "Font Awesome 6 Brands";--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url("../webfonts/fa-brands-400.woff2") format("woff2"),url("../webfonts/fa-brands-400.ttf") format("truetype")}.fa-brands{font-weight:400}.fa-x-twitter:before{content:""}.fa-linkedin:before{content:""}.fa-github:before{content:""}.fa-square-x-twitter:before{content:""}/*!
 * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */:root{--fa-style-family-classic: "Font Awesome 6 Free";--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url("../webfonts/fa-solid-900.woff2") format("woff2"),url("../webfonts/fa-solid-900.ttf") format("truetype")}.fa-solid{font-weight:900}/*!
 * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */:root{--fa-style-family-classic: "Font Awesome 6 Free";--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url("../webfonts/fa-regular-400.woff2") format("woff2"),url("../webfonts/fa-regular-400.ttf") format("truetype")}.far{font-weight:400}/*!
 * Tabler Icons 3.0.1 by tabler - https://tabler.io
 * License - https://github.com/tabler/tabler-icons/blob/master/LICENSE
 */@font-face{font-family:"tabler-icons";font-style:normal;font-weight:400;src:url("../fonts/tabler-icons.woff2?v3.0.1") format("woff2"),url("../fonts/tabler-icons.woff?") format("woff"),url("../fonts/tabler-icons.ttf?v3.0.1") format("truetype")}.ti{font-family:"tabler-icons" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ti-search:before{content:"\eb1c"}/*!
 * Tabler Icons 3.0.1 by tabler - https://tabler.io
 * License - https://github.com/tabler/tabler-icons/blob/master/LICENSE
 */@font-face{font-family:"tabler-icons";font-style:normal;font-weight:400;src:url("../fonts/tabler-icons-filled.woff2?v3.0.1") format("woff2"),url("../fonts/tabler-icons-filled.woff?") format("woff"),url("../fonts/tabler-icons-filled.ttf?v3.0.1") format("truetype")}.ti{font-family:"tabler-icons" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}/*!
 * Tabler Icons 3.0.1 by tabler - https://tabler.io
 * License - https://github.com/tabler/tabler-icons/blob/master/LICENSE
 */@font-face{font-family:"tabler-icons";font-style:normal;font-weight:400;src:url("../fonts/tabler-icons-outline.woff2?v3.0.1") format("woff2"),url("../fonts/tabler-icons-outline.woff?") format("woff"),url("../fonts/tabler-icons-outline.ttf?v3.0.1") format("truetype")}.ti{font-family:"tabler-icons" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ti-search:before{content:"\eb1c"}