﻿:root{--global-bg-color:#fff;--global-code-bg-color:rgba(181,9,172,0.05);--global-text-color:#000;--global-text-color-light:#828282;--global-theme-color:#c72;--global-hover-color:#b509ac;--global-hover-text-color:#fff;--global-footer-bg-color:#1c1c1d;--global-footer-text-color:#e8e8e8;--global-footer-link-color:#fff;--global-distill-app-color:#828282;--global-divider-color:rgba(0,0,0,0.1);--global-card-bg-color:#fff;--global-highlight-color:#b71c1c;--global-back-to-top-bg-color:rgba(0,0,0,0.4);--global-back-to-top-text-color:#fff;--global-newsletter-bg-color:#fff;--global-newsletter-text-color:#000;--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 #light-toggle-system{padding-left:10px;padding-top:12px;display:block}:root #light-toggle-dark{display:none}:root #light-toggle-light{display:none}: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:#c72;--global-hover-color:#2698ba;--global-hover-text-color:#fff;--global-footer-bg-color:#e8e8e8;--global-footer-text-color:#1c1c1d;--global-footer-link-color:#000;--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:#000;--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] #light-toggle-system{display:none}html[data-theme-setting=dark] #light-toggle-dark{padding-left:10px;padding-top:12px;display:block}html[data-theme-setting=dark] #light-toggle-light{display:none}html[data-theme-setting=dark] #back-to-top{color:var(--global-back-to-top-text-color);background:var(--global-back-to-top-bg-color)}html[data-theme-setting=light] #light-toggle-system{display:none}html[data-theme-setting=light] #light-toggle-dark{display:none}html[data-theme-setting=light] #light-toggle-light{padding-left:10px;padding-top:12px;display:block}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}.container{max-width:930px}.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;padding:1px 1rem 1px 0}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-dark{background-color:rgba(0,0,0,0)}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}.caption{font-size:.875rem;margin-top:.75rem;margin-bottom:1.5rem;text-align:center}.card{background-color:var(--global-card-bg-color)}.citation,.citation-number{color:var(--global-theme-color)}.profile{width:100%}.profile .more-info{margin-bottom:5px;margin-top:5px;font-family:monospace}.profile .more-info p{display:inline-block;margin:0}.profile.float-right{margin-left:1rem}@media(min-width:576px){.profile{width:30%}.profile .address p{display:block}}.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}.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:hover i::before{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}.social .contact-icons{font-size:4rem}.social .contact-icons a i::before{color:var(--global-text-color);transition-property:all .2s ease-in-out}.social .contact-icons a:hover i::before{color:var(--global-theme-color)}.social .contact-note{font-size:.8rem}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}.post-list{margin:0;margin-bottom:40px;padding:0}.post-list li{border-bottom:1px solid var(--global-divider-color);list-style:none;padding-top:2rem;padding-bottom:2rem}.post-list li .post-meta{color:var(--global-text-color-light);font-size:.875rem;margin-bottom:0}.post-list li .post-tags{color:var(--global-text-color-light);font-size:.875rem;padding-top:.25rem;padding-bottom:0}.post-list li a{color:var(--global-text-color);text-decoration:none}.post-list li a:hover{color:var(--global-theme-color)}.post-list-thumbnail{width:180px;max-width:100%;height:120px;object-fit:cover;border-radius:4px;display:block}@media(max-width:576px){.post-list-thumbnail{width:100%;height:auto;aspect-ratio:3/2}}.distill a:hover{border-bottom-color:var(--global-theme-color);text-decoration:none}.projects a{text-decoration:none}.projects .card img{width:100%}.projects .col{padding-bottom:1rem}.projects .grid-item{width:250px;margin-bottom:10px}.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 .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 .badges{padding-bottom:.5rem}.publications ol.bibliography li .badges span{display:inline-block;color:#000;height:100%;padding-right:.5rem;vertical-align:middle}.publications ol.bibliography li .badges span:hover{text-decoration:underline}.publications ol.bibliography li .hidden{font-size:.875rem;max-height:0;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:0;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}}.unloaded{display:none!important}#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:0;--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)}.bibsearch-form-input{color:var(--global-newsletter-text-color);background:var(--global-newsletter-bg-color);border:1px solid var(--global-newsletter-text-color);outline:0;margin:0 10px 0 0;width:100%;max-width:350px;min-width:100px;box-sizing:border-box;box-shadow:rgba(0,0,0,.05) 0px 1px 2px;border-radius:6px;padding:8px 12px}.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)}::highlight(search){background-color:var(--global-theme-color);color:var(--global-text-color)}figure.substack-figure,figure.substack-gallery{margin:2rem auto}figure.substack-figure img,figure.substack-gallery img{display:block;margin-inline:auto;max-width:100%;height:auto}figure.substack-figure figcaption.caption,figure.substack-gallery figcaption.caption{margin-top:.75rem}figure.substack-figure img{width:100%}figure.substack-figure.substack-portrait img{width:auto;max-width:min(100%,30rem);max-height:36rem}figure.substack-gallery .substack-gallery-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:.75rem}figure.substack-gallery .substack-gallery-row img{flex:1 1 0;min-width:8rem}.sketchbook{width:min(92vw,1180px);margin:1.5rem auto 3rem;margin-left:50%;transform:translateX(-50%)}.sketchbook .sb-stage{display:flex;align-items:center;justify-content:center;gap:clamp(.75rem,4vw,3.5rem)}.sketchbook .sb-arrow{background:0;border:0;padding:.75rem .5rem;color:var(--global-text-color);opacity:.55;cursor:pointer;transition:opacity .2s ease,transform .2s ease;flex:0 0 auto}.sketchbook .sb-arrow:hover:not(.is-disabled){opacity:1}.sketchbook .sb-arrow:hover:not(.is-disabled).sb-prev{transform:translateX(-2px)}.sketchbook .sb-arrow:hover:not(.is-disabled).sb-next{transform:translateX(2px)}.sketchbook .sb-arrow.is-disabled{opacity:.15;cursor:default;pointer-events:none}@media(max-width:768px){.sketchbook .sb-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;filter:drop-shadow(0 0 3px var(--global-bg-color))}.sketchbook .sb-arrow.sb-prev{left:-0.25rem}.sketchbook .sb-arrow.sb-next{right:-0.25rem}.sketchbook .sb-arrow:hover:not(.is-disabled){transform:translateY(-50%)}}.sketchbook .sb-book{position:relative;width:min(1040px,100%);aspect-ratio:16/9;perspective:2600px;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.1),0 24px 60px -12px rgba(0,0,0,.28);touch-action:pan-y;user-select:none;-webkit-user-select:none}.sketchbook .sb-base{position:absolute;inset:0;border-radius:6px}.sketchbook .sb-base::after{content:"";position:absolute;inset:0;border-radius:6px;background:linear-gradient(90deg,transparent calc(50% - 34px),rgba(0,0,0,0.14) 50%,transparent calc(50%+34px));pointer-events:none}
.sketchbook .sb-half{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;background-color:#f4f0e6}.sketchbook .sb-half.sb-half-l{left:0;border-radius:6px 0 0 6px}.sketchbook .sb-half.sb-half-r{right:0;border-radius:0 6px 6px 0}.sketchbook .sb-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:fill;opacity:0;transition:opacity .45s ease!important;pointer-events:none;user-select:none;-webkit-user-drag:none}.sketchbook .sb-img.is-ready{opacity:1}.sketchbook .sb-img.is-inst{transition:none!important}.sketchbook .sb-cast{position:absolute;inset:0;z-index:1;opacity:0;pointer-events:none;border-radius:6px}.sketchbook .sb-cast.sb-cast-left{background:linear-gradient(270deg,rgba(0,0,0,0.22),transparent 45%)}.sketchbook .sb-cast.sb-cast-right{background:linear-gradient(90deg,rgba(0,0,0,0.22),transparent 45%)}.sketchbook.sb-casting-left .sb-cast-left,.sketchbook.sb-casting-right .sb-cast-right{animation:sb-cast 720ms cubic-bezier(0.55,0.06,0.35,1)}.sketchbook .sb-sheet{position:absolute;top:0;bottom:0;left:50%;right:0;z-index:2;transform-style:preserve-3d;transform-origin:left center;will-change:transform;pointer-events:none}.sketchbook .sb-sheet.is-hidden{visibility:hidden}.sketchbook .sb-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.18)}.sketchbook .sb-face.sb-back{transform:rotateY(180deg)}.sketchbook .sb-shade{position:absolute;inset:0;z-index:3;transform:translateZ(1px);background:linear-gradient(90deg,rgba(0,0,0,0.5),rgba(0,0,0,0.08) 60%);opacity:0;border-radius:6px}.sketchbook .sb-dir-next .sb-shade{animation:sb-shade-flip 720ms cubic-bezier(0.55,0.06,0.35,1)}.sketchbook .sb-dir-prev .sb-shade{transform:translateZ(1px) scaleX(-1);animation:sb-shade-flip 720ms cubic-bezier(0.55,0.06,0.35,1)}.sketchbook .sb-blur-1 .sb-face{filter:url("#sb-mblur-1")}.sketchbook .sb-blur-2 .sb-face{filter:url("#sb-mblur-2")}.sketchbook .sb-wait{position:absolute;top:50%;left:50%;z-index:6;width:26px;height:26px;margin:-13px 0 0 -13px;border:2px solid rgba(72,60,46,.25);border-top-color:rgba(72,60,46,.8);border-radius:50%;opacity:0;transition:opacity .25s ease;pointer-events:none}.sketchbook.is-loading .sb-wait{opacity:1;animation:sb-spin .9s linear infinite}.sketchbook .sb-zone{position:absolute;top:0;bottom:0;width:50%;z-index:4;background:0;border:0;padding:0;cursor:pointer}.sketchbook .sb-zone.sb-zone-prev{left:0}.sketchbook .sb-zone.sb-zone-next{right:0}.sketchbook .sb-zone.is-disabled{cursor:default;pointer-events:none}.sketchbook .sb-zone:focus{outline:0}.sketchbook .sb-caption{margin:1.75rem 0 0;text-align:center;font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--global-text-color-light);opacity:1;transition:opacity .18s ease}.sketchbook .sb-caption.is-fading{opacity:0}.sketchbook .sb-progress{position:absolute;bottom:-0.9rem;left:50%;width:100%;height:2px;transform:translateX(-50%);border-radius:2px;background:rgba(127,127,127,.2);overflow:hidden;opacity:1;transition:opacity .6s ease;pointer-events:none}.sketchbook .sb-progress span{display:block;width:0;height:100%;border-radius:inherit;background:var(--global-text-color-light);transition:width .25s ease}.sketchbook.sb-loaded .sb-progress{opacity:0}@keyframes sb-shade-flip{0%{opacity:0}45%{opacity:1}100%{opacity:0}}@keyframes sb-cast{0%{opacity:0}40%{opacity:0}70%{opacity:1}100%{opacity:0}}@keyframes sb-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sketchbook .sb-sheet,.sketchbook .sb-shade{transition:none!important;animation:none!important}.sketchbook .sb-img{transition:none!important}.sketchbook.is-loading .sb-wait{animation:none!important}}.bookshelf{width:min(98vw,1800px);margin:1.5rem auto 3rem;margin-left:50%;transform:translateX(-50%);--bs-cloth-1:#7d3b3b;--bs-cloth-2:#3d4b66;--bs-cloth-3:#4a5a3f;--bs-cloth-4:#8a6a34;--bs-cloth-5:#5a4a56;--bs-cloth-6:#2f4f52;--bs-cloth-7:#6b5647;--bs-cloth-8:#3a3a3c;--bs-case:var(--global-card-bg-color,#fff);--bs-back:color-mix(in srgb,var(--global-text-color) 5%,var(--global-bg-color));--bs-wood:color-mix(in srgb,var(--global-text-color) 11%,var(--global-bg-color));--bs-wood-lit:color-mix(in srgb,var(--global-text-color) 19%,var(--global-bg-color));--bs-ink:var(--global-text-color);--bs-faded:var(--global-text-color-light);--bs-accent:var(--global-theme-color);--bs-line:var(--global-divider-color,rgba(0,0,0,0.1));--bs-spine-ink:rgba(255,255,255,0.88);--bs-washed-ink:rgba(0,0,0,0.55);--bs-shadow:rgba(0,0,0,0.22)}html[data-theme=dark] .bookshelf{--bs-cloth-1:#8f4a48;--bs-cloth-2:#4c5c78;--bs-cloth-3:#5a6a4d;--bs-cloth-4:#9c7a44;--bs-cloth-5:#6b5a66;--bs-cloth-6:#3d6064;--bs-cloth-7:#7c6857;--bs-cloth-8:#4a4a4d;--bs-spine-ink:rgba(255,255,255,0.92);--bs-washed-ink:rgba(255,255,255,0.72);--bs-shadow:rgba(0,0,0,0.55)}.bookshelf .bs-section{margin-top:1.5rem}.bookshelf .bs-section:first-child{margin-top:.35rem}
.bookshelf .bs-section-label{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 14px .5rem;padding-bottom:.35rem;border-bottom:1px solid var(--bs-line)}.bookshelf .bs-section-name{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bs-ink)}.bookshelf .bs-section-count{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bs-faded);font-variant-numeric:tabular-nums}.bookshelf .bs-case.is-template{display:none}.bookshelf .bs-case{position:relative;margin:0 auto;padding-top:10px;background:var(--bs-back);border:1px solid var(--bs-line);border-radius:5px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 20px 44px -26px var(--bs-shadow)}.bookshelf .bs-rail{position:relative;height:12px;margin:0 12px;background:var(--bs-wood);border-bottom:1px solid var(--bs-line);border-radius:2px 2px 0 0;box-shadow:inset 0 1px 0 var(--bs-wood-lit)}.bookshelf .bs-post{position:absolute;top:0;bottom:0;width:14px;z-index:5;background:linear-gradient(90deg,var(--bs-wood) 0 5px,var(--bs-wood-lit) 5px 100%)}.bookshelf .bs-post.bs-post-l{left:0;border-right:1px solid var(--bs-line);border-radius:5px 0 0 5px}.bookshelf .bs-post.bs-post-r{right:0;border-left:1px solid var(--bs-line);border-radius:0 5px 5px 0;background:linear-gradient(270deg,var(--bs-wood) 0 5px,var(--bs-wood-lit) 5px 100%)}.bookshelf .bs-post::before,.bookshelf .bs-post::after{content:"";position:absolute;left:5.5px;width:3.5px;height:3.5px;border-radius:50%;background:var(--bs-faded);opacity:.55}.bookshelf .bs-post::before{top:9px}.bookshelf .bs-post::after{bottom:9px}.bookshelf .bs-plinth{position:relative;height:12px;margin:0 12px;background:var(--bs-wood);border-top:1px solid var(--bs-line)}.bookshelf .bs-plinth::before,.bookshelf .bs-plinth::after{content:"";position:absolute;bottom:-6px;width:28px;height:6px;background:var(--bs-wood-lit);border-radius:0 0 2px 2px}.bookshelf .bs-plinth::before{left:14px}.bookshelf .bs-plinth::after{right:14px}.bookshelf .bs-row{position:relative;padding:24px 14px 10px}.bookshelf .bs-stage{position:relative;height:var(--row-h)}.bookshelf .bs-books{position:relative;display:flex;align-items:flex-end;height:100%}.bookshelf .bs-board{position:absolute;left:14px;right:14px;bottom:0;z-index:3;height:11px;background:var(--bs-wood);border-top:1px solid var(--bs-line);box-shadow:0 6px 9px -7px var(--bs-shadow)}.bookshelf .bs-board::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(180deg,var(--bs-shadow),transparent);opacity:.45}.bookshelf .bs-board::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--bs-line)}.bookshelf .bs-book{position:relative;flex:0 0 auto;width:var(--w);height:var(--h);--g1:min(6px,22%);--g2:min(7px,27%);margin:0;padding:0;border:0;border-radius:1px 1px 0 0;background:var(--cloth);color:var(--bs-spine-ink);font-family:inherit;cursor:pointer;transform:translateY(0);transition:transform .18s cubic-bezier(0.4,0,0.2,1)!important;user-select:none;-webkit-user-select:none}.bookshelf .bs-book::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,0.2) 0,rgba(0,0,0,0) 2px,rgba(0,0,0,0) calc(100% - 2px),rgba(0,0,0,0.2) 100%),linear-gradient(90deg,transparent 0 var(--g1),rgba(255,255,255,0.08) var(--g1),rgba(0,0,0,0.13) var(--g2),transparent var(--g2) calc(100% - var(--g2)),rgba(0,0,0,0.13) calc(100% - var(--g1)),rgba(255,255,255,0.08) calc(100% - var(--g1)),transparent calc(100% - var(--g1)))}.bookshelf .bs-book::after{content:"";position:absolute;inset:auto 0 -5px 0;height:9px;background:var(--bs-shadow);opacity:.24;filter:blur(3px);pointer-events:none;transition:opacity .18s ease}.bookshelf .bs-book:hover,.bookshelf .bs-book:focus-visible{transform:translateY(-3px)}.bookshelf .bs-book:hover::after,.bookshelf .bs-book:focus-visible::after{opacity:.32}.bookshelf .bs-book:focus-visible{outline:1px solid var(--bs-accent);outline-offset:3px}.bookshelf .bs-book.is-open{transform:translateY(-5px)}.bookshelf .bs-book.is-open::after{opacity:.38}.bookshelf .bs-book .bs-head{position:absolute;top:0;left:5px;right:5px;height:4px;background:hsla(0,0,100%,.5);box-shadow:0 1px 0 rgba(0,0,0,.22)}.bookshelf .bs-book .bs-rule{position:absolute;left:6px;right:6px;height:1px;background:currentColor;opacity:.35}.bookshelf .bs-book .bs-rule-top{top:12px}.bookshelf .bs-book .bs-rule-bot{bottom:14px}.bookshelf .bs-book .bs-title{transition:none!important;position:absolute;top:19px;right:4px;bottom:20px;left:4px;overflow:hidden;mask-image:linear-gradient(0,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(0,#000 78%,transparent 100%)}.bookshelf .bs-book .bs-title span{display:block;width:100%;height:100%;transition:none!important;writing-mode:vertical-rl;transform:rotate(180deg);font-family:"Roboto Slab",serif;font-size:var(--fs,0.72rem);font-weight:500;line-height:1;letter-spacing:.01em;white-space:nowrap;overflow:hidden}
.bookshelf .bs-book .bs-title.is-wrap span{white-space:normal;line-height:1.06}.bookshelf .bs-book .bs-author{transition:none!important;position:absolute;right:4px;bottom:3px;left:4px;overflow:hidden;font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;opacity:.6}.bookshelf .bs-book.is-narrow .bs-author{display:none}.bookshelf .bs-book .bs-ribbon{position:absolute;top:-11px;left:26%;z-index:2;width:5px;height:15px;background:var(--bs-accent);border-radius:1px 1px 0 0;box-shadow:0 1px 0 rgba(0,0,0,.25)}.bookshelf .bs-book .bs-ribbon::after{content:"";position:absolute;top:100%;left:0;width:0;height:0;border-right:2px solid rgba(0,0,0,0);border-left:2px solid rgba(0,0,0,0);border-top:3px solid var(--bs-accent)}.bookshelf .bs-book.is-reading .bs-ribbon{display:block}.bookshelf .bs-book.is-toread{background:color-mix(in srgb,var(--cloth) 64%,var(--global-bg-color));color:var(--bs-washed-ink)}.bookshelf .bs-book.is-toread .bs-head{background:color-mix(in srgb,var(--bs-ink) 22%,transparent);box-shadow:none}.bookshelf .bs-book.is-reading .bs-head{background:var(--bs-accent);box-shadow:none}.bookshelf .bs-book.is-open .bs-head{background:var(--bs-accent);box-shadow:none}.bookshelf .bs-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;margin:0 0 .9rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bs-faded)}.bookshelf .bs-key{display:inline-flex;align-items:center;gap:.45rem}.bookshelf .bs-key::before{content:"";width:9px;height:11px;border-radius:1px;background:var(--bs-wood-lit);box-shadow:inset 0 0 0 1px var(--bs-line)}.bookshelf .bs-key-ribbon::before{width:4px;background:var(--bs-accent);box-shadow:none}.bookshelf .bs-readout{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}.bookshelf .bs-modal{width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:clamp(.75rem,4vw,2.5rem);border:0;background:0;overflow:hidden;place-items:center}.bookshelf .bs-modal:not([open]){display:none}.bookshelf .bs-modal[open]{display:grid}.bookshelf .bs-modal::backdrop{background:color-mix(in srgb,var(--global-bg-color) 58%,transparent);backdrop-filter:blur(6px) saturate(0.92);-webkit-backdrop-filter:blur(6px) saturate(0.92);opacity:0;transition:opacity 150ms cubic-bezier(0.23,1,0.32,1)}@starting-style{.bookshelf .bs-modal::backdrop{opacity:1}}.bookshelf .bs-modal[open]::backdrop{opacity:1}.bookshelf .bs-panel{position:relative;z-index:1;width:min(94vw,780px);max-height:min(86vh,780px);max-height:min(86dvh,780px);display:flex;flex-direction:column;overflow:hidden;background:var(--bs-case);border:1px solid var(--bs-line);border-radius:5px;box-shadow:0 2px 4px rgba(0,0,0,.06),0 30px 60px -30px var(--bs-shadow);transform-origin:center;opacity:0;transform:scale(0.97) translateY(4px);transition:opacity 150ms cubic-bezier(0.23,1,0.32,1),transform 150ms cubic-bezier(0.23,1,0.32,1)}.bookshelf .bs-panel:focus{outline:0}.bookshelf .bs-panel.is-in{opacity:1;transform:none;transition-duration:220ms}.bookshelf .bs-grip{display:none}.bookshelf .bs-body{display:grid;grid-template-columns:minmax(140px,210px) 1fr;gap:clamp(1rem,3vw,2rem);padding:1.6rem clamp(1rem,3vw,2rem) 1.75rem;padding-bottom:max(1.75rem,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;min-height:0}.bookshelf .bs-cover{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--bs-wood);border:1px solid var(--bs-line);border-radius:2px;box-shadow:0 12px 24px -16px var(--bs-shadow)}.bookshelf .bs-cover img{position:relative;display:block;width:100%;height:100%;object-fit:cover}.bookshelf .bs-cover .bs-cover-mark{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding:1.1rem 1rem 1.1rem 1.4rem;background:var(--cloth,var(--bs-cloth-2));color:var(--bs-spine-ink)}.bookshelf .bs-cover .bs-cover-mark::before{content:"";position:absolute;top:0;bottom:0;left:10px;width:1px;background:hsla(0,0,100%,.3)}.bookshelf .bs-cover .bs-cover-mark span{font-family:"Roboto Slab",serif;font-size:1rem;line-height:1.3}.bookshelf .bs-cover .bs-cover-mark small{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.bookshelf .bs-detail{min-width:0}.bookshelf .bs-ptitle{margin:0 0 .35rem;font-family:"Roboto Slab",serif;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:500;line-height:1.2;color:var(--bs-ink)}.bookshelf .bs-psubtitle{margin:.1rem 0 0;font-size:.95rem;font-style:italic;color:var(--bs-faded)}.bookshelf .bs-pauthor{margin:.25rem 0 0;font-size:.95rem;color:var(--bs-faded)}.bookshelf .bs-stars{display:flex;gap:2px;margin:.75rem 0 0;color:var(--bs-accent)}.bookshelf .bs-stars svg{display:block;width:13px;height:13px}.bookshelf .bs-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.95rem 0 0;padding:0;list-style:none}
.bookshelf .bs-chips li{padding:.22rem .6rem .18rem;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bs-ink);background:color-mix(in srgb,var(--bs-ink) 5%,transparent);border:1px solid var(--bs-line);border-radius:2px}.bookshelf .bs-review{margin:1.3rem 0 0;padding:0 0 0 1rem;background:0;border-left:2px solid var(--bs-accent);font-size:inherit}.bookshelf .bs-review .bs-review-label{display:block;margin-bottom:.4rem;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bs-faded)}.bookshelf .bs-review p{margin:0;font-family:"Roboto Slab",serif;font-size:.95rem;font-style:italic;line-height:1.7;white-space:pre-line;color:var(--bs-ink)}.bookshelf .bs-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.4rem 0 0}.bookshelf .bs-links a,.bookshelf .bs-links button{padding:.35rem .75rem .3rem;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bs-ink);background:0;border:1px solid var(--bs-line);border-radius:2px;cursor:pointer;text-decoration:none;transition:color .16s ease,border-color .16s ease}.bookshelf .bs-links a:hover,.bookshelf .bs-links a:focus-visible,.bookshelf .bs-links button:hover,.bookshelf .bs-links button:focus-visible{color:var(--bs-accent);border-color:var(--bs-accent)}.bookshelf .bs-close{position:absolute;top:.5rem;right:.6rem;z-index:2;padding:.25rem .5rem;font-size:1.1rem;line-height:1;color:var(--bs-faded);background:0;border:0;cursor:pointer}.bookshelf .bs-close:hover,.bookshelf .bs-close:focus-visible{color:var(--bs-ink)}.bookshelf .bs-noscript{margin:0;padding:0 1.25rem 1.25rem;list-style:none;columns:2}.bookshelf .bs-noscript li{break-inside:avoid;padding:.15rem 0;font-size:.82rem;color:var(--bs-ink)}.bookshelf .bs-noscript span{color:var(--bs-faded)}@media(max-width:640px){.bookshelf .bs-modal{place-items:end center;padding:0}.bookshelf .bs-panel{width:100%;max-height:88vh;max-height:88dvh;border-radius:14px 14px 0 0;transform:translateY(14px);transition:transform 150ms cubic-bezier(0.23,1,0.32,1)}.bookshelf .bs-panel.is-in{transform:none}.bookshelf .bs-grip{display:block;flex:0 0 auto;padding:.55rem 0 .9rem;touch-action:none}.bookshelf .bs-grip::before{content:"";display:block;width:38px;height:4px;margin:0 auto;border-radius:2px;background:var(--bs-line)}.bookshelf .bs-body{display:flex;flex-direction:column;gap:1.25rem;padding:0 1.1rem 1.4rem;padding-bottom:max(1.4rem,env(safe-area-inset-bottom))}.bookshelf .bs-body:has(~.bs-grip){overscroll-behavior:contain}.bookshelf .bs-cover{flex:0 0 auto;width:132px;height:198px;max-width:none;aspect-ratio:auto;margin-top:.1rem}.bookshelf .bs-cover{max-width:150px}.bookshelf .bs-noscript{columns:1}}@media(prefers-reduced-motion:reduce){.bookshelf .bs-book,.bookshelf .bs-panel{transition:none!important}.bookshelf .bs-panel{transform:none}}d-byline{border-top-color:var(--global-divider-color)!important}d-byline h3{color:var(--global-text-color)!important}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-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}p.location{font-size:.7rem;white-space:nowrap}div.list-group{display:flex;flex-wrap:wrap;flex-direction:column;align-items:flex-start;margin-bottom:2rem}.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}/*!
 * Font Awesome Free 6.6.0 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-solid,.fa-brands,.far,.fa{-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(0)}}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fa-clipboard::before{content:""}.fa-clipboard-check::before{content:""}.fa-envelope::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.6.0 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-github:before{content:""}/*!
 * Font Awesome Free 6.6.0 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.6.0 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.16.0 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.16.0") format("woff2"),url("../fonts/tabler-icons.woff?") format("woff"),url("../fonts/tabler-icons.ttf?v3.16.0") 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-moon-filled:before{content:"\f684"}.ti-search:before{content:"\eb1c"}.ti-sun-filled:before{content:"\f6a9"}.ti-sun-moon:before{content:"\f4a3"}/*!
 * Tabler Icons 3.16.0 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.16.0") format("woff2"),url("../fonts/tabler-icons-filled.woff?") format("woff"),url("../fonts/tabler-icons-filled.ttf?v3.16.0") 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.16.0 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.16.0") format("woff2"),url("../fonts/tabler-icons-outline.woff?") format("woff"),url("../fonts/tabler-icons-outline.ttf?v3.16.0") 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"}.ti-sun-moon:before{content:"\f4a3"}