:root{color-scheme:light;--global-white-rgb:255,255,255;--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:#00cbe6;--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 .only-light{display:block}:root .only-dark{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:48px;width:48px;z-index:10}html[data-theme=dark]{color-scheme:dark;--global-bg-color:#1c1c1d;--global-code-bg-color:#2c3237;--global-text-color:#e8e8e8;--global-text-color-light:#828282;--global-theme-color:#00cbe6;--global-hover-color:#00cbe6;--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(var(--global-white-rgb),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=dark] .only-light{display:none}html[data-theme=dark] .only-dark{display:block}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}.container{max-width:1300px}.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}blockquote.block-tip{border-color:var(--global-tip-block);background-color:var(--global-tip-block-bg)}blockquote.block-tip em,blockquote.block-tip li,blockquote.block-tip p,blockquote.block-tip strong{color:var(--global-tip-block-text)}blockquote.block-tip h1,blockquote.block-tip h2,blockquote.block-tip h3,blockquote.block-tip h4,blockquote.block-tip h5,blockquote.block-tip h6{color:var(--global-tip-block-title)}blockquote.block-warning{border-color:var(--global-warning-block);background-color:var(--global-warning-block-bg)}blockquote.block-warning em,blockquote.block-warning li,blockquote.block-warning p,blockquote.block-warning strong{color:var(--global-warning-block-text)}blockquote.block-warning h1,blockquote.block-warning h2,blockquote.block-warning h3,blockquote.block-warning h4,blockquote.block-warning h5,blockquote.block-warning h6{color:var(--global-warning-block-title)}
blockquote.block-danger{border-color:var(--global-danger-block);background-color:var(--global-danger-block-bg)}blockquote.block-danger em,blockquote.block-danger li,blockquote.block-danger p,blockquote.block-danger strong{color:var(--global-danger-block-text)}blockquote.block-danger h1,blockquote.block-danger h2,blockquote.block-danger h3,blockquote.block-danger h4,blockquote.block-danger h5,blockquote.block-danger h6{color:var(--global-danger-block-title)}ul.task-list{list-style-type:none}ul.task-list>li ul{padding-inline-start:1.5rem}ul.task-list input[type=checkbox]{margin:.275rem .5rem .5rem -1rem;vertical-align:middle}.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-img{width:100%;padding-top:1.25rem}.card .card-title{color:var(--global-text-color)}.card .card-body{padding:1.25rem 1.25rem 1.25rem 1.25rem}.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}.profile.float-left{margin-right: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{padding-top:.25rem;padding-bottom:.25rem;box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-bottom:1px solid var(--global-divider-color);background-color:var(--global-bg-color);opacity:.95}.navbar-brand.title{margin-right:.56rem}.navbar-brand .brand-avatar{height:38px;margin-top:-3px;margin-bottom:-3px;vertical-align:middle}.navbar-logs-button{position:relative;display:inline-flex;width:2.4rem;height:2.4rem;align-items:center;justify-content:center;margin-left:.1525rem;border:1px solid rgba(0,0,0,0);border-radius:5px;background-color:#fff;color:#111!important;line-height:1;text-decoration:none!important;transition:background-color .16s ease-in-out,border-color .16s ease-in-out,color .16s ease-in-out,transform .16s ease-in-out}.navbar-logs-button i{font-size:1.35rem}.navbar-logs-button:hover,.navbar-logs-button:focus-visible{border-color:var(--global-theme-color);background-color:var(--global-theme-color);color:#fff!important;text-decoration:none!important;transform:translateY(-1px)}.navbar-logs-button:active{border-color:rgba(0,0,0,0);background-color:#111;color:#fff!important;filter:none;transform:translateY(0)}.navbar-logs-tooltip{position:absolute;top:calc(100%+.45rem);left:50%;z-index:1030;padding:.35rem .55rem;transform:translateX(-50%) translateY(-0.15rem);border-radius:4px;background:#212529;color:#fff;font-size:.9rem;font-weight:500;line-height:1.15;opacity:0;pointer-events:none;white-space:nowrap;visibility:hidden;transition:opacity .16s ease-in-out,transform .16s ease-in-out,visibility .16s ease-in-out}.navbar-logs-button:hover .navbar-logs-tooltip,.navbar-logs-button:focus-visible .navbar-logs-tooltip{opacity:1;transform:translateX(-50%);visibility:visible}.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 img{width:1.7rem;height:1.7rem;margin-bottom:.5rem}.navbar.navbar-light .navbar-brand.social a svg{width:1.7rem;height:1.7rem;margin-bottom:.5rem}.navbar.navbar-light .navbar-brand.social a svg image{width:1.7rem;height: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)}.logs-vanta-bg{position:absolute;top:3.55rem;right:0;left:0;z-index:0;width:100vw;height:clamp(25rem,48vh,34rem);overflow:hidden;background:#000;pointer-events:none}.logs-vanta-bg canvas{display:block}.logs-page{position:relative;isolation:isolate;width:min(100vw - 2rem,1320px);margin-left:calc(50% - min(50vw - 1rem,660px))}.logs-page main{position:relative;z-index:1}.logs-page .logs-hero{position:relative;z-index:1;padding:6rem 1rem 8.25rem;text-align:center}.logs-page .logs-title{margin-bottom:.75rem;color:#fff;font-size:2.45rem;font-weight:800;letter-spacing:0;line-height:1.15;text-shadow:0 .12rem .18rem #000,0 .28rem .62rem rgba(0,0,0,.98),0 .55rem 1.55rem rgba(0,0,0,.96),0 0 2.75rem rgba(0,0,0,.9)}.logs-page .logs-lead{color:#fff;font-size:1.18rem;line-height:1.25;text-shadow:0 .1rem .16rem #000,0 .24rem .52rem rgba(0,0,0,.98),0 .46rem 1.2rem rgba(0,0,0,.94),0 0 2.2rem rgba(0,0,0,.86)}.logs-page .logs-container{position:relative;z-index:2;max-width:1120px;margin:-3.15rem auto 4rem;padding:0 1.25rem}.logs-page .logs-layout{display:block}.logs-page .logs-year-nav{position:fixed;top:calc(3.55rem+clamp(25rem,48vh,34rem) - 1.35rem);right:clamp(.75rem,(100vw - 1120px)/2 - 8.6rem,19rem);z-index:1020;display:grid;gap:.18rem;min-width:6.3rem;padding:.72rem;border:1px solid rgba(var(--global-white-rgb),0.72);border-radius:8px;background:rgba(var(--global-white-rgb),0.56);box-shadow:0 .7rem 1.7rem rgba(18,31,44,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:.58;transition:opacity 180ms ease,transform 180ms ease,background 180ms ease}.logs-page .logs-year-nav:hover{background:rgba(var(--global-white-rgb),0.8);opacity:.82;transform:translateX(-2px)}.logs-page .logs-year-nav a{display:block;padding:.33rem .5rem;border-radius:6px;color:#34424d;font-size:.84rem;font-weight:850;line-height:1.2;text-align:left;text-decoration:none!important;transition:color 140ms ease,background 140ms ease}.logs-page .logs-year-nav a:hover,.logs-page .logs-year-nav a:focus,.logs-page .logs-year-nav a.active,.logs-page .logs-year-nav a[aria-current=true]{color:#048ab0;background:rgba(25,185,220,.12);text-decoration:none!important}.logs-page .logs-content{max-width:100%;min-width:0}.logs-page .logs-section{scroll-margin-top:5.8rem;padding:3rem 0 2.5rem;border-top:1px solid rgba(0,0,0,.14)}.logs-page .logs-section:first-child{border-top:0;padding-top:0}.logs-page .logs-image{display:block;width:100%;height:auto;margin:0 auto 1.2rem}.logs-page .logs-image-feature{max-width:min(100%,920px)}.logs-page .logs-image-poster{max-width:min(54%,540px)}.logs-page .logs-image-shadow{box-shadow:0 .45rem 1rem rgba(0,0,0,.28)}.logs-page .logs-image-narrow{max-width:70%}.logs-page .logs-image-award{max-width:min(40%,360px)}.logs-page .logs-caption{flex:0 0 100%;width:100%;max-width:100%;margin:1.1rem 0 0;color:var(--global-text-color);font-size:.98rem;font-weight:300;line-height:1.4;text-align:center}.logs-page .logs-caption a{font-weight:500;text-decoration:underline!important;text-decoration-thickness:.06em;text-underline-offset:.13em}.logs-page .logs-page-updated{margin:2rem auto 3rem;color:var(--global-text-color);font-size:.98rem;font-weight:300;text-align:center}@media(max-width:767.98px){.logs-vanta-bg{top:3.4rem;height:clamp(22rem,52vh,29rem)}.navbar-logs-button{width:2.2rem;height:2.2rem;margin-left:.1175rem}.navbar-logs-button i{font-size:1.22rem}.navbar-logs-tooltip{display:none}.logs-page{width:100%}.logs-page .logs-hero{padding:3.5rem 1rem 4.65rem}.logs-page .logs-title{font-size:2rem}.logs-page .logs-container{margin-top:-2.35rem;padding:0 1rem}.logs-page .logs-layout{display:block}.logs-page .logs-year-nav{display:none}.logs-page .logs-section{padding:2rem 0 1.75rem}.logs-page .logs-image{margin-bottom:.9rem}.logs-page .logs-image-narrow,.logs-page .logs-image-poster,.logs-page .logs-image-award{max-width:100%}}#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}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:5px;padding-bottom:4px;line-height:1.15;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}@media(min-width:768px){.repo{max-width:50%}}.header-bar{border-bottom:1px solid var(--global-divider-color);text-align:center;padding-top:2rem;padding-bottom:3rem}.header-bar h1{color:var(--global-theme-color);font-size:5rem}.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)}.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)}.pagination .page-item .page-link{color:var(--global-text-color);padding:.75rem 1.15rem}.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}.projects-legacy-page,.project-detail-page{--project-cyan:#00a3cc;--project-cyan-dark:#0098b3;--project-cyan-bright:#00f8f8;--project-dark:#212629;--project-panel:#343a40;--project-muted:#6c757d}.projects-legacy-page .badge-custom-cyan,.project-detail-page .badge-custom-cyan{display:inline-block;padding:.22rem .42rem;border-radius:.32rem;background-color:var(--project-cyan-dark);box-shadow:none!important;color:#fff;font-size:.76rem;font-weight:700;line-height:1;text-shadow:none;vertical-align:baseline}.projects-legacy-page .color-text-cyan,.project-detail-page .color-text-cyan{color:#00929c;font-weight:700}.projects-legacy-page .color-text-cyan-light,.project-detail-page .color-text-cyan-light{color:var(--project-cyan-bright)}.projects-legacy-page .display-5,.project-detail-page .display-5{font-size:2.45rem;line-height:1.15}.projects-legacy-page .fs-1,.project-detail-page .fs-1{font-size:2.5rem!important}.projects-legacy-page .fs-2,.project-detail-page .fs-2{font-size:2rem!important}.projects-legacy-page .fs-3,.project-detail-page .fs-3{font-size:1.75rem!important}.projects-legacy-page .fs-4,.project-detail-page .fs-4{font-size:1.35rem!important}.projects-legacy-page .fs-5,.project-detail-page .fs-5{font-size:1.18rem!important}.projects-legacy-page .fs-6,.project-detail-page .fs-6{font-size:.98rem!important}.projects-legacy-page .fw-light,.project-detail-page .fw-light{font-weight:300!important}.projects-legacy-page .fw-bold,.project-detail-page .fw-bold{font-weight:700!important}.projects-legacy-page .fw-bolder,.project-detail-page .fw-bolder{font-weight:800!important}.projects-legacy-page .lh-1,.project-detail-page .lh-1{line-height:1!important}
.projects-legacy-page .lh-sm,.project-detail-page .lh-sm{line-height:1.25!important}.projects-legacy-page .text-sm-start,.project-detail-page .text-sm-start{text-align:left!important}.projects-legacy-page .ms-2,.project-detail-page .ms-2{margin-left:.5rem!important}.projects-legacy-page .ms-3,.project-detail-page .ms-3{margin-left:1rem!important}.projects-legacy-page .btn.btn-outline-dark,.projects-legacy-page .btn.btn-sm.btn-outline-dark,.project-detail-page .btn.btn-outline-dark,.project-detail-page .btn.btn-sm.btn-outline-dark{border:1px solid #222;border-radius:4px;background:#fff;color:#111;font-weight:500;text-decoration:none;transition:background-color .16s ease-in-out,color .16s ease-in-out,border-color .16s ease-in-out}.projects-legacy-page .btn.btn-outline-dark:hover,.projects-legacy-page .btn.btn-sm.btn-outline-dark:hover,.project-detail-page .btn.btn-outline-dark:hover,.project-detail-page .btn.btn-sm.btn-outline-dark:hover{border-color:#111;background-color:#111;color:#fff;text-decoration:none}.projects-legacy-page .btn-group,.project-detail-page .btn-group{flex-wrap:wrap;gap:.28rem}.projects-legacy-page .btn-group>.btn,.projects-legacy-page .btn-group>a,.project-detail-page .btn-group>.btn,.project-detail-page .btn-group>a{margin:0}.projects-legacy-page .image-container,.project-detail-page .image-container{position:relative;display:inline-block;width:100%}.projects-legacy-page .image-container img,.project-detail-page .image-container img{display:block;width:100%;height:auto}.projects-legacy-page .bg-image-container,.project-detail-page .bg-image-container{background-position:center;background-repeat:no-repeat;background-size:cover}.projects-legacy-page .overlay-text,.projects-legacy-page .overlay-text-b,.project-detail-page .overlay-text,.project-detail-page .overlay-text-b{position:absolute;left:50%;width:80%;padding:5px;transform:translate(-50%,-50%)}.projects-legacy-page .overlay-text,.project-detail-page .overlay-text{top:50%}.projects-legacy-page .overlay-text-b,.project-detail-page .overlay-text-b{top:90%}.projects-legacy-page .oversized-text,.projects-legacy-page .oversized-text-cm,.projects-legacy-page .oversized-text-cms,.projects-legacy-page .oversized-text-wb,.projects-legacy-page .oversized-text-wbs,.projects-legacy-page .oversized-text-bb,.project-detail-page .oversized-text,.project-detail-page .oversized-text-cm,.project-detail-page .oversized-text-cms,.project-detail-page .oversized-text-wb,.project-detail-page .oversized-text-wbs,.project-detail-page .oversized-text-bb{font-weight:800;text-align:center}.projects-legacy-page .oversized-text-cm,.projects-legacy-page .oversized-text-cms,.project-detail-page .oversized-text-cm,.project-detail-page .oversized-text-cms{color:var(--project-cyan-bright);font-size:1.8rem;text-shadow:0 0 1px rgba(0,0,0,.5),0 0 4px #000}.projects-legacy-page .oversized-text-wb,.projects-legacy-page .oversized-text-wbs,.project-detail-page .oversized-text-wb,.project-detail-page .oversized-text-wbs{color:#fff;font-size:3rem;line-height:1;text-shadow:0 0 1px rgba(0,0,0,.5),0 0 4px #000}.projects-legacy-page .oversized-text-wbs,.project-detail-page .oversized-text-wbs{font-size:2.5rem}.projects-legacy-page .oversized-text-bb,.project-detail-page .oversized-text-bb{color:#292929;font-size:3rem;line-height:1}
.projects-legacy-page .bd-placeholder-img,.project-detail-page .bd-placeholder-img{max-width:100%;height:auto}.projects-legacy-page .taxt-dark,.projects-legacy-page .taxt-muted,.project-detail-page .taxt-dark,.project-detail-page .taxt-muted{color:var(--global-text-color)}.projects-legacy-page{width:min(100vw - 2rem,1320px);margin-left:50%;transform:translateX(-50%)}.projects-legacy-page main>section:first-child{padding-top:1.25rem!important;padding-bottom:1.65rem!important}.projects-legacy-page main>section:first-child .row{padding-top:0!important;padding-bottom:0!important}.projects-legacy-page main>section:first-child h1{margin-bottom:.85rem!important}.projects-legacy-page main>section:first-child hr{width:min(32rem,86%);height:1px;margin:.72rem auto .86rem;border:0;opacity:1;background:linear-gradient(90deg,transparent,#d45eb5,#19b9dc,transparent)}.projects-legacy-page main>section:first-child .lead{margin-bottom:0}.projects-legacy-page .album{padding-top:1.65rem!important;padding-right:.5rem!important;padding-left:.5rem!important}.projects-legacy-page .album>.container{width:min(100% - 5rem,1280px)!important;max-width:1280px!important;padding-right:0!important;padding-left:0!important}.projects-legacy-page .row.g-3{--bs-gutter-x:.48rem;align-items:flex-start;margin-right:-0.34rem;margin-left:-0.34rem;row-gap:1.25rem}.projects-legacy-page .row.g-3>.col{padding-right:.34rem;padding-left:.34rem}.projects-legacy-page .card{height:auto;overflow:visible;border:1px solid rgba(0,0,0,.12);border-radius:.28rem;box-shadow:0 .4rem .9rem rgba(0,0,0,.16)!important;transition:transform .16s ease-in-out,box-shadow .16s ease-in-out}.projects-legacy-page .card:hover{box-shadow:0 .525rem 1.2rem rgba(0,0,0,.2)!important;transform:translateY(-2px)}.projects-legacy-page .project-card-clickable{cursor:pointer}.projects-legacy-page .project-card-clickable a,.projects-legacy-page .project-card-clickable button{cursor:pointer}.projects-legacy-page .project-card-clickable iframe{cursor:auto}.projects-legacy-page .project-card-clickable:focus-visible{outline:2px solid var(--project-cyan);outline-offset:3px}.projects-legacy-page .card-img-top{display:block;width:100%;height:auto!important;aspect-ratio:16/9;background:#f4f4f4;object-fit:cover;object-position:center}.projects-legacy-page .card-body{display:block;min-height:0}.projects-legacy-page .card-body .btn-group{margin-top:0}.projects-legacy-page .card-body>div.mb-3:not(.d-flex){margin-bottom:.42rem!important}.projects-legacy-page .card-body>.d-flex.justify-content-between.align-items-center:first-child{justify-content:flex-start!important;margin-bottom:.35rem}.projects-legacy-page .card-body>.d-flex.justify-content-between.align-items-center.mb-3{justify-content:flex-start!important}.projects-legacy-page .card-text{color:#111;line-height:1.45}.projects-legacy-page .project-card-title{margin:0;color:#111;font-size:1.7rem!important;font-weight:800!important;letter-spacing:0;line-height:1.02!important;text-align:left;text-transform:none}.projects-legacy-page .btn-group{display:flex;align-items:center;flex-wrap:nowrap;gap:0;row-gap:0}.projects-legacy-page .btn-group>.btn,.projects-legacy-page .btn-group>a,.projects-legacy-page .btn-group>.image-tooltip-container>.btn,.projects-legacy-page .btn-group>.tooltip-container>.btn{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;height:31px;min-height:31px;margin:0;padding:0 .5rem;border:1px solid #111!important;border-radius:4px;background-color:#fff!important;box-shadow:none!important;color:#111!important;font-size:.82rem;font-weight:500;letter-spacing:0;line-height:1!important;text-align:center;text-decoration:none!important;text-transform:none!important;vertical-align:middle;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.projects-legacy-page .btn-group>.btn:not(:first-child),.projects-legacy-page .btn-group>a:not(:first-child),.projects-legacy-page .btn-group>.image-tooltip-container:not(:first-child)>.btn,.projects-legacy-page .btn-group>.tooltip-container:not(:first-child)>.btn{margin-left:-1px}.projects-legacy-page .btn-group>.btn:hover,.projects-legacy-page .btn-group>a:hover,.projects-legacy-page .btn-group>.image-tooltip-container>.btn:hover,.projects-legacy-page .btn-group>.tooltip-container>.btn:hover{border-color:#111!important;background-color:#111!important;color:#fff!important;text-decoration:none!important}.projects-legacy-page .btn-group>.btn:active,.projects-legacy-page .btn-group>a:active,.projects-legacy-page .btn-group>.image-tooltip-container>.btn:active,.projects-legacy-page .btn-group>.tooltip-container>.btn:active{border-color:var(--project-cyan)!important;background-color:var(--project-cyan)!important;color:#fff!important;text-decoration:none!important}.projects-legacy-page .btn-group>.btn.btn-dark,.projects-legacy-page .btn-group>a.btn-dark{border-color:#212529!important;background-color:#212529!important;color:#fff!important;font-weight:600}
.projects-legacy-page .btn-group>.btn.btn-dark:not(:first-child),.projects-legacy-page .btn-group>a.btn-dark:not(:first-child){flex:0 0 auto;width:auto;margin-top:0;margin-left:-1px!important;justify-content:center;text-align:center}.projects-legacy-page .btn-group>.btn.btn-dark:hover,.projects-legacy-page .btn-group>a.btn-dark:hover{border-color:#111!important;background-color:#fff!important;color:#111!important;text-decoration:none!important}.projects-legacy-page .btn-group>.btn.btn-dark:active,.projects-legacy-page .btn-group>a.btn-dark:active{border-color:var(--project-cyan)!important;background-color:var(--project-cyan)!important;color:#fff!important;text-decoration:none!important}.projects-legacy-page .btn-group .bi{display:inline-flex;align-items:center;line-height:1;margin-left:.2rem}.projects-legacy-page .image-tooltip-container,.projects-legacy-page .tooltip-container{position:relative;display:inline-flex;align-items:center}.projects-legacy-page .image-tooltip{position:absolute;bottom:calc(100%+.75rem);left:50%;z-index:30;width:max-content;max-width:min(330px,78vw);padding:.35rem;transform:translateX(-50%) translateY(0.25rem);border:1px solid rgba(0,0,0,.18);border-radius:5px;background:#fff;box-shadow:0 .8rem 1.8rem rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease;visibility:hidden}.projects-legacy-page .image-tooltip img{display:block;width:auto;max-width:min(300px,72vw);max-height:260px;border-radius:4px;object-fit:contain}.projects-legacy-page .image-tooltip-container:hover .image-tooltip,.projects-legacy-page .image-tooltip-container:focus-within .image-tooltip{transform:translateX(-50%);opacity:1;visibility:visible}.project-detail-page{margin-top:0}.project-detail-page .btn-group{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0;row-gap:0}.project-detail-page .btn-group>.btn,.project-detail-page .btn-group>a,.project-detail-page .btn-group>.image-tooltip-container>.btn,.project-detail-page .btn-group>.tooltip-container>.btn{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;height:31px;min-height:31px;margin:0;padding:0 .5rem;border:1px solid #111!important;border-radius:4px;background-color:#fff!important;box-shadow:none!important;color:#111!important;font-size:.82rem;font-weight:500;letter-spacing:0;line-height:1!important;text-align:center;text-decoration:none!important;text-shadow:none!important;text-transform:none!important;vertical-align:middle;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.project-detail-page .btn-group>.btn:not(:first-child),.project-detail-page .btn-group>a:not(:first-child),.project-detail-page .btn-group>.image-tooltip-container:not(:first-child)>.btn,.project-detail-page .btn-group>.tooltip-container:not(:first-child)>.btn{margin-left:-1px}.project-detail-page .btn-group>.btn:hover,.project-detail-page .btn-group>a:hover,.project-detail-page .btn-group>.image-tooltip-container>.btn:hover,.project-detail-page .btn-group>.tooltip-container>.btn:hover{border-color:#111!important;background-color:#111!important;color:#fff!important;text-decoration:none!important}.project-detail-page .btn-group>.btn:active,.project-detail-page .btn-group>a:active,.project-detail-page .btn-group>.image-tooltip-container>.btn:active,.project-detail-page .btn-group>.tooltip-container>.btn:active{border-color:var(--project-cyan)!important;background-color:var(--project-cyan)!important;color:#fff!important;text-decoration:none!important}.project-detail-page .image-tooltip-container,.project-detail-page .tooltip-container{position:relative;display:inline-flex;align-items:center}.project-detail-page .image-tooltip{position:absolute;bottom:calc(100%+.75rem);left:50%;z-index:30;width:max-content;max-width:min(330px,78vw);padding:.35rem;transform:translateX(-50%) translateY(0.25rem);border:1px solid rgba(0,0,0,.18);border-radius:5px;background:#fff;box-shadow:0 .8rem 1.8rem rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease;visibility:hidden}.project-detail-page .image-tooltip img{display:block;width:auto;max-width:min(300px,72vw);max-height:260px;border-radius:4px;object-fit:contain}.project-detail-page .image-tooltip-container:hover .image-tooltip,.project-detail-page .image-tooltip-container:focus-within .image-tooltip{transform:translateX(-50%);opacity:1;visibility:visible}.project-floating-back{position:fixed;top:4.65rem;left:max(1rem,(100vw - 1320px)/2+1rem);z-index:1020}.project-floating-back-link{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border:1px solid rgba(var(--global-white-rgb),0.92);border-radius:.65rem;background:rgba(var(--global-white-rgb),0.76);box-shadow:0 .35rem .9rem rgba(0,0,0,.18);backdrop-filter:blur(8px);color:#111;font-weight:700;text-decoration:none;text-transform:uppercase;transition:background-color .16s ease-in-out,border-color .16s ease-in-out,color .16s ease-in-out,transform .16s ease-in-out}.project-floating-back-icon{display:inline-flex;width:1.25rem;height:1.25rem;align-items:center;justify-content:center;font-size:1rem;line-height:1}.project-floating-back-icon svg{display:block;width:100%;height:100%;fill:currentColor}.project-floating-back-link:hover,.project-floating-back-link:focus-visible{border-color:#111;background:#111;color:#fff!important;text-decoration:none!important;transform:translateY(-1px)}.project-floating-back-link:hover span,.project-floating-back-link:hover svg,.project-floating-back-link:focus-visible span,.project-floating-back-link:focus-visible svg{color:#fff!important}.project-floating-back-link:active{border-color:var(--project-cyan);background:var(--project-cyan);color:#fff!important;text-decoration:none!important;transform:translateY(0)}.project-floating-back-link:active span,.project-floating-back-link:active svg{color:#fff!important}.project-detail-content{margin-top:0}.project-detail-content main{display:block}.project-detail-content main>section:first-child{padding-top:3.5rem!important}.project-detail-content main>section:first-child img{max-height:235px;object-fit:contain}.project-detail-content img{max-width:100%;height:auto}.project-detail-content .album{padding-top:1.5rem!important}.project-detail-content .album>.container{max-width:1180px}.project-detail-content .row{row-gap:1.4rem}.project-detail-content .row>p.taxt-dark.fw-light.fs-6.text-center{flex:0 0 100%;width:100%;max-width:100%;text-align:center!important}.project-detail-content .lead{color:#6f7780}.project-detail-content hr{border-top:1px solid rgba(0,0,0,.16)}.project-detail-content .chuan-detail-page .bg-c-dark{background-color:#303030}.project-detail-content .chuan-detail-page .bg-c-dark hr.text-white{border-top-color:rgba(var(--global-white-rgb),0.36)!important;background-color:rgba(var(--global-white-rgb),0.36)!important;opacity:1}.project-detail-content .jubensha-detail-page .jubensha-inline-link{color:#777!important;font-weight:500;text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.13em}.project-detail-content .jubensha-detail-page .jubensha-inline-link:hover,.project-detail-content .jubensha-detail-page .jubensha-inline-link:focus{color:#111!important;text-decoration:underline}.project-detail-content .jubensha-detail-page .jubensha-overlay-heading-stack p.fs-1{margin-top:0!important;margin-bottom:.22rem!important;line-height:.92!important}.project-detail-content .jubensha-detail-page .jubensha-overlay-heading-stack p.fs-1:last-child{margin-bottom:0!important}.project-detail-content .jubensha-detail-page .jubensha-intro-subheading{margin:-0.8rem 0 .9rem}.project-detail-content .jubensha-detail-page .jubensha-intro-subheading p{margin:0 0 .38rem;color:#111;font-size:2rem;font-weight:600;letter-spacing:0;line-height:1}.project-detail-content .jubensha-detail-page .jubensha-intro-subheading hr{margin:0;border-top:1px solid rgba(0,0,0,.16)}.project-detail-content .jubensha-detail-page .jubensha-physical-game-caption{margin-top:1.15rem!important}.project-detail-content .jubensha-detail-page .jubensha-poster-shadow{box-shadow:0 .45rem 1rem rgba(0,0,0,.28)}.project-detail-content .jubensha-detail-page .jubensha-explorations-subheading{text-align:left!important}.project-detail-content .jubensha-detail-page .jubensha-explorations-subheading hr{margin-left:0;margin-right:auto}@media(min-width:992px){.project-detail-content .jubensha-detail-page .jubensha-explorations-copy{transform:translateY(1.5rem)}}.project-detail-content .jubensha-detail-page .jubensha-study-media-col{display:flex;justify-content:center}.project-detail-content .jubensha-detail-page .jubensha-study-media-card{--jubensha-study-card-radius:.8rem;width:100%;overflow:hidden;border:0 solid rgba(179,179,179,.12);border-radius:var(--jubensha-study-card-radius);background:#fff;box-shadow:0 .4rem .9rem rgba(0,0,0,.16)}.project-detail-content .jubensha-detail-page .jubensha-study-media-section{padding:0}.project-detail-content .jubensha-detail-page .jubensha-study-media-section+.jubensha-study-media-section{padding-top:.6rem}.project-detail-content .jubensha-detail-page .jubensha-study-media-frame{width:100%;overflow:hidden;aspect-ratio:16/9;border-radius:0;background:#f4f4f4}.project-detail-content .jubensha-detail-page .jubensha-study-media-frame iframe{display:block;width:100%;height:100%;border:0}
.project-detail-content .jubensha-detail-page .jubensha-study-media-caption{margin:.6rem 0 0;padding:0 .9rem;color:#424242;font-size:.8rem;font-weight:300;line-height:1.2;text-align:center}.project-detail-content .jubensha-detail-page .jubensha-study-media-section:last-child .jubensha-study-media-caption{padding-bottom:.7rem}.project-detail-content .jubensha-detail-page .jubensha-final-row{padding-top:6rem!important}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-col{--jubensha-taxonomy-panel-width:calc(48rem+1.3rem);display:flex;flex-direction:column;width:min(100%,var(--jubensha-taxonomy-panel-width));align-items:center;margin-right:auto;margin-left:auto}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-panel{width:100%;display:grid;grid-template-columns:repeat(3,15.5rem);justify-content:center;gap:.65rem;align-items:stretch}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-card{--jubensha-taxonomy-accent:#008fa3;position:relative;min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(20,20,20,.1);border-radius:.55rem;background:#fff;box-shadow:0 .45rem 1rem rgba(0,0,0,.14)}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-card::before{content:"";display:block;height:.24rem;background:var(--jubensha-taxonomy-accent)}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-design{--jubensha-taxonomy-accent:#b9782f}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-dynamics{--jubensha-taxonomy-accent:#008fa3}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-experience{--jubensha-taxonomy-accent:#666f8f}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-card-header{padding:.62rem .52rem .5rem;border-bottom:1px solid rgba(0,0,0,.1);background:linear-gradient(180deg,rgba(0,0,0,0.04),rgba(0,0,0,0));color:#111;font-size:1.1rem;font-weight:700;line-height:1.15;letter-spacing:0;text-align:center}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-card-header em,.project-detail-content .jubensha-detail-page .jubensha-taxonomy-card-header strong{color:var(--jubensha-taxonomy-accent)}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-card-header em{font-weight:600}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-card-body{flex:1;padding:.55rem .58rem .65rem;color:#1d1d1d;font-size:.9rem;line-height:1.35}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-block{margin-top:.45rem;padding-top:.45rem;border-top:1px solid rgba(0,0,0,.12)}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-block:first-child{margin-top:0;padding-top:0;border-top:0}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-block h4{margin:0 0 .3rem;padding:.3rem .35rem;border:1px solid rgba(0,0,0,.12);border-radius:.35rem;background:#f7f7f7;color:#111;font-size:1rem;font-weight:700;line-height:1;letter-spacing:0;text-align:center}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-key{margin:.24rem 0 .12rem;color:#111;font-weight:700;line-height:1.18}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-subkey{margin:.2rem 0 .1rem;color:#727272;font-size:.9rem;font-weight:500;line-height:1.15}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-card ul{margin:0 0 .24rem;padding-left:2.15rem;text-align:left}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-card li{margin-bottom:.08rem}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-caption{grid-column:1/-1;align-self:center;justify-self:center;width:min(100%,22rem);margin-top:1.15rem!important;color:#424242;font-weight:300;line-height:1.2;text-align:center!important}@media(max-width:991.98px){.project-detail-content .jubensha-detail-page .jubensha-study-media-col{margin-bottom:1.5rem}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-col{margin-top:1.5rem}.project-detail-content .jubensha-detail-page .jubensha-taxonomy-panel{max-width:36rem;margin:0 auto;grid-template-columns:minmax(0,22rem);justify-content:center;gap:.9rem}}.project-detail-content .euphoria-detail-page .euphoria-hero-section{padding-top:.85rem!important}.project-detail-content .euphoria-detail-page .euphoria-title-image{width:72%!important;max-width:72%!important;height:auto!important;padding-top:1.275rem!important}@media(min-width:992px){.project-detail-content .euphoria-detail-page .euphoria-hero-section .row{padding-top:1.275rem!important}}.project-detail-content .euphoria-detail-page .euphoria-intro-subheading{margin:-0.6rem 0 .9rem}.project-detail-content .euphoria-detail-page .euphoria-intro-subheading p{margin:0 0 .38rem;color:#111;font-size:1.6rem;font-weight:550;letter-spacing:0;line-height:1}.project-detail-content .euphoria-detail-page .euphoria-intro-subheading hr{margin:0;border-top:1px solid rgba(0,0,0,.16)}.project-detail-content .euphoria-detail-page .euphoria-explorations-subheading{text-align:left!important}
.project-detail-content .euphoria-detail-page .euphoria-explorations-subheading hr{margin-left:0;margin-right:auto}.project-detail-content .euphoria-detail-page .euphoria-dde-col{--euphoria-dde-card-width:14.5rem;--euphoria-dde-panel-gap:.45rem;--euphoria-dde-panel-width:calc(43.5rem+0.9rem);display:flex;flex-direction:column;width:min(100%,var(--euphoria-dde-panel-width));align-items:center;margin-right:auto;margin-left:auto}.project-detail-content .euphoria-detail-page .euphoria-dde-panel{width:100%;display:grid;grid-template-columns:repeat(3,var(--euphoria-dde-card-width));justify-content:center;gap:var(--euphoria-dde-panel-gap);align-items:stretch}.project-detail-content .euphoria-detail-page .euphoria-dde-card{--euphoria-dde-accent:#008fa3;position:relative;min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(20,20,20,.1);border-radius:.55rem;background:#fff;box-shadow:0 .25rem .5rem rgba(0,0,0,.14)}.project-detail-content .euphoria-detail-page .euphoria-dde-card::before{content:"";display:block;height:.24rem;background:var(--euphoria-dde-accent)}.project-detail-content .euphoria-detail-page .euphoria-dde-design{--euphoria-dde-accent:#ff5c7f}.project-detail-content .euphoria-detail-page .euphoria-dde-dynamics{--euphoria-dde-accent:#585858}.project-detail-content .euphoria-detail-page .euphoria-dde-experience{--euphoria-dde-accent:#0dabdb}.project-detail-content .euphoria-detail-page .euphoria-dde-card-header{padding:.62rem .52rem .5rem;border-bottom:1px solid rgba(0,0,0,.1);background:linear-gradient(180deg,rgba(0,0,0,0.04),rgba(0,0,0,0));color:#111;font-size:1.1rem;font-weight:700;line-height:1.15;letter-spacing:0;text-align:center}.project-detail-content .euphoria-detail-page .euphoria-dde-card-header strong,.project-detail-content .euphoria-detail-page .euphoria-dde-card-header span{color:var(--euphoria-dde-accent)}.project-detail-content .euphoria-detail-page .euphoria-dde-card-body{flex:1;padding:.55rem .58rem .65rem;color:#1d1d1d;font-size:.9rem;line-height:1.35}.project-detail-content .euphoria-detail-page .euphoria-dde-block{margin-top:.45rem;padding-top:.45rem;border-top:1px solid rgba(0,0,0,.12)}.project-detail-content .euphoria-detail-page .euphoria-dde-block:first-child{margin-top:0;padding-top:0;border-top:0}.project-detail-content .euphoria-detail-page .euphoria-dde-block h4{margin:0 0 .3rem;padding:.3rem .35rem;border:1px solid rgba(0,0,0,.12);border-radius:.35rem;background:#f7f7f7;color:#111;font-size:1rem;font-weight:700;line-height:1;letter-spacing:0;text-align:center}.project-detail-content .euphoria-detail-page .euphoria-dde-description{margin:0 0 .24rem;color:#1d1d1d;text-align:left}.project-detail-content .euphoria-detail-page .publication-award{margin-left:.35rem;color:var(--global-theme-color);font-style:normal;font-weight:700;white-space:nowrap}.project-detail-content .euphoria-detail-page .euphoria-dde-caption{width:min(100%,var(--euphoria-dde-panel-width));margin:1.15rem auto 0!important;color:#424242;font-weight:300;line-height:1.2;text-align:center!important}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-row{margin-top:.5rem}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo{overflow:hidden;border:1px solid rgba(0,0,0,.12);border-radius:.55rem;background:#fff;box-shadow:0 .35rem 1.2rem rgba(0,0,0,.12)}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding:1.15rem 1.25rem .95rem;border-bottom:1px solid rgba(0,0,0,.1)}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-heading{flex:1 1 auto;min-width:0;text-align:left}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-kicker{margin:0 0 .25rem;color:var(--global-theme-color);font-size:.78rem;font-weight:700;letter-spacing:0;line-height:1;text-transform:uppercase}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo h3{margin:0 0 .55rem;color:#111;font-size:1.55rem;font-weight:550;letter-spacing:0;line-height:1.1}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-warning,.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-copy{margin:0;color:#657687;font-size:.95rem;line-height:1.35}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-copy{padding:.9rem 1.25rem 0}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-button{flex:0 0 auto;padding:.42rem 1.15rem;border:1px solid #111;border-radius:.25rem;background:#fff;color:#111;font-size:.82rem;font-weight:700;line-height:1.2;letter-spacing:0;text-transform:none;transition:background .16s ease,border-color .16s ease,color .16s ease}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-button:hover{background:#111;color:#fff}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-button:active{border-color:var(--global-theme-color);background:var(--global-theme-color);color:#fff}
.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-button:disabled{border-color:rgba(0,0,0,.35);background:rgba(0,0,0,.05);color:rgba(0,0,0,.58);cursor:default}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-frame{display:flex;overflow:hidden;align-items:center;justify-content:center;width:calc(100% - 2.5rem);margin:1.05rem auto 1.25rem;aspect-ratio:48/29;border:.9rem solid #2f2f2f;border-radius:.35rem;background:#211d1f}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-frame iframe{display:block;width:100%;height:100%!important;max-height:none;border:0}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:12rem;padding:1.5rem;color:rgba(var(--global-white-rgb),0.9);text-align:center}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-placeholder span{font-size:1.15rem;font-weight:700;line-height:1.2}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-placeholder small{max-width:26rem;color:rgba(var(--global-white-rgb),0.7);font-size:.86rem;line-height:1.35}@media(min-width:992px)and (max-width:1199.98px){.project-detail-content .euphoria-detail-page .euphoria-dde-row{row-gap:2rem}.project-detail-content .euphoria-detail-page .euphoria-dde-row .euphoria-dde-col,.project-detail-content .euphoria-detail-page .euphoria-dde-row .jubensha-explorations-copy{flex:0 0 100%;max-width:100%;width:100%}.project-detail-content .euphoria-detail-page .euphoria-dde-row .euphoria-dde-col{margin-right:auto;margin-left:auto}.project-detail-content .euphoria-detail-page .euphoria-dde-row .euphoria-dde-panel{width:min(100%,var(--euphoria-dde-panel-width));margin:0 auto}.project-detail-content .euphoria-detail-page .euphoria-dde-row .jubensha-explorations-copy{width:min(100%,34rem);margin-right:auto;margin-left:auto}}@media(max-width:991.98px){.project-detail-content .euphoria-detail-page .euphoria-dde-col{margin-top:1.5rem}.project-detail-content .euphoria-detail-page .euphoria-dde-panel{max-width:36rem;margin:0 auto;grid-template-columns:minmax(0,22rem);justify-content:center;gap:.9rem}.project-detail-content .euphoria-detail-page .euphoria-dde-caption{width:min(100%,22rem)}}@media(max-width:767.98px){.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo{border-radius:.45rem}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-header{flex-direction:column;gap:.85rem;padding:1rem 1rem .85rem}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo h3{font-size:1.32rem}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-button{width:100%}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-copy{padding:.85rem 1rem 0}.project-detail-content .euphoria-detail-page .euphoria-rainborough-demo-frame{width:calc(100% - 2rem);margin:.95rem auto 1rem;aspect-ratio:4/3;border-width:.55rem}}.project-detail-content .revisitgames-detail-page .revisitgames-hero-section{padding-top:.85rem!important}.project-detail-content .revisitgames-detail-page .revisitgames-title-image{display:block;width:min(100%,34rem)!important;max-width:60%!important;max-height:none!important;height:auto!important;margin-left:auto!important;margin-right:auto!important;padding-top:1.275rem!important;transform:none}.project-detail-content .revisitgames-detail-page .revisitgames-project-title{margin-bottom:2.55rem!important}@media(min-width:992px){.project-detail-content .revisitgames-detail-page .revisitgames-hero-section .row{padding-top:1.275rem!important}}.project-detail-content .revisitgames-detail-page .revisitgames-overlay-heading-stack{--revisitgames-overlay-title-padding-y:0;--revisitgames-overlay-title-padding-x:0;--revisitgames-overlay-kicker-font-size:1.44rem;--revisitgames-overlay-kicker-color:#ff6822;--revisitgames-overlay-title-font-size:2.4rem;--revisitgames-overlay-title-color:#636363;--revisitgames-overlay-title-offset-x:0;left:var(--revisitgames-overlay-title-offset-x)!important;width:calc(100% - var(--revisitgames-overlay-title-offset-x) - var(--revisitgames-overlay-title-offset-x))!important;padding:var(--revisitgames-overlay-title-padding-y) var(--revisitgames-overlay-title-padding-x);text-align:left;transform:translateY(-50%)!important}.project-detail-content .revisitgames-detail-page .revisitgames-overlay-heading-stack p.fs-1{margin-top:0!important;margin-bottom:.22rem!important;line-height:.92!important;text-align:left!important}.project-detail-content .revisitgames-detail-page .revisitgames-overlay-heading-stack p.fs-1:last-child{margin-bottom:0!important}.project-detail-content .revisitgames-detail-page .revisitgames-overlay-kicker,.project-detail-content .revisitgames-detail-page .revisitgames-overlay-title{font-weight:600;text-align:left;text-shadow:0 0 0 rgba(0,0,0,.5),0 0 0px #000}.project-detail-content .revisitgames-detail-page .revisitgames-overlay-kicker{color:var(--revisitgames-overlay-kicker-color);font-size:var(--revisitgames-overlay-kicker-font-size)}
.project-detail-content .revisitgames-detail-page .revisitgames-overlay-title{color:var(--revisitgames-overlay-title-color);font-size:var(--revisitgames-overlay-title-font-size);line-height:1}.project-detail-content .revisitgames-detail-page .revisitgames-field-test-title{color:#ff6822}.project-detail-content .revisitgames-detail-page .revisitgames-intro-subheading{--revisitgames-subheading-padding-y:0;--revisitgames-subheading-padding-x:0;--revisitgames-subheading-font-size:1.6rem;--revisitgames-subheading-color:#111;margin:-0.6rem 0 .9rem;padding:var(--revisitgames-subheading-padding-y) var(--revisitgames-subheading-padding-x)!important}.project-detail-content .revisitgames-detail-page .revisitgames-intro-spacer{margin:0 0 .7rem;line-height:1rem}.project-detail-content .revisitgames-detail-page .revisitgames-intro-subheading p{margin:0 0 .38rem;color:var(--revisitgames-subheading-color);font-size:var(--revisitgames-subheading-font-size);font-weight:550;letter-spacing:0;line-height:1}.project-detail-content .revisitgames-detail-page .revisitgames-intro-subheading hr{margin:0;border-top:1px solid rgba(0,0,0,.16)}.project-detail-content .revisitgames-detail-page .revisitgames-explorations-subheading{--revisitgames-subheading-padding-x:.25rem;--revisitgames-subheading-font-size:1.6rem;text-align:left!important}.project-detail-content .revisitgames-detail-page .revisitgames-explorations-subheading hr{margin-left:0;margin-right:auto}@media(min-width:576px){.project-detail-content .revisitgames-detail-page .revisitgames-overlay-heading-stack{--revisitgames-overlay-title-offset-x:3rem}.project-detail-content .revisitgames-detail-page .revisitgames-intro-subheading:not(.revisitgames-explorations-subheading){--revisitgames-subheading-padding-x:3rem}}@media(max-width:575.98px){.project-detail-content .revisitgames-detail-page .revisitgames-title-image{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;transform:none}}.project-detail-content .revisitgames-detail-page .revisitgames-study-media-col{display:flex;justify-content:center}.project-detail-content .revisitgames-detail-page .revisitgames-study-media-card{--revisitgames-study-card-radius:.8rem;width:100%;overflow:hidden;border:0 solid rgba(179,179,179,.12);border-radius:var(--revisitgames-study-card-radius);background:#fff;box-shadow:0 .4rem .9rem rgba(0,0,0,.16)}.project-detail-content .revisitgames-detail-page .revisitgames-study-media-section{padding:0}.project-detail-content .revisitgames-detail-page .revisitgames-study-media-section+.revisitgames-study-media-section{padding-top:.6rem}.project-detail-content .revisitgames-detail-page .revisitgames-study-media-frame{overflow:hidden;width:100%;aspect-ratio:16/9;border-radius:0;background:#f4f4f4}.project-detail-content .revisitgames-detail-page .revisitgames-study-media-image{display:block;width:100%;height:100%;object-fit:contain}.project-detail-content .revisitgames-detail-page .revisitgames-study-media-caption{margin:.6rem 0 0;padding:0 .9rem;color:#424242;font-size:.8rem;font-weight:300;line-height:1.2;text-align:center}.project-detail-content .revisitgames-detail-page .revisitgames-study-media-section:last-child .revisitgames-study-media-caption{padding-bottom:.7rem}.project-detail-content .revisitgames-detail-page .revisitgames-playable-demo-col{text-align:left}.project-detail-content .revisitgames-detail-page .revisitgames-playable-demo{--revisitgames-demo-accent:#ff6822;width:100%;margin:2rem auto 0}.project-detail-content .revisitgames-detail-page .revisitgames-playable-demo .euphoria-rainborough-demo-kicker,.project-detail-content .revisitgames-detail-page .revisitgames-playable-demo .jubensha-inline-link{color:var(--revisitgames-demo-accent)}.project-detail-content .revisitgames-detail-page .revisitgames-playable-demo .euphoria-rainborough-demo-button:active{border-color:var(--revisitgames-demo-accent);background:var(--revisitgames-demo-accent);color:#fff}.project-detail-content .revisitgames-detail-page .revisitgames-demo-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.85rem 1.25rem 0;text-align:left}.project-detail-content .revisitgames-detail-page .revisitgames-demo-control{display:inline-flex;align-items:center;gap:.35rem;color:#111;font-size:.92rem;line-height:1.2}.project-detail-content .revisitgames-detail-page .revisitgames-demo-control label{margin:0;font-weight:600;white-space:nowrap}.project-detail-content .revisitgames-detail-page .revisitgames-demo-control select{width:auto;max-width:100%;padding:.16rem 1.6rem .16rem .35rem;border:1px solid rgba(0,0,0,.32);border-radius:.2rem;background-color:#fff;color:#111;font-size:.9rem;line-height:1.2}.project-detail-content .revisitgames-detail-page .revisitgames-demo-control select:focus{border-color:var(--revisitgames-demo-accent);box-shadow:0 0 0 .12rem rgba(255,104,34,.18);outline:0}.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame{position:relative;aspect-ratio:10/7}
.project-detail-content .revisitgames-detail-page .revisitgames-playable-demo .euphoria-rainborough-demo-placeholder{min-height:11rem;color:#fff}.project-detail-content .revisitgames-detail-page .revisitgames-playable-demo .euphoria-rainborough-demo-placeholder span,.project-detail-content .revisitgames-detail-page .revisitgames-playable-demo .euphoria-rainborough-demo-placeholder small{color:#fff}.project-detail-content .revisitgames-detail-page .revisitgames-demo-fullscreen-button{position:absolute;right:.9rem;bottom:.9rem;z-index:4;padding:.42rem .72rem;border:1px solid rgba(var(--global-white-rgb),0.72);border-radius:.25rem;background:rgba(17,17,17,.78);color:#fff;font-size:.78rem;font-weight:700;line-height:1;letter-spacing:0}.project-detail-content .revisitgames-detail-page .revisitgames-demo-fullscreen-button:hover,.project-detail-content .revisitgames-detail-page .revisitgames-demo-fullscreen-button:focus-visible{border-color:#fff;background:var(--revisitgames-demo-accent);color:#fff;outline:0}.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame:fullscreen,.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame:-webkit-full-screen,.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame.is-pseudo-fullscreen{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;aspect-ratio:auto;border-width:0;border-radius:0;background:#111}.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame:fullscreen iframe,.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame:-webkit-full-screen iframe,.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame.is-pseudo-fullscreen iframe{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame:fullscreen .revisitgames-demo-fullscreen-button,.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame:-webkit-full-screen .revisitgames-demo-fullscreen-button,.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame.is-pseudo-fullscreen .revisitgames-demo-fullscreen-button{right:1.1rem;bottom:1.1rem}.project-detail-content .revisitgames-detail-page .revisitgames-demo-frame.is-pseudo-fullscreen{position:fixed!important;inset:0;z-index:3000}@media(max-width:767.98px){.project-detail-content .revisitgames-detail-page .revisitgames-demo-controls{padding:.8rem 1rem 0}.project-detail-content .revisitgames-detail-page .revisitgames-demo-control{width:100%;justify-content:space-between}.project-detail-content .revisitgames-detail-page .revisitgames-demo-control select{max-width:62%}}body.revisitgames-demo-lock-scroll{overflow:hidden}.project-detail-content .lab360-detail-page .lab360-showcase-col{display:flex;flex-direction:column;justify-content:center}.project-detail-content .lab360-detail-page .lab360-showcase-card{--lab360-showcase-card-radius:.8rem;width:100%;overflow:hidden;border:0 solid rgba(179,179,179,.12);border-radius:var(--lab360-showcase-card-radius);background:#fff;box-shadow:0 .4rem .9rem rgba(0,0,0,.16)}.project-detail-content .lab360-detail-page .lab360-showcase-card+.lab360-showcase-card{margin-top:.6rem}.project-detail-content .lab360-detail-page .lab360-showcase-frame{width:100%;overflow:hidden;aspect-ratio:16/9;border-radius:0;background:#f4f4f4}
.project-detail-content .lab360-detail-page .lab360-showcase-frame iframe{display:block;width:100%;height:100%;border:0}.project-detail-content .lab360-detail-page .lab360-showcase-caption{margin:.6rem 0 0;padding:0 .9rem .7rem;color:#424242;font-size:.8rem;font-weight:300;line-height:1.2;text-align:center}@media(max-width:991.98px){.project-detail-content .lab360-detail-page .lab360-showcase-col{margin-bottom:1.5rem}}.project-detail-content .stackar-detail-page .stackar-title-image{display:block;position:relative;left:50%;width:108%!important;max-width:108%!important;max-height:282px!important;height:auto!important;margin-right:0!important;margin-left:0!important;transform:translateX(-50%);object-fit:contain}.project-detail-content .stackar-detail-page .stackar-tech-item{position:relative;padding-left:1.35rem!important}.project-detail-content .stackar-detail-page .stackar-tech-item::before{content:"·";position:absolute;left:.45rem;top:0;color:inherit;font-weight:700}.project-detail-content .stackar-detail-page .stackar-tech-lead{color:inherit;font-size:1.04em;font-weight:700}.project-detail-content .stackar-detail-page .stackar-media-col{display:flex;justify-content:center}.project-detail-content .stackar-detail-page .stackar-media-card{--stackar-media-card-radius:.8rem;width:100%;overflow:hidden;border:0 solid rgba(179,179,179,.12);border-radius:var(--stackar-media-card-radius);background:#fff;box-shadow:0 .4rem .9rem rgba(0,0,0,.16)}.project-detail-content .stackar-detail-page .stackar-media-section{padding:0}.project-detail-content .stackar-detail-page .stackar-media-section+.stackar-media-section{padding-top:.6rem}.project-detail-content .stackar-detail-page .stackar-media-frame{width:100%;overflow:hidden;aspect-ratio:16/9;border-radius:0;background:#f4f4f4}.project-detail-content .stackar-detail-page .stackar-media-frame iframe{display:block;width:100%;height:100%;border:0}.project-detail-content .stackar-detail-page .stackar-media-caption{margin:.6rem 0 0;padding:0 .9rem;color:#424242;font-size:.8rem;font-weight:300;line-height:1.2;text-align:center}.project-detail-content .stackar-detail-page .stackar-media-section:last-child .stackar-media-caption{padding-bottom:.7rem}@media(max-width:991.98px){.project-detail-content .stackar-detail-page .stackar-title-image{left:auto;width:100%!important;max-width:100%!important;max-height:235px!important;margin-right:auto!important;margin-left:auto!important;transform:none}.project-detail-content .stackar-detail-page .stackar-media-col{margin-bottom:1.5rem}}.project-detail-content .noshake-detail-page .noshake-title-overlay{top:57%;left:46%;width:86%;text-align:left!important}.project-detail-content .noshake-detail-page .noshake-title-line{margin-top:0!important;margin-bottom:0!important;line-height:.88!important;text-align:left!important}.project-detail-content .noshake-detail-page .noshake-hero-title{display:block;font-size:clamp(3.22rem,5.2vw,4.43rem);line-height:.88;text-align:left!important}.project-detail-content .noshake-detail-page .noshake-build-heading-row{display:block}.project-detail-content .noshake-detail-page .noshake-build-subheading{min-width:0}.project-detail-content .noshake-detail-page .noshake-inline-signs{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;margin-top:1.15rem}.project-detail-content .noshake-detail-page .noshake-inline-signs img{display:block;width:auto;max-width:31%;max-height:7rem;object-fit:contain}.project-detail-content .noshake-detail-page .noshake-build-signs{justify-content:flex-end;padding-right:.1rem}.project-detail-content .noshake-detail-page .noshake-art-signs{justify-content:flex-start;margin-top:1.3rem}.project-detail-content .noshake-detail-page .noshake-art-signs img{max-width:45%;max-height:8.2rem}.project-detail-content .noshake-detail-page .noshake-merch-media-col{display:flex;justify-content:center}.project-detail-content .noshake-detail-page .noshake-merch-card{--noshake-merch-card-radius:.8rem;width:100%;overflow:hidden;border:0 solid rgba(179,179,179,.12);border-radius:var(--noshake-merch-card-radius);background:#fff;box-shadow:0 .4rem .9rem rgba(0,0,0,.16)}.project-detail-content .noshake-detail-page .noshake-merch-section{padding:.75rem .75rem .7rem}.project-detail-content .noshake-detail-page .noshake-merch-section+.noshake-merch-section{border-top:1px solid rgba(0,0,0,.08);padding-top:.8rem}.project-detail-content .noshake-detail-page .noshake-sign-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));column-gap:.06rem;row-gap:.72rem;align-items:center;justify-items:center}.project-detail-content .noshake-detail-page .noshake-sign-grid img{display:block;grid-column:span 2;width:100%;height:clamp(6.2rem,9.2vw,8.4rem);border-radius:.15rem;background:#f8f8f8;object-fit:contain;transform:scale(1.08)}.project-detail-content .noshake-detail-page .noshake-sign-grid img:nth-child(6){grid-column:3/span 2}.project-detail-content .noshake-detail-page .noshake-sign-grid img:nth-child(7){grid-column:5/span 2}
.project-detail-content .noshake-detail-page .noshake-sign-grid img:nth-child(8){grid-column:7/span 2}.project-detail-content .noshake-detail-page .noshake-model-viewer{display:block;width:100%;height:clamp(10.5rem,19vw,14rem);border:1px solid rgba(0,0,0,.12);border-radius:.35rem;background:#fff}.project-detail-content .noshake-detail-page .noshake-merch-caption{margin:.58rem 0 0;color:#424242;font-size:.8rem;font-weight:300;line-height:1.2;text-align:center}.project-detail-content .noshake-detail-page .noshake-model-caption-row{position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:2.35rem;padding-top:.6rem}.project-detail-content .noshake-detail-page .noshake-model-caption-row .noshake-merch-caption{position:absolute;left:50%;margin:0;max-width:calc(100% - 11rem);transform:translateX(-50%)}.project-detail-content .noshake-detail-page .noshake-stl-button{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;min-height:31px;padding:.25rem .5rem;border:1px solid #111!important;border-radius:4px;background-color:#fff!important;box-shadow:none!important;color:#111!important;font-size:.875rem;font-weight:500;letter-spacing:0;line-height:1!important;text-align:center;text-decoration:none!important;text-transform:none!important;transition:background-color .16s ease,border-color .16s ease,color .16s ease;white-space:nowrap}.project-detail-content .noshake-detail-page .noshake-stl-button:hover,.project-detail-content .noshake-detail-page .noshake-stl-button:focus{border-color:#111!important;background-color:#111!important;box-shadow:none!important;color:#fff!important;text-decoration:none!important}.project-detail-content .noshake-detail-page .noshake-stl-button:active,.project-detail-content .noshake-detail-page .noshake-stl-button.active{border-color:var(--project-cyan)!important;background-color:var(--project-cyan)!important;box-shadow:none!important;color:#fff!important;text-decoration:none!important}@media(max-width:991.98px){.project-detail-content .noshake-detail-page .noshake-build-signs,.project-detail-content .noshake-detail-page .noshake-art-signs{justify-content:flex-end}.project-detail-content .noshake-detail-page .noshake-inline-signs img{max-height:5.8rem}.project-detail-content .noshake-detail-page .noshake-merch-media-col{margin-bottom:1.5rem}.project-detail-content .noshake-detail-page .noshake-model-caption-row{flex-direction:column;justify-content:center;gap:.55rem}.project-detail-content .noshake-detail-page .noshake-model-caption-row .noshake-merch-caption{position:static;max-width:100%;transform:none}}.project-detail-content .rimland-detail-page .rimland-overlay-heading-stack p.fs-1{margin-top:0!important;margin-bottom:.22rem!important;line-height:.92!important}.project-detail-content .rimland-detail-page .rimland-overlay-heading-stack p.fs-1:last-child{margin-bottom:0!important}.project-detail-content .rimland-detail-page .rimland-heading-stack{margin-bottom:1.05rem}.project-detail-content .rimland-detail-page .rimland-heading-stack p{margin-top:0!important;margin-bottom:.34rem!important;line-height:.95!important}.project-detail-content .rimland-detail-page .rimland-heading-stack p:last-child{margin-bottom:0!important}.project-detail-content .rimland-detail-page .rimland-heading-stack hr{margin-top:.35rem!important;margin-bottom:.5rem!important}.project-detail-content .rimland-detail-page .rimland-heading-stack .badge{vertical-align:middle}.project-detail-content .rimland-detail-page .rimland-intro-subheading{margin:-0.8rem 0 .9rem}.project-detail-content .rimland-detail-page .rimland-intro-subheading p{margin:0 0 .38rem;color:#111;font-size:2.2rem;font-weight:600;letter-spacing:0;line-height:1}.project-detail-content .rimland-detail-page .rimland-intro-subheading hr{margin:0;border-top:1px solid rgba(0,0,0,.16)}.project-detail-content .rimland-detail-page .rimland-intro-art-image{box-shadow:0 .45rem 1rem rgba(0,0,0,.28)}.project-detail-content .rimland-detail-page .rimland-intro-art-caption{margin-top:1.15rem!important}.project-detail-content .world-of-summoner-detail-page .wos-overlay-heading-stack p.fs-1{margin-top:0!important;margin-bottom:.22rem!important;line-height:.92!important}.project-detail-content .world-of-summoner-detail-page .wos-overlay-heading-stack p.fs-1:last-child{margin-bottom:0!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay{left:66%;width:72%}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay .wos-intro-title-line{margin-bottom:0!important;line-height:.82!important;text-align:left!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay .wos-intro-kicker{margin-bottom:.1rem!important;text-align:left!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay .wos-intro-kicker .oversized-text-cm{display:block;font-size:1.76rem;line-height:.9;text-align:left!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay .wos-intro-title-line .oversized-text-wb{display:block;font-size:2.92rem;line-height:.82;text-align:left!important}
.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay .wos-intro-world-line{margin-bottom:-0.34rem!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-subheading{margin:-0.7rem 0 .9rem}.project-detail-content .world-of-summoner-detail-page .wos-intro-subheading p{margin:0 0 .38rem;color:#111;font-size:2.3rem;font-weight:500;letter-spacing:0;line-height:1}.project-detail-content .world-of-summoner-detail-page .wos-intro-subheading hr{margin:0;border-top:.5px solid rgba(0,0,0,.16)}.project-detail-content .world-of-summoner-detail-page .wos-heading-stack{margin-bottom:1.05rem}.project-detail-content .world-of-summoner-detail-page .wos-heading-stack p{margin-top:0!important;margin-bottom:.34rem!important;line-height:.95!important}.project-detail-content .world-of-summoner-detail-page .wos-heading-stack p:last-child{margin-bottom:0!important}.project-detail-content .world-of-summoner-detail-page .wos-heading-stack hr{margin-top:.35rem!important;margin-bottom:.5rem!important}.project-detail-content .for-survive-detail-page .for-survive-overlay-heading-stack p.fs-1{margin-top:0!important;margin-bottom:.22rem!important;line-height:.92!important}.project-detail-content .for-survive-detail-page .for-survive-overlay-heading-stack p.fs-1:last-child{margin-bottom:0!important}.project-detail-content .for-survive-detail-page .for-survive-intro-overlay{top:41%;left:44%;width:80%}.project-detail-content .for-survive-detail-page .for-survive-intro-overlay .for-survive-intro-kicker{margin-bottom:.2rem!important;line-height:.92!important;text-align:left!important}.project-detail-content .for-survive-detail-page .for-survive-intro-overlay .for-survive-intro-kicker .oversized-text-cm{display:block;color:#c42727;font-size:1.8rem;line-height:.92;letter-spacing:0;text-align:left!important;text-shadow:none}.project-detail-content .for-survive-detail-page .for-survive-intro-overlay .for-survive-intro-title-line{margin-bottom:0!important;line-height:.92!important;text-align:left!important}.project-detail-content .for-survive-detail-page .for-survive-intro-overlay .for-survive-intro-title-line .oversized-text-wb{display:block;color:#525252;font-size:2.8rem;line-height:.92;letter-spacing:-1.5px;text-align:left!important;text-shadow:none}.project-detail-content .for-survive-detail-page .for-survive-heading-stack{margin-bottom:1.05rem}.project-detail-content .for-survive-detail-page .for-survive-heading-stack p{margin-top:0!important;margin-bottom:.34rem!important;line-height:.95!important}.project-detail-content .for-survive-detail-page .for-survive-heading-stack p:last-child{margin-bottom:0!important}.project-detail-content .for-survive-detail-page .for-survive-heading-stack hr{margin-top:.35rem!important;margin-bottom:.5rem!important}.project-detail-content .for-survive-detail-page .for-survive-heading-stack .badge{vertical-align:middle}.project-detail-content .for-survive-detail-page .for-survive-prototype-heading-stack{margin-bottom:.95rem}.project-detail-content .for-survive-detail-page .for-survive-section-title-image{position:relative;width:100%;max-width:31rem;margin:0 0 .35rem}.project-detail-content .for-survive-detail-page .for-survive-section-title-bg{display:block;width:100%;height:auto}.project-detail-content .for-survive-detail-page .for-survive-section-title-overlay{position:absolute;top:47%;left:44%;width:92%;transform:translate(-50%,-50%)}.project-detail-content .for-survive-detail-page .for-survive-section-title-overlay p{margin-top:0!important;margin-bottom:.34rem!important;line-height:.95!important;text-align:left!important}.project-detail-content .for-survive-detail-page .for-survive-section-title-overlay p:last-child{margin-bottom:0!important}.project-detail-content .for-survive-detail-page .for-survive-section-title-overlay .oversized-text-bb{display:block;text-align:left!important;white-space:nowrap}.project-detail-content .for-survive-detail-page .for-survive-section-title-overlay .badge-custom-cyan{background-color:#6f7377}.project-detail-content .for-survive-detail-page .for-survive-paper-prototype-image{display:block;width:100%!important;max-width:100%;margin-right:auto;margin-left:auto}.project-detail-content .for-survive-detail-page .for-survive-heading-divider-image{display:block;width:72%;max-width:23.4rem;height:auto;margin:.7rem 0 .5rem}.project-detail-content .covid-control-simulator-detail-page .covid-control-intro-title-line{margin-bottom:.34rem!important;line-height:.9!important}.project-detail-content .covid-control-simulator-detail-page .covid-control-intro-subtitle-line{margin-top:0!important;margin-bottom:.35rem!important;line-height:.9!important}.project-detail-content .covid-control-simulator-detail-page .covid-control-intro-divider{color:#fff!important;border-color:rgba(var(--global-white-rgb),0.72)!important;background-color:rgba(var(--global-white-rgb),0.72)!important;opacity:1}.project-detail-content .covid-control-simulator-detail-page .covid-control-section-title-on-image{font-size:2.55rem!important;line-height:.95!important}
.project-detail-content .covid-control-simulator-detail-page .covid-control-section-title-plain{font-size:2.04rem!important;line-height:.95!important}.project-detail-content .covid-control-simulator-detail-page .covid-control-system-divider{display:block;margin-left:0!important;margin-right:auto!important}.project-detail-content .covid-control-simulator-detail-page .covid-control-system-image{box-shadow:0 .45rem 1rem rgba(0,0,0,.28)}@media(min-width:992px){.project-detail-content .covid-control-simulator-detail-page .covid-control-system-image-column{padding-left:1.4rem!important}}.project-detail-content .battle-billiards-detail-page .battle-billiards-title-overlay{text-align:left!important}.project-detail-content .battle-billiards-detail-page .battle-billiards-title-overlay .battle-billiards-kicker-line{margin-top:0!important;margin-bottom:.12rem!important;line-height:.9!important;text-align:left!important}.project-detail-content .battle-billiards-detail-page .battle-billiards-title-overlay .battle-billiards-main-title-line{margin-top:0!important;margin-bottom:.52rem!important;line-height:.9!important;text-align:left!important}.project-detail-content .battle-billiards-detail-page .battle-billiards-title-overlay .oversized-text-cm,.project-detail-content .battle-billiards-detail-page .battle-billiards-title-overlay .oversized-text-wb{display:block;line-height:.9;text-align:left!important}.project-detail-content .battle-billiards-detail-page .battle-billiards-intro-divider{color:rgba(var(--global-white-rgb),0.34)!important;border-color:rgba(var(--global-white-rgb),0.34)!important;background-color:rgba(var(--global-white-rgb),0.34)!important;opacity:1}.project-detail-content .battle-billiards-detail-page .battle-billiards-feature-image{box-shadow:0 .45rem 1rem rgba(0,0,0,.28)}.project-detail-content .free-body-diagram-detail-page .free-body-diagram-inline-link{color:#777!important;font-weight:500;text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.13em}.project-detail-content .free-body-diagram-detail-page .free-body-diagram-inline-link:hover,.project-detail-content .free-body-diagram-detail-page .free-body-diagram-inline-link:focus{color:#111!important;text-decoration:underline}.project-detail-content .free-body-diagram-detail-page .free-body-diagram-title-frame{display:block;width:100%;max-width:34rem;margin:0 auto 1.4rem}.project-detail-content .free-body-diagram-detail-page .free-body-diagram-title-frame-image{width:100%;height:auto!important}.project-detail-content .free-body-diagram-detail-page .free-body-diagram-title-overlay{top:50%;left:50%;width:92%;padding:0;text-align:center!important;transform:translate(-50%,-50%)}.project-detail-content .free-body-diagram-detail-page .free-body-diagram-title-overlay>p:first-child{display:none}.project-detail-content .free-body-diagram-detail-page .free-body-diagram-title-line{margin:0!important;line-height:1!important;text-align:center!important}.project-detail-content .free-body-diagram-detail-page .free-body-diagram-title-text{display:block;color:#7a563c;font-size:2.2rem;line-height:1;letter-spacing:0;text-align:center!important;text-shadow:none;white-space:nowrap}.project-detail-content .free-body-diagram-detail-page .free-body-diagram-feature-image{box-shadow:0 .45rem 1rem rgba(0,0,0,.28)}.project-detail-content .free-body-diagram-detail-page .free-body-diagram-feature-caption{margin-top:.85rem!important}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-overlay-heading-stack p.fs-1{margin-top:0!important;margin-bottom:.2rem!important;line-height:.92!important;text-align:left!important}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-overlay-heading-stack p.fs-1:last-child{margin-bottom:0!important}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-intro-overlay{top:55%;left:53%;width:78%}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-intro-title-line .oversized-text-wb{display:block;color:#686868;font-size:2.55rem;line-height:.92;letter-spacing:0;text-align:left!important;text-shadow:none}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-intro-spacer{height:.45rem;margin:0;font-size:0;line-height:.45rem}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-intro-subheading{margin:0 0 .9rem}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-intro-subheading p{margin:0 0 .38rem;color:#111;font-size:2rem;font-weight:500;letter-spacing:0;line-height:1}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-intro-subheading hr{margin:0;border-top:1px solid rgba(0,0,0,.16)}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-section-heading-stack>p.fs-1{margin-top:0!important;margin-bottom:.42rem!important;line-height:.95!important}
.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-section-heading-stack>p.fs-2{margin-top:0!important;margin-bottom:.8rem!important;line-height:.9!important}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-secondary-title .color-text-cyan{color:#d6a51a}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-heading-divider-image{display:block;width:82.8%;max-width:26.9rem;height:auto;margin:.42rem 0 .34rem}.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-playtest-image{display:block;box-shadow:0 .45rem 1rem rgba(0,0,0,.28)}@media(min-width:992px){.project-detail-content .containment-breach-escape-detail-page .containment-breach-escape-playtest-image{width:110%!important;max-width:110%;margin-left:-5%}}.project-detail-content .card{overflow:hidden;border:1px solid rgba(0,0,0,.12)}.project-detail-content iframe{display:block;width:100%;max-height:70vh}.project-detail-content iframe.project-youtube-frame{display:block;width:100%;aspect-ratio:16/9;height:auto!important;max-height:none}iframe.responsive-video-frame{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto!important}.project-detail-content .carousel{padding-bottom:1.2rem}.project-detail-content .carousel-inner{overflow:hidden}.project-detail-content .carousel-indicators{bottom:-0.5rem;margin-bottom:0}.project-detail-content .carousel-indicators button{width:38px;height:4px;margin-right:4px;margin-left:4px;border:0;background-color:rgba(0,0,0,.3);opacity:1}.project-detail-content .carousel-indicators button.active{background-color:var(--project-cyan)}.project-detail-content .carousel-control-prev-icon,.project-detail-content .carousel-control-next-icon{width:2.35rem;height:2.35rem;background-size:58%}.project-detail-content .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.project-page-updated{max-width:760px;margin:2rem auto 3rem;color:var(--global-text-color);text-align:center}.site-bottom-contact-band{width:var(--full-bleed-width,100vw);max-width:var(--full-bleed-width,100vw);min-height:14.5rem;margin-top:3.8rem;margin-bottom:-70px;margin-left:var(--full-bleed-offset,calc(50% - 50vw));margin-right:var(--full-bleed-offset,calc(50% - 50vw));padding:3.25rem 1rem 7.625rem;background-color:#212529;display:flex;align-items:center;justify-content:center}.site-bottom-contact{width:min(100%,640px);text-align:center;color:#fff}.site-bottom-contact p,.site-bottom-contact small,.site-bottom-contact span{color:#fff}.site-bottom-contact-name{margin-bottom:.25rem;font-size:1.45rem;font-weight:700;line-height:1.2}.site-bottom-contact-name small{font-size:1rem;font-weight:400}.site-bottom-contact-email{margin-bottom:.95rem;font-size:.95rem;line-height:1.2}.site-bottom-contact-divider{width:100%;margin:1rem auto;border:0;border-top:1px solid rgba(var(--global-white-rgb),0.35)}.site-bottom-contact-social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem;margin:0}.site-bottom-contact-social-button{width:42px;height:38px;margin:0!important;padding:0!important;border:1px solid #fff!important;border-radius:.25rem!important;background-color:rgba(0,0,0,0)!important;color:#fff!important;box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;line-height:1;text-decoration:none!important;vertical-align:middle;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.site-bottom-contact-social-button:hover,.site-bottom-contact-social-button:focus{background-color:#fff!important;border-color:#fff!important;color:#212529!important;box-shadow:none!important;text-decoration:none!important}.site-bottom-contact-social-button i{font-size:1.45rem;line-height:1}@media(max-width:1399.98px){.logs-page .logs-year-nav{display:none}.projects-legacy-page .album>.container{width:min(100% - 1.5rem,1260px)!important}.projects-legacy-page .row.g-3{--bs-gutter-x:1rem}}@media(max-width:991.98px){.projects-legacy-page .album{padding-right:0!important;padding-left:0!important}.projects-legacy-page .card-body{min-height:auto}.project-detail-page{margin-top:0}.project-floating-back{top:4.25rem;left:.75rem}.project-detail-content .album>.container,.project-detail-content .container.px-5{padding-right:1rem!important;padding-left:1rem!important}.project-detail-content main>section:first-child{padding-top:2.2rem!important}.project-detail-content main>section:first-child img{width:60%!important}.project-detail-content .lead.fs-5{font-size:1.05rem!important}.project-detail-content .fs-1{font-size:2.05rem!important}.project-detail-content .fs-2,.project-detail-content .fs-3{font-size:1.45rem!important}.project-detail-content iframe{height:48vh}}@media(max-width:575.98px){.projects-legacy-page{width:100%;max-width:100%;margin-left:0;overflow-x:clip;transform:none}
.projects-legacy-page .album>.container{width:100%!important;max-width:100%!important;padding-right:0!important;padding-left:0!important}.projects-legacy-page .row.g-3{margin-right:0;margin-left:0}.projects-legacy-page .row.g-3>.col{padding-right:0;padding-left:0}.projects-legacy-page .display-5,.projects-legacy-page .fs-1{font-size:2rem!important}.projects-legacy-page .card-img-top{display:block;height:auto!important;aspect-ratio:16/9;object-fit:cover}.projects-legacy-page .card-body{padding:.875rem!important}.projects-legacy-page .badge-custom-cyan{padding:.19rem .35rem;border-radius:.28rem;font-size:.665rem;line-height:1;white-space:nowrap}.projects-legacy-page .btn-group>.btn,.projects-legacy-page .btn-group>a,.projects-legacy-page .btn-group>.image-tooltip-container>.btn,.projects-legacy-page .btn-group>.tooltip-container>.btn{height:27px;min-height:27px;padding-right:.42rem;padding-left:.42rem;border-radius:3.5px;font-size:.72rem;line-height:1!important;white-space:nowrap}#back-to-top{right:1rem!important;bottom:calc(4rem+env(safe-area-inset-bottom,0))!important;z-index:1040!important}.project-floating-back-link{padding:.42rem .75rem;font-size:.9rem}.project-detail-content .lead{text-align:left}.project-detail-content .lead.text-center,.project-detail-content .text-center .lead,.project-detail-content section.text-center .lead{text-align:center}.project-detail-content .px-4,.project-detail-content .px-5{padding-right:.35rem!important;padding-left:.35rem!important}.project-detail-content .project-mobile-flush-col{padding-right:0!important;padding-left:0!important}.project-detail-content main>section:first-child img{width:72%!important}.project-detail-content iframe{height:320px}}@media(max-width:575.98px){.project-detail-content .image-container .oversized-text-cm,.project-detail-content .image-container .oversized-text-cms{font-size:1.53rem!important}.project-detail-content .image-container .oversized-text-wb{font-size:2.55rem!important}.project-detail-content .image-container .oversized-text-wbs{font-size:2.125rem!important}.project-detail-content .image-container .oversized-text-bb{font-size:2.55rem!important}.project-detail-content .jubensha-detail-page .jubensha-overlay-heading-stack:not(.noshake-title-overlay),.project-detail-content .rimland-detail-page .rimland-overlay-heading-stack{left:47%!important;width:86%!important;transform:translate(-50%,-60%)!important}.project-detail-content .jubensha-detail-page .jubensha-overlay-heading-stack:not(.noshake-title-overlay) p.fs-1,.project-detail-content .rimland-detail-page .rimland-overlay-heading-stack p.fs-1{margin-bottom:.13rem!important;line-height:.86!important}.project-detail-content .jubensha-detail-page .jubensha-overlay-heading-stack:not(.noshake-title-overlay) .oversized-text-cm,.project-detail-content .rimland-detail-page .rimland-overlay-heading-stack .oversized-text-cm{font-size:1.377rem!important}.project-detail-content .jubensha-detail-page .jubensha-overlay-heading-stack:not(.noshake-title-overlay) .oversized-text-wb,.project-detail-content .rimland-detail-page .rimland-overlay-heading-stack .oversized-text-wb{font-size:2.295rem!important}.project-detail-content .revisitgames-detail-page .revisitgames-overlay-heading-stack{--revisitgames-overlay-kicker-font-size:1.22rem;--revisitgames-overlay-title-font-size:2.04rem;transform:translateY(-62%)!important}.project-detail-content .noshake-detail-page .noshake-hero-title{font-size:clamp(2.329rem,3.757vw,3.205rem)!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay{left:65%!important;width:70%!important;transform:translate(-50%,-60%)!important}.project-detail-content .world-of-summoner-detail-page .wos-overlay-heading-stack p.fs-1{margin-bottom:.07rem!important;line-height:.74!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay .wos-intro-title-line{line-height:.74!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay .wos-intro-kicker{margin-bottom:.07rem!important;line-height:.78!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay .wos-intro-kicker .oversized-text-cm{font-size:1.35rem!important;line-height:.78!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay .wos-intro-title-line .oversized-text-wb{font-size:1.984rem!important;line-height:.74!important}.project-detail-content .world-of-summoner-detail-page .wos-intro-overlay .wos-intro-world-line{margin-bottom:-0.18rem!important}.project-detail-content .for-survive-detail-page .for-survive-intro-overlay .for-survive-intro-kicker .oversized-text-cm{font-size:1.301rem!important}.project-detail-content .for-survive-detail-page .for-survive-intro-overlay .for-survive-intro-title-line .oversized-text-wb{font-size:2.023rem!important;letter-spacing:0!important}.project-detail-content .for-survive-detail-page .for-survive-intro-overlay{transform:translate(-50%,-58%)!important}.project-detail-content .for-survive-detail-page .for-survive-section-title-overlay .oversized-text-bb{font-size:2.55rem!important}
.project-detail-content .free-body-diagram-detail-page .free-body-diagram-title-text{font-size:1.87rem!important}}.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;color:var(--global-card-bg-color)!important}.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 .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{--reading-progress-color:#6de5f2;position:fixed;left:0;top:56px;z-index:10;width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background-color:rgba(0,0,0,0);color:var(--reading-progress-color)!important;accent-color:var(--reading-progress-color)}progress::-webkit-progress-bar{background-color:rgba(0,0,0,0)}progress[value]{accent-color:var(--reading-progress-color)}progress::-webkit-progress-value{background-color:var(--reading-progress-color)!important}progress::-moz-progress-bar{background-color:var(--reading-progress-color)!important}.progress-container{width:100%;background-color:rgba(0,0,0,0);position:fixed;top:56px;left:0;height:20px;display:block}.progress-bar{background-color:#6de5f2!important;width:0;display:block;height:inherit}
#back-to-top{border:1px solid rgba(var(--global-white-rgb),0.9)!important;background:rgba(var(--global-white-rgb),0.68)!important;box-shadow:0 .35rem .9rem rgba(0,0,0,.24)!important;color:var(--global-text-color)!important;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,border-width .15s ease-in-out,box-shadow .15s ease-in-out,color .15s ease-in-out}#back-to-top:hover,#back-to-top:focus{border:3px solid var(--global-theme-color)!important;background:rgba(33,37,41,.72)!important;box-shadow:0 .45rem 1.1rem rgba(0,0,0,.32)!important;color:var(--global-hover-text-color)!important}#back-to-top svg{width:40px!important;height:40px!important;margin:4px auto 0!important}.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}.btn-group.dropdown .btn{box-shadow:none;-webkit-box-shadow:none}.btn-group.dropdown .dropdown-menu{background-color:var(--global-bg-color)}.btn-group.dropdown .dropdown-item{background-color:var(--global-bg-color);color:var(--global-text-color)}.btn-group.dropdown .dropdown-item:hover{color:var(--global-hover-color)}.btn-group.dropdown .dropdown-item.active,.btn-group.dropdown .dropdown-item:active{background-color:var(--global-hover-color);color:var(--global-hover-text-color)!important}.btn-group.dropdown .dropdown-item.active:hover,.btn-group.dropdown .dropdown-item:active:hover{color:var(--global-hover-text-color)}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}}.featured-posts a{color:var(--global-text-color-light);text-decoration:none}.featured-posts a .card-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.featured-posts a:hover{color:var(--global-theme-color)}.featured-posts a:hover .card-title{color:var(--global-theme-color)}.featured-posts .post-meta{color:var(--global-text-color-light);font-size:.875rem;margin-bottom:0;padding-top:.5rem}.unloaded{display:none!important}#toc-sidebar{z-index:1}.echarts{height:400px;width:100%}.map{height:400px;width:100%}swiper-container{--swiper-navigation-color:var(--global-theme-color);--swiper-pagination-color:var(--global-theme-color);--swiper-pagination-bullet-inactive-color:var(--global-text-color)}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)}.newsletter-form-container{margin-bottom:20px}.newsletter-form{display:flex;flex-direction:row;align-items:center;width:100%}.newsletter-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}.newsletter-form-input:focus{border-color:var(--global-theme-color)!important}.newsletter-form-button{background:var(--global-theme-color);color:var(--global-bg-color);display:flex;width:min-content;max-width:200px;white-space:nowrap;height:38px;align-items:center;flex-direction:row;padding:9px 17px;box-shadow:rgba(0,0,0,.05) 0px 1px 2px;border-radius:6px;text-align:center;font-style:normal;font-weight:500;line-height:20px;border:0;cursor:pointer}
.newsletter-loading-button{background:var(--global-theme-color);color:var(--global-bg-color);display:none;width:min-content;max-width:300px;white-space:nowrap;height:38px;align-items:center;flex-direction:row;padding:9px 17px;box-shadow:rgba(0,0,0,.05) 0px 1px 2px;border-radius:6px;text-align:center;font-style:normal;font-weight:500;line-height:20px;border:0;cursor:pointer;margin-right:20px}.newsletter-success{color:var(--global-text-color);display:none;align-items:center;width:100%}.newsletter-error{color:var(--global-theme-color);display:none;align-items:center;width:100%}.newsletter-back-button{color:var(--global-theme-color);margin:10px auto;text-align:center;display:none;background:rgba(0,0,0,0);border:0;cursor:pointer}@media(max-width:575px){.newsletter-form-input,.newsletter-form-button,.newsletter-loading-button,.newsletter-success,.newsletter-error{font-size:16px!important}.newsletter-form-container{margin-right:20px;margin-left:20px}}.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.cover{display:inline-block;text-align:center;margin:.5rem}figure.cover img{vertical-align:bottom}figure.cover figcaption.finished{font-family:monospace;color:#23212d;text-transform:uppercase;background-color:#62c462}figure.cover figcaption.interested{font-family:monospace;color:#23212d;text-transform:uppercase;background-color:#7691db}figure.cover figcaption.reading{font-family:monospace;color:#23212d;text-transform:uppercase;background-color:#f89406}figure.cover a.cover-link:hover{color:#23212d!important}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-contents{align-self:start;grid-column:1/4;grid-row:auto/span 4;justify-self:end;margin-top:0;padding-left:2em;padding-right:3em;border-right:1px solid var(--global-divider-color);width:max(70%,300px);margin-right:0;margin-top:0;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:0;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;color:var(--global-theme-color)!important}d-article d-footnote:hover{color:var(--global-hover-color)!important}d-article d-cite a,d-article a.citation{color:var(--global-theme-color)!important}d-article d-cite a:hover,d-article a.citation:hover{color:var(--global-hover-color)!important}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:1024px){d-article d-contents{display:block;grid-column-start:2;grid-column-end:-2;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}}p.location{font-size:.7rem;white-space:nowrap}td.department{font-size:.8rem}div.list-group{display:flex;flex-wrap:wrap;flex-direction:column;align-items:flex-start;margin-bottom:2rem}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}.shano-cv-page{--cv-ink:#101820;--cv-muted:#687887;--cv-soft-ink:#34424d;--cv-white-rgb:255,255,255;--cv-paper:rgba(var(--cv-white-rgb),0.92);--cv-paper-solid:#fff;--cv-rule:rgba(18,31,44,0.12);--cv-shadow:0 1.1rem 2.4rem rgba(20,32,45,0.1);--cv-blue:#3f8cff;--cv-cyan:#19b9dc;--cv-teal:#20bda9;--cv-green:#47b881;--cv-purple:#8270e8;--cv-violet:#9a67c7;max-width:980px;margin:0 auto;padding-bottom:5rem;color:var(--cv-ink);position:relative}.shano-cv-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.6rem 0 1.15rem;padding:0}.shano-cv-header-copy{min-width:0}.shano-cv-header-kicker{margin:0 0 .22rem;color:var(--cv-cyan);font-size:.78rem;font-weight:850;letter-spacing:.12em;line-height:1.1;text-transform:uppercase}.shano-cv-pdf-button{display:inline-grid;place-items:center;width:4.2rem;height:4.2rem;color:#0586aa!important;border:0;border-radius:8px;background:#fff;text-decoration:none!important;font-size:.68rem;font-weight:850;letter-spacing:.02em;line-height:1;box-shadow:0 .7rem 1.5rem rgba(18,31,44,.13);transition:transform 160ms ease,box-shadow 160ms ease,color 160ms ease,background 160ms ease}.shano-cv-pdf-button i{display:block;margin:0;font-size:1.95rem;line-height:1}.shano-cv-pdf-button:hover{color:#fff!important;background:var(--cv-cyan);box-shadow:0 .95rem 1.8rem rgba(25,185,220,.28);transform:translateY(-2px)}.shano-cv-floating-nav{position:fixed;top:7.2rem;right:clamp(.8rem,2vw,2rem);z-index:1020;display:grid;gap:.18rem;min-width:7.2rem;padding:.6rem;border:1px solid rgba(var(--cv-white-rgb),0.72);border-radius:8px;background:rgba(var(--cv-white-rgb),0.56);box-shadow:0 .7rem 1.7rem rgba(18,31,44,.16);backdrop-filter:blur(16px);opacity:.58;transition:opacity 180ms ease,transform 180ms ease,background 180ms ease}
.shano-cv-floating-nav:hover{background:rgba(var(--cv-white-rgb),0.8);opacity:.8;transform:translateX(-2px)}.shano-cv-nav-transient .shano-cv-floating-nav:not(:hover){opacity:.16;transform:translateX(4px)}.shano-cv-floating-nav a{display:block;padding:.28rem .44rem;color:var(--cv-soft-ink);border-radius:6px;text-align:right;text-decoration:none!important;font-size:.76rem;font-weight:850;line-height:1.2;transition:color 140ms ease,background 140ms ease}.shano-cv-floating-nav a:hover,.shano-cv-floating-nav a:focus,.shano-cv-floating-nav a.active,.shano-cv-floating-nav a[aria-current=true]{color:#048ab0;background:rgba(25,185,220,.12);text-decoration:none!important}.shano-cv-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,0.32fr);gap:clamp(1.2rem,3vw,2rem);align-items:stretch;margin:0 0 1.55rem;padding:clamp(1.15rem,3vw,1.75rem);border:1px solid rgba(18,31,44,.1);border-radius:8px;background:linear-gradient(135deg,rgba(25,185,220,0.12),rgba(130,112,232,0.06) 48%,rgba(var(--cv-white-rgb),0.92) 100%),var(--cv-paper-solid);box-shadow:var(--cv-shadow)}.shano-cv-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shano-cv-profile-copy{align-self:center;padding:.25rem 0 .25rem clamp(.85rem,1.6vw,1.15rem);border-left:.42rem solid var(--cv-cyan)}.shano-cv-eyebrow{margin:0 0 .55rem;color:#078aaa;font-size:.72rem;font-weight:850;letter-spacing:.11em;line-height:1.3;text-transform:uppercase}.shano-cv-profile-copy h2{display:flex;align-items:baseline;flex-wrap:nowrap;gap:clamp(.38rem,1vw,.58rem);margin:0;color:var(--cv-ink);font-size:clamp(2.35rem,5.6vw,4.35rem);font-weight:900;letter-spacing:0;line-height:.92;white-space:nowrap}.shano-cv-pronouns{color:#505b65;font-size:clamp(.95rem,1.25vw,1.16rem);font-weight:400;letter-spacing:0;line-height:1;white-space:nowrap}.shano-cv-role{margin:.55rem 0 .9rem;color:#057e9c;font-size:1.02rem;font-weight:850}.shano-cv-profile-copy p:not(.shano-cv-eyebrow):not(.shano-cv-role){margin:0;color:var(--cv-muted);font-size:.98rem;line-height:1.5}.shano-cv-profile-aside{display:grid;align-content:center;justify-items:center;gap:1rem;min-width:0}.shano-cv-portrait{width:clamp(8.8rem,16vw,11rem);aspect-ratio:1;margin:0;border:.36rem solid #fff;border-radius:50%;background:#fff;box-shadow:0 .75rem 1.6rem rgba(18,31,44,.18),0 0 0 1px rgba(18,31,44,.08);overflow:hidden}.shano-cv-portrait img{display:block;width:100%;height:100%;object-fit:cover}.shano-cv-contact-panel{display:grid;gap:.65rem;width:100%;padding:.9rem .95rem;border:1px solid rgba(25,185,220,.18);border-radius:8px;background:rgba(var(--cv-white-rgb),0.74);box-shadow:0 .45rem 1.1rem rgba(18,31,44,.07);font-size:.82rem;font-weight:780}.shano-cv-contact-panel a,.shano-cv-contact-panel span{color:var(--cv-ink);overflow-wrap:anywhere}.shano-cv-section{--section-accent:var(--cv-cyan);--section-soft:rgba(25,185,220,0.08);margin:0 0 1.35rem;padding:clamp(1rem,2.3vw,1.35rem);border:1px solid rgba(18,31,44,.1);border-top:4px solid var(--section-accent);border-radius:8px;background:var(--cv-paper);box-shadow:0 .8rem 1.8rem rgba(18,31,44,.08)}.shano-cv-section--education{--section-accent:var(--cv-blue);--section-soft:rgba(63,140,255,0.09)}.shano-cv-section--experience{--section-accent:var(--cv-cyan);--section-soft:rgba(25,185,220,0.09)}.shano-cv-section--service{--section-accent:var(--cv-purple);--section-soft:rgba(130,112,232,0.1)}.shano-cv-section--awards{--section-accent:var(--cv-green);--section-soft:rgba(71,184,129,0.1)}.shano-cv-section--skills{--section-accent:var(--cv-violet);--section-soft:rgba(154,103,199,0.1)}.shano-cv-section--interests{--section-accent:var(--cv-teal);--section-soft:rgba(32,189,169,0.1)}.shano-cv-section-heading{display:flex;align-items:center;gap:.72rem;margin-bottom:1rem;padding-bottom:.72rem;border-bottom:1px solid var(--cv-rule)}.shano-cv-section-heading span{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:7px;color:var(--section-accent);background:var(--section-soft);font-size:.72rem;font-weight:900;line-height:1}.shano-cv-section h2{margin:0;color:var(--cv-ink);font-size:clamp(1.45rem,3vw,2.25rem);font-weight:900;letter-spacing:.04em;line-height:1;text-transform:uppercase}.shano-cv-timeline{display:grid;gap:.68rem}.shano-cv-entry{display:grid;grid-template-columns:10.8rem minmax(0,1fr);gap:1.05rem;padding:.88rem .95rem;border:1px solid rgba(18,31,44,.08);border-left:4px solid var(--section-accent);border-radius:8px;background:rgba(var(--cv-white-rgb),0.76)}.shano-cv-entry:first-child{border-top:1px solid rgba(18,31,44,.08)}.shano-cv-date,.shano-cv-service-grid span,.shano-cv-awards-grid span{display:inline-block;width:fit-content;color:#fff;background:var(--section-accent);padding:.22rem .52rem;border-radius:5px;font-size:.72rem;font-weight:900;line-height:1.2;align-self:start;box-shadow:0 .3rem .7rem rgba(18,31,44,.12)}.shano-cv-entry h3,.shano-cv-skill-grid h3,.shano-cv-interest-columns h3,.shano-cv-awards-grid h3{margin:0;color:var(--cv-ink);font-size:1.02rem;font-weight:850;line-height:1.25}
.shano-cv-entry-body p{margin:.25rem 0 0;color:var(--cv-muted);font-size:.91rem;line-height:1.45}.shano-cv-entry-body .shano-cv-institution{color:var(--cv-ink);font-weight:650}.shano-cv-location{font-size:.82rem!important}.shano-cv-awards-grid,.shano-cv-skill-grid,.shano-cv-interest-columns,.shano-cv-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.82rem}.shano-cv-awards-grid article,.shano-cv-skill-grid article,.shano-cv-interest-columns article,.shano-cv-service-grid article{padding:.95rem;border:1px solid rgba(18,31,44,.09);border-left:4px solid var(--section-accent);border-radius:8px;background:rgba(var(--cv-white-rgb),0.76)}.shano-cv-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shano-cv-service-grid article{display:grid;align-content:start;gap:.62rem}.shano-cv-service-grid p{margin:0;color:var(--cv-muted);font-size:.86rem;line-height:1.38}.shano-cv-awards-grid h3{margin-top:.58rem;font-size:.96rem}.shano-cv-awards-grid p,.shano-cv-interest-columns p{margin:.45rem 0 0;color:var(--cv-muted);font-size:.88rem;line-height:1.42}.shano-cv-skill-grid ul{margin:.55rem 0 0;padding-left:1.05rem}.shano-cv-skill-grid li{margin-bottom:.28rem;color:var(--cv-muted);font-size:.85rem;line-height:1.36}.shano-cv-interest-columns{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:991.98px){.shano-cv-floating-nav{display:none}.shano-cv-profile,.shano-cv-awards-grid,.shano-cv-skill-grid,.shano-cv-interest-columns,.shano-cv-service-grid{grid-template-columns:1fr}.shano-cv-profile-aside{justify-items:start}.shano-cv-contact-panel{max-width:26rem}}@media(max-width:575.98px){.shano-cv-page{padding-bottom:2.8rem}.shano-cv-header{align-items:center;margin-top:.65rem;gap:.75rem}.shano-cv-header-kicker{font-size:.68rem}.shano-cv-pdf-button{width:3.35rem;height:3.35rem;font-size:.61rem}.shano-cv-pdf-button i{font-size:1.58rem}.shano-cv-profile{gap:.75rem;margin-bottom:1.6rem;padding:.82rem}.shano-cv-profile-copy{padding-left:.7rem;border-left-width:.32rem}.shano-cv-eyebrow{margin-bottom:.42rem;font-size:.61rem;letter-spacing:.07em}.shano-cv-profile-copy h2{font-size:2rem}.shano-cv-role{margin:.45rem 0 .68rem}.shano-cv-role,.shano-cv-profile-copy p:not(.shano-cv-eyebrow):not(.shano-cv-role),.shano-cv-contact-panel{font-size:.84rem;line-height:1.42}.shano-cv-profile-aside{justify-items:center}.shano-cv-portrait{width:6.8rem}.shano-cv-contact-panel{max-width:100%;gap:.46rem;padding:.72rem .78rem}.shano-cv-section{margin-bottom:1rem;padding:.9rem}.shano-cv-entry{grid-template-columns:1fr;gap:.48rem;padding:.8rem}.shano-cv-section-heading{gap:.52rem;margin-bottom:.8rem;padding-bottom:.6rem}.shano-cv-section-heading span{width:1.75rem;height:1.75rem;font-size:.66rem}.shano-cv-section h2{font-size:1.42rem;letter-spacing:.03em}.shano-cv-awards-grid article,.shano-cv-skill-grid article,.shano-cv-interest-columns article,.shano-cv-service-grid article{padding:.78rem}}.shano-cv-page{--cv-paper-glass:linear-gradient(135deg,var(--section-soft,rgba(25,185,220,0.1)),rgba(var(--cv-white-rgb),0.72) 52%,rgba(var(--cv-white-rgb),0.94) 100%),rgba(var(--cv-white-rgb),0.9);--cv-cyan:#1ebcdb;--cv-education:#36a0ff;--cv-education-strong:#1769c5;--cv-experience:#38bde2;--cv-experience-strong:#087fa3;--cv-service:#5b74ee;--cv-service-strong:#3448b9;--cv-awards:#7766ea;--cv-awards-strong:#5141bb;--cv-skills:#9b62d5;--cv-skills-strong:#7435ac;--cv-interests:#bf5aa8;--cv-interests-strong:#913276}.shano-cv-page .shano-cv-section{background-color:rgba(var(--cv-white-rgb),0.9);background-image:linear-gradient(135deg,var(--section-soft) 0%,var(--section-glow) 42%,rgba(var(--cv-white-rgb),0.78) 74%,rgba(var(--cv-white-rgb),0.94) 100%)}.shano-cv-header{align-items:center;margin:1.45rem 0 1.25rem}.shano-cv-header-kicker{margin:0;font-size:clamp(.86rem,1.3vw,1.05rem);letter-spacing:.16em}.shano-cv-pdf-button{width:4.05rem;height:4.05rem;overflow:hidden}.shano-cv-pdf-button i{display:grid;place-items:center;width:2.25rem;height:2.25rem;transform:translate(0.06rem,0.08rem)}.shano-cv-floating-nav{right:clamp(.45rem,(100vw - 980px)/2 - 10.25rem,19rem);min-width:7.85rem;padding:.72rem}.shano-cv-floating-nav a{padding:.33rem .5rem;text-align:left;font-size:.84rem}.shano-cv-profile{--section-soft:rgba(30,188,219,0.12);grid-template-columns:minmax(0,1fr) minmax(14.5rem,0.3fr);background-color:rgba(var(--cv-white-rgb),0.9);background-image:linear-gradient(135deg,var(--section-soft,rgba(25,185,220,0.1)),rgba(var(--cv-white-rgb),0.72) 52%,rgba(var(--cv-white-rgb),0.94) 100%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.shano-cv-profile-copy{grid-column:1;grid-row:1}.shano-cv-profile-aside{grid-column:2;grid-row:1;gap:.74rem}.shano-cv-portrait{width:clamp(10rem,17vw,12.35rem)}.shano-cv-contact-panel{width:fit-content;min-width:13.1rem;max-width:100%;gap:.38rem;padding:.72rem .88rem;line-height:1.22}.shano-cv-section{background-color:rgba(var(--cv-white-rgb),0.9);background-image:linear-gradient(135deg,var(--section-soft) 0%,var(--section-glow) 42%,rgba(var(--cv-white-rgb),0.78) 74%,rgba(var(--cv-white-rgb),0.94) 100%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.shano-cv-section--education{--section-accent:var(--cv-education);--section-strong:var(--cv-education-strong);--section-soft:rgba(54,160,255,0.18);--section-glow:rgba(54,160,255,0.08)}.shano-cv-section--experience{--section-accent:var(--cv-experience);--section-strong:var(--cv-experience-strong);--section-soft:rgba(56,189,226,0.18);--section-glow:rgba(56,189,226,0.08)}.shano-cv-section--service{--section-accent:var(--cv-service);--section-strong:var(--cv-service-strong);--section-soft:rgba(91,116,238,0.18);--section-glow:rgba(91,116,238,0.08)}.shano-cv-section--awards{--section-accent:var(--cv-awards);--section-strong:var(--cv-awards-strong);--section-soft:rgba(119,102,234,0.19);--section-glow:rgba(119,102,234,0.09)}.shano-cv-section--skills{--section-accent:var(--cv-skills);--section-strong:var(--cv-skills-strong);--section-soft:rgba(155,98,213,0.19);--section-glow:rgba(155,98,213,0.09)}.shano-cv-section--interests{--section-accent:var(--cv-interests);--section-strong:var(--cv-interests-strong);--section-soft:rgba(191,90,168,0.2);--section-glow:rgba(191,90,168,0.1)}.shano-cv-section-heading h2,.shano-cv-section h2{text-transform:uppercase}.shano-cv-section--education .shano-cv-entry{grid-template-columns:max-content minmax(0,1fr);gap:.86rem;padding:.82rem .92rem}.shano-cv-section--education .shano-cv-date{margin-top:.05rem}.shano-cv-section--experience .shano-cv-timeline{position:relative;display:grid;gap:0;padding-left:2.1rem}.shano-cv-section--experience .shano-cv-timeline::before{content:"";position:absolute;top:.32rem;bottom:.28rem;left:.72rem;width:.24rem;border-radius:999px;background:linear-gradient(180deg,rgba(56,189,226,0.95),rgba(90,116,238,0.55),rgba(56,189,226,0.18))}.shano-cv-section--experience .shano-cv-entry{position:relative;display:block;padding:.02rem 0 1.15rem;border:0;border-radius:0;background:rgba(0,0,0,0)}.shano-cv-section--experience .shano-cv-entry:last-child{padding-bottom:.15rem}.shano-cv-section--experience .shano-cv-entry::before{content:"";position:absolute;top:.34rem;left:-1.55rem;width:.72rem;height:.72rem;border:.17rem solid #fff;border-radius:50%;background:var(--section-accent);box-shadow:0 .18rem .45rem rgba(8,127,163,.28),0 0 0 1px rgba(56,189,226,.3)}.shano-cv-section--experience .shano-cv-date{margin:0 0 .34rem;padding:0;color:var(--section-strong);background:rgba(0,0,0,0);box-shadow:none;font-size:.8rem;letter-spacing:.02em}.shano-cv-section--experience .shano-cv-entry-body .shano-cv-institution,.shano-cv-section--service strong{color:var(--section-strong);font-weight:850}.shano-cv-service-grid article{position:relative;min-height:10rem;padding:1.05rem 1rem 2.45rem;border-left:1px solid rgba(18,31,44,.09);overflow:hidden}.shano-cv-service-grid article::before{content:"";position:absolute;top:0;left:0;right:0;height:.32rem;background:linear-gradient(90deg,var(--section-accent),rgba(var(--cv-white-rgb),0.15))}.shano-cv-service-grid article::after{content:"";position:absolute;top:.72rem;right:.78rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--section-accent);opacity:.45}.shano-cv-service-grid span{position:absolute;left:.88rem;bottom:.78rem;background:var(--section-accent)}.shano-cv-service-grid p{padding-right:.35rem}.shano-cv-awards-grid article{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.8rem;align-items:start;border-left:1px solid rgba(18,31,44,.09)}.shano-cv-awards-grid span{grid-row:1/span 2;display:grid;place-items:center;width:3.45rem;min-height:3.45rem;padding:.32rem;border-radius:50%;text-align:center;white-space:normal;background:radial-gradient(circle at 32% 25%,rgba(var(--cv-white-rgb),0.52),transparent 36%),linear-gradient(145deg,var(--section-accent),var(--section-strong))}.shano-cv-awards-grid h3{margin-top:.08rem;color:var(--section-strong)}.shano-cv-awards-grid p{grid-column:2}.shano-cv-skill-grid h3{display:flex;align-items:flex-start;gap:.52rem;color:var(--section-strong)}.shano-cv-skill-grid h3 i{display:inline-grid;flex:0 0 auto;place-items:center;width:1.55rem;height:1.55rem;color:#fff;border-radius:7px;background:linear-gradient(145deg,var(--section-accent),var(--section-strong));font-size:.82rem;line-height:1}.shano-cv-interest-columns article{border-left:1px solid rgba(18,31,44,.09);border-top:4px solid var(--section-accent)}.shano-cv-interest-columns h3{color:var(--section-strong)}.shano-cv-interest-columns ul{display:grid;gap:.34rem;margin:.62rem 0 0;padding:0;list-style:none}.shano-cv-interest-columns li{position:relative;padding-left:.92rem;color:var(--cv-muted);font-size:.85rem;line-height:1.36}.shano-cv-interest-columns li::before{content:"";position:absolute;top:.48em;left:0;width:.38rem;height:.38rem;border-radius:50%;background:var(--section-accent);box-shadow:0 0 0 .18rem var(--section-soft)}.shano-cv-last-updated{display:grid;justify-items:center;gap:.62rem;margin:2.25rem auto 0;color:var(--cv-muted);text-align:center;font-size:.86rem}
.shano-cv-last-rule{display:block;width:min(28rem,86%);height:1px;background:linear-gradient(90deg,transparent,var(--cv-interests),var(--cv-cyan),transparent)}.shano-cv-last-updated p{margin:0}.shano-cv-dots{display:inline-flex;align-items:center;gap:.22rem;margin-left:.28rem}.shano-cv-dots span{width:.36rem;height:.36rem;border-radius:50%;animation:shanoCvDotPulse 1.25s infinite ease-in-out}.shano-cv-dots span:nth-child(1){background:var(--cv-cyan)}.shano-cv-dots span:nth-child(2){background:var(--cv-awards);animation-delay:.16s}.shano-cv-dots span:nth-child(3){background:var(--cv-interests);animation-delay:.32s}@keyframes shanoCvDotPulse{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-0.16rem)}}@media(max-width:991.98px){.shano-cv-profile{display:flex;flex-direction:column}.shano-cv-profile-copy,.shano-cv-profile-aside{grid-column:auto;grid-row:auto}.shano-cv-profile-aside{order:1;align-content:start;justify-items:center}.shano-cv-profile-copy{order:2}.shano-cv-section--education .shano-cv-entry{grid-template-columns:1fr;gap:.48rem}}@media(max-width:575.98px){.shano-cv-header{margin-top:.95rem}.shano-cv-header-kicker{font-size:.72rem}.shano-cv-pdf-button i{width:1.78rem;height:1.78rem;transform:translate(0.04rem,0.06rem)}.shano-cv-profile{gap:.95rem}.shano-cv-profile-aside{gap:.68rem}.shano-cv-portrait{width:10.2rem}.shano-cv-contact-panel{justify-self:center;min-width:0;width:fit-content;max-width:calc(100vw - 3.6rem);gap:.3rem;padding:.58rem .72rem;text-align:center;line-height:1.18}.shano-cv-profile-copy{padding-top:0}.shano-cv-eyebrow{line-height:1.28}.shano-cv-section--experience .shano-cv-timeline{padding-left:1.65rem}.shano-cv-section--experience .shano-cv-timeline::before{left:.5rem}.shano-cv-section--experience .shano-cv-entry::before{left:-1.37rem}.shano-cv-service-grid article{min-height:8.6rem}.shano-cv-awards-grid article{grid-template-columns:1fr}.shano-cv-awards-grid span{grid-row:auto;width:fit-content;min-height:0;border-radius:999px;white-space:nowrap}.shano-cv-awards-grid p{grid-column:auto}}.shano-cv-header{align-items:flex-end;margin:1.35rem 0 .36rem}.shano-cv-header-kicker{font-size:clamp(1.45rem,2.25vw,2.1rem);line-height:.95}.shano-cv-pdf-button{display:flex;align-items:center;justify-content:center;padding:0}.shano-cv-pdf-button i{display:block;width:auto;height:auto;transform:translateX(0.1rem)}.shano-cv-section--education .shano-cv-entry,.shano-cv-service-grid article,.shano-cv-awards-grid article,.shano-cv-skill-grid article,.shano-cv-interest-columns article{background:linear-gradient(135deg,rgba(var(--cv-white-rgb),0.82),rgba(var(--cv-white-rgb),0.62)),rgba(var(--cv-white-rgb),0.75);box-shadow:0 .45rem 1.15rem rgba(18,31,44,.055),inset 0 1px 0 rgba(var(--cv-white-rgb),0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.shano-cv-date,.shano-cv-service-grid span,.shano-cv-awards-grid span{border-radius:5px;clip-path:polygon(0 0,calc(100% - .34rem) 0,100% .34rem,100% 100%,0 100%)}.shano-cv-section--experience .shano-cv-date{margin:0 0 .42rem;padding:.22rem .52rem;color:#fff;background:var(--section-accent);box-shadow:0 .3rem .7rem rgba(18,31,44,.12);font-size:.72rem;font-weight:900;line-height:1.2;letter-spacing:0}.shano-cv-awards-grid article{grid-template-columns:1fr;gap:0}.shano-cv-awards-grid span{grid-row:auto;display:inline-block;width:fit-content;min-height:0;padding:.22rem .52rem;text-align:left;white-space:nowrap;background:var(--section-accent)}.shano-cv-awards-grid h3{margin-top:.56rem}.shano-cv-awards-grid p{grid-column:auto}@media(max-width:575.98px){.shano-cv-header{margin:1rem 0 .42rem}.shano-cv-header-kicker{font-size:1.32rem}.shano-cv-pdf-button i{width:auto;height:auto;transform:translateX(0.1rem)}.shano-cv-profile{padding-top:1.35rem;padding-bottom:1.45rem}.shano-cv-awards-grid span{border-radius:5px}}.shano-cv-header-kicker{letter-spacing:.075em}.shano-cv-role{margin-bottom:.22rem}.shano-cv-eyebrow{margin:0 0 .82rem;color:#75828d;letter-spacing:.085em}.shano-cv-contact-panel{font-family:inherit;color:#5d6974;font-weight:650}.shano-cv-contact-panel a,.shano-cv-contact-panel span{color:#5d6974}.shano-cv-contact-panel a:hover,.shano-cv-contact-panel a:focus{color:var(--section-strong,#087fa3)}.shano-cv-section--education .shano-cv-entry,.shano-cv-service-grid article,.shano-cv-awards-grid article,.shano-cv-skill-grid article,.shano-cv-interest-columns article{border-color:rgba(var(--cv-white-rgb),0.62);background:linear-gradient(135deg,rgba(var(--cv-white-rgb),0.74) 0%,rgba(var(--cv-white-rgb),0.42) 45%,rgba(var(--cv-white-rgb),0.66) 100%),rgba(var(--cv-white-rgb),0.65);box-shadow:0 .65rem 1.45rem rgba(18,31,44,.07),inset 0 1px 0 rgba(var(--cv-white-rgb),0.88),inset 0 -1px 0 rgba(18,31,44,.04);backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35)}.shano-cv-section--education .shano-cv-entry{position:relative;overflow:hidden;isolation:isolate}.shano-cv-section--education .shano-cv-entry::after{content:"";position:absolute;top:50%;right:clamp(.8rem,5vw,2.75rem);z-index:0;width:clamp(9.4rem,17vw,13rem);aspect-ratio:1;border-radius:50%;background-position:center;background-repeat:no-repeat;background-size:contain;opacity:.5;pointer-events:none;transform:translateY(-50%)}
.shano-cv-section--education .shano-cv-entry>*{position:relative;z-index:1}.shano-cv-entry--wpi::after{background-image:url("../img/WPIlogo.png")}.shano-cv-entry--hifa::after{background-image:url("../img/HIFAlogo.png")}@media(max-width:575.98px){.shano-cv-header-kicker{letter-spacing:.065em}.shano-cv-role{margin-bottom:.2rem}.shano-cv-eyebrow{margin-bottom:.78rem;color:#75828d;letter-spacing:.07em}.shano-cv-section--education .shano-cv-entry::after{right:-5.1rem;width:10rem;opacity:.14}}.shano-cv-section--awards .shano-cv-awards-grid{position:relative;display:grid;grid-template-columns:1fr;gap:0;padding-left:2.1rem}.shano-cv-section--awards .shano-cv-awards-grid::before{content:"";position:absolute;top:.32rem;bottom:.28rem;left:.72rem;width:.24rem;border-radius:999px;background:linear-gradient(180deg,rgba(119,102,234,0.95),rgba(155,98,213,0.62),rgba(191,90,168,0.18))}.shano-cv-section--awards .shano-cv-awards-grid article{position:relative;display:block;min-height:0;padding:.08rem 0 1.08rem;border:0;border-radius:0;background:rgba(0,0,0,0);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.shano-cv-section--awards .shano-cv-awards-grid article:last-child{padding-bottom:.15rem}.shano-cv-section--awards .shano-cv-awards-grid article::before{content:"";position:absolute;top:.36rem;left:-1.55rem;width:.72rem;height:.72rem;border:.17rem solid rgba(var(--cv-white-rgb),0.94);border-radius:50%;background:var(--section-accent);box-shadow:0 .18rem .45rem rgba(81,65,187,.24),0 0 0 1px rgba(119,102,234,.3)}.shano-cv-section--awards .shano-cv-awards-grid span{display:inline-block;width:fit-content;min-height:0;margin:0 0 .34rem;padding:.22rem .52rem;border-radius:5px;color:#fff;background:var(--section-accent);box-shadow:0 .3rem .7rem rgba(18,31,44,.12);font-size:.72rem;font-weight:900;line-height:1.2;letter-spacing:0;text-align:left;white-space:nowrap;clip-path:polygon(0 0,calc(100% - .34rem) 0,100% .34rem,100% 100%,0 100%)}.shano-cv-section--awards .shano-cv-awards-grid h3{margin:0;color:var(--section-strong);font-size:1.02rem;font-weight:850;line-height:1.25}.shano-cv-award-trophy{display:inline-block;margin-left:.08rem;color:currentColor;font-size:.92em;line-height:1;vertical-align:-0.04em}.shano-cv-section--awards .shano-cv-awards-grid h3.shano-cv-award-highlight{display:block;width:fit-content;max-width:100%;background:linear-gradient(90deg,#e23b4e 0%,#b43bd2 18%,#7245d8 36%,#315bd8 54%,#138be6 73%,#16bfd6 90%,#e23b4e 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);animation:shanoCvAwardSpectrum 12s linear infinite}.shano-cv-section--awards .shano-cv-awards-grid p{margin:.25rem 0 0;color:var(--cv-muted);font-size:.9rem;line-height:1.42}@keyframes shanoCvAwardSpectrum{0%{background-position:0 50%}100%{background-position:220% 50%}}@media(prefers-reduced-motion:reduce){.shano-cv-section--awards .shano-cv-awards-grid h3.shano-cv-award-highlight{animation:none;background-position:55% 50%}}@media(max-width:575.98px){.shano-cv-profile-copy h2{gap:.32rem}.shano-cv-pronouns{font-size:.88rem}.shano-cv-page .shano-cv-section{background-color:rgba(var(--cv-white-rgb),0.9);background-image:linear-gradient(135deg,var(--section-soft) 0%,var(--section-glow) 54%,rgba(var(--cv-white-rgb),0.8) 82%,rgba(var(--cv-white-rgb),0.94) 100%)}.shano-cv-section--awards .shano-cv-awards-grid{padding-left:1.65rem}.shano-cv-section--awards .shano-cv-awards-grid::before{left:.5rem}.shano-cv-section--awards .shano-cv-awards-grid article::before{left:-1.37rem}}.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}.typogram .diagram{display:block}.typogram .diagram line,.typogram .diagram circle,.typogram .diagram rect{stroke:var(--global-text-color)}.typogram .diagram line{stroke-width:2}.typogram .diagram circle{r:3.5}.typogram .diagram rect{width:6px;height:6px}.typogram .diagram text,.typogram .debug text{font-family:Iosevka Fixed,monospace;font-size:3em;text-anchor:middle;alignment-baseline:central;white-space:pre;fill:var(--global-text-color)}.typogram .reserved{fill:rgba(0,0,0,0);white-space:pre}.typogram .debug[debug=true] .reserved{fill:var(--global-text-color);opacity:.5}.typogram .debug[debug=true] line.grid{stroke:var(--global-text-color);stroke-width:.2;stroke-linecap:butt;fill:var(--global-text-color);opacity:1%}
.typogram polygon{stroke-width:0}.typogram .debug[debug=true] polygon.inner{fill:var(--global-text-color);stroke:var(--global-text-color);opacity:5%}.typogram polygon{stroke:var(--global-text-color);stroke-linecap:butt;fill:var(--global-text-color)}.typogram .debug[debug=true] polygon,.typogram .debug[debug=true] line.grid{opacity:10%}.typogram .debug[debug=true] polygon,.typogram .debug[debug=true] path,.typogram .debug[debug=true] circle{opacity:50%}.typogram .debug[debug=true] polygon{fill:red;stroke:red}.typogram .debug[debug=true] circle,.typogram .debug[debug=true] path{opacity:50%;fill:red}.typogram .debug[debug=true] circle{stroke:red}.typogram .debug[debug=true] .inner{stroke-width:.2}.typogram line.part{stroke-width:6;stroke-linecap:butt;stroke:var(--global-text-color)}.typogram .debug[debug=true] line.part{opacity:50%;stroke:red}.typogram .debug[debug=true] line.center{stroke-width:3;stroke-linecap:butt;opacity:10%;stroke:var(--global-text-color)}.typogram text::selection{fill:HighlightText;background-color:Highlight}/*!
 * Font Awesome Free 6.7.1 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)}.far,.fa-solid,.fa-brands,.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}.far::before,.fa-solid::before,.fa-brands::before,.fa::before{content:var(--fa)}.fa-solid,.far{font-family:"Font Awesome 6 Free"}.fa-brands{font-family:"Font Awesome 6 Brands"}.fa-xs{font-size:.75em;line-height:.0833333337em;vertical-align:.125em}.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-gamepad{--fa:"";--fa--fa:""}.fa-star{--fa:"";--fa--fa:""}.fa-microchip{--fa:"";--fa--fa:""}.fa-clipboard{--fa:"";--fa--fa:""}.fa-palette{--fa:"";--fa--fa:""}.fa-code{--fa:"";--fa--fa:""}.fa-clipboard-check{--fa:"";--fa--fa:""}.fa-file-pdf{--fa:"";--fa--fa:""}.fa-tag{--fa:"";--fa--fa:""}.fa-envelope{--fa:"";--fa--fa:""}.fa-cart-shopping{--fa:"";--fa--fa:""}
.fa-stop{--fa:"";--fa--fa:""}.fa-play{--fa:"";--fa--fa:""}.fa-copy{--fa:"";--fa--fa:""}.fa-thumbtack{--fa:"";--fa--fa:""}.fa-trophy{--fa:"";--fa--fa:""}.fa-pen-nib{--fa:"";--fa--fa:""}.fa-hashtag{--fa:"\#";--fa--fa:"\#\#"}.fa-calendar{--fa:"";--fa--fa:""}.fa-check{--fa:"";--fa--fa:""}.fa-graduation-cap{--fa:"";--fa--fa:""}.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.7.1 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-amazon{--fa:""}.fa-x-twitter{--fa:""}.fa-linkedin{--fa:""}.fa-goodreads-g{--fa:""}.fa-github{--fa:""}/*!
 * Font Awesome Free 6.7.1 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.7.1 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.20.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.20.0") format("woff2"),url("../fonts/tabler-icons.woff?") format("woff"),url("../fonts/tabler-icons.ttf?v3.20.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-photo:before{content:"\eb0a"}.ti-search:before{content:"\eb1c"}/*!
 * Tabler Icons 3.20.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.20.0") format("woff2"),url("../fonts/tabler-icons-filled.woff?") format("woff"),url("../fonts/tabler-icons-filled.ttf?v3.20.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-photo:before{content:"\fa4a"}/*!
 * Tabler Icons 3.20.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.20.0") format("woff2"),url("../fonts/tabler-icons-outline.woff?") format("woff"),url("../fonts/tabler-icons-outline.ttf?v3.20.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-photo:before{content:"\eb0a"}.ti-search:before{content:"\eb1c"}