:root{--md-sys-color-primary:#3d7ef7;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#dce8ff;--md-sys-color-on-primary-container:#001a44;--md-sys-color-surface:#fff;--md-sys-color-on-surface:#1a1a1a;--md-sys-color-on-surface-variant:#888;--md-sys-color-surface-variant:#f5f5f5;--md-sys-color-surface-container:#f7f7f7;--md-sys-color-surface-container-high:#f0f0f0;--md-sys-color-inverse-surface:#1a1a1a;--md-sys-color-inverse-on-surface:#fff;--md-sys-color-outline:#e0e0e0;--md-sys-color-outline-variant:#f0f0f0;--md-sys-color-error:#e63946;--md-sys-color-on-error:#fff;--md-sys-color-tertiary:#2a9d5c;--md-sys-color-link:#ccc;--md-sys-color-link-hover:#fff;--md-sys-color-link-active:#3d7ef7;--md-sys-typescale-display-font:'Overpass Mono', monospace;--md-sys-typescale-headline-font:'Overpass Mono', monospace;--md-sys-typescale-title-font:'Overpass Mono', monospace;--md-sys-typescale-body-font:'Overpass Mono', monospace;--md-sys-typescale-label-font:'Overpass Mono', monospace;--md-sys-typescale-display-large-font:var(--md-sys-typescale-display-font);--md-sys-typescale-display-large-size:3.5625rem;--md-sys-typescale-display-large-line-height:4rem;--md-sys-typescale-display-large-weight:600;--md-sys-typescale-display-large-tracking:-0.015625rem;--md-sys-typescale-display-medium-font:var(--md-sys-typescale-display-font);--md-sys-typescale-display-medium-size:2.8125rem;--md-sys-typescale-display-medium-line-height:3.25rem;--md-sys-typescale-display-medium-weight:600;--md-sys-typescale-display-medium-tracking:0;--md-sys-typescale-display-small-font:var(--md-sys-typescale-display-font);--md-sys-typescale-display-small-size:2.25rem;--md-sys-typescale-display-small-line-height:2.75rem;--md-sys-typescale-display-small-weight:600;--md-sys-typescale-display-small-tracking:0;--md-sys-typescale-headline-large-font:var(--md-sys-typescale-headline-font);--md-sys-typescale-headline-large-size:2rem;--md-sys-typescale-headline-large-line-height:2.5rem;--md-sys-typescale-headline-large-weight:600;--md-sys-typescale-headline-large-tracking:0;--md-sys-typescale-headline-medium-font:var(--md-sys-typescale-headline-font);--md-sys-typescale-headline-medium-size:1.75rem;--md-sys-typescale-headline-medium-line-height:2.25rem;--md-sys-typescale-headline-medium-weight:600;--md-sys-typescale-headline-medium-tracking:0;--md-sys-typescale-headline-small-font:var(--md-sys-typescale-headline-font);--md-sys-typescale-headline-small-size:1.5rem;--md-sys-typescale-headline-small-line-height:2rem;--md-sys-typescale-headline-small-weight:600;--md-sys-typescale-headline-small-tracking:0;--md-sys-typescale-title-large-font:var(--md-sys-typescale-title-font);--md-sys-typescale-title-large-size:1.375rem;--md-sys-typescale-title-large-line-height:1.75rem;--md-sys-typescale-title-large-weight:600;--md-sys-typescale-title-large-tracking:0;--md-sys-typescale-title-medium-font:var(--md-sys-typescale-body-font);--md-sys-typescale-title-medium-size:1rem;--md-sys-typescale-title-medium-line-height:1.5rem;--md-sys-typescale-title-medium-weight:600;--md-sys-typescale-title-medium-tracking:0.009375rem;--md-sys-typescale-title-small-font:var(--md-sys-typescale-body-font);--md-sys-typescale-title-small-size:0.875rem;--md-sys-typescale-title-small-line-height:1.25rem;--md-sys-typescale-title-small-weight:600;--md-sys-typescale-title-small-tracking:0.00625rem;--md-sys-typescale-body-large-font:var(--md-sys-typescale-body-font);--md-sys-typescale-body-large-size:1rem;--md-sys-typescale-body-large-line-height:1.75rem;--md-sys-typescale-body-large-weight:400;--md-sys-typescale-body-large-tracking:0.03125rem;--md-sys-typescale-body-medium-font:var(--md-sys-typescale-body-font);--md-sys-typescale-body-medium-size:0.875rem;--md-sys-typescale-body-medium-line-height:1.25rem;--md-sys-typescale-body-medium-weight:400;--md-sys-typescale-body-medium-tracking:0.015625rem;--md-sys-typescale-body-small-font:var(--md-sys-typescale-body-font);--md-sys-typescale-body-small-size:0.75rem;--md-sys-typescale-body-small-line-height:1rem;--md-sys-typescale-body-small-weight:400;--md-sys-typescale-body-small-tracking:0.025rem;--md-sys-typescale-label-large-font:var(--md-sys-typescale-label-font);--md-sys-typescale-label-large-size:0.875rem;--md-sys-typescale-label-large-line-height:1.25rem;--md-sys-typescale-label-large-weight:500;--md-sys-typescale-label-large-tracking:0.00625rem;--md-sys-typescale-label-medium-font:var(--md-sys-typescale-label-font);--md-sys-typescale-label-medium-size:0.75rem;--md-sys-typescale-label-medium-line-height:1rem;--md-sys-typescale-label-medium-weight:500;--md-sys-typescale-label-medium-tracking:0.03125rem;--md-sys-typescale-label-small-font:var(--md-sys-typescale-label-font);--md-sys-typescale-label-small-size:0.6875rem;--md-sys-typescale-label-small-line-height:1rem;--md-sys-typescale-label-small-weight:500;--md-sys-typescale-label-small-tracking:0.03125rem;--md-sys-spacing-1:0.25rem;--md-sys-spacing-2:0.5rem;--md-sys-spacing-3:0.75rem;--md-sys-spacing-4:1rem;--md-sys-spacing-5:1.25rem;--md-sys-spacing-6:1.5rem;--md-sys-spacing-7:1.75rem;--md-sys-spacing-8:2rem;--md-sys-spacing-9:2.25rem;--md-sys-spacing-10:2.5rem;--md-sys-spacing-12:3rem;--md-sys-spacing-14:3.5rem;--md-sys-spacing-16:4rem;--md-sys-spacing-18:4.5rem;--md-sys-spacing-20:5rem;--md-sys-spacing-24:6rem;--md-sys-spacing-32:8rem;--md-sys-shape-corner-extra-small:0.25rem;--md-sys-shape-corner-small:0.5rem;--md-sys-shape-corner-medium:0.75rem;--md-sys-shape-corner-large:1rem;--md-sys-shape-corner-extra-large:1.75rem}html,body{margin:0}body{background-color:#fff;color:var(--md-sys-color-on-surface);font-family:var(--md-sys-typescale-body-font);padding:0;min-height:100dvh;display:flex;flex-direction:column}body.theme-dark{background-color:#1a1a1a;color:#fff}a{color:#ccc;text-decoration:underline}a:hover{color:#fff;text-decoration:none}h1{font-family:var(--md-sys-typescale-headline-large-font);font-size:var(--md-sys-typescale-headline-large-size);line-height:var(--md-sys-typescale-headline-large-line-height);font-weight:var(--md-sys-typescale-headline-large-weight);letter-spacing:var(--md-sys-typescale-headline-large-tracking);margin:0}@media only screen and (min-width:1024px){h1{font-size:var(--md-sys-typescale-display-small-size);line-height:var(--md-sys-typescale-display-small-line-height)}}p{font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);margin:var(--md-sys-spacing-6)0}@media only screen and (min-width:768px){p.intro{font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height);margin:var(--md-sys-spacing-8)0}}@media only screen and (min-width:1024px){p.intro{font-size:var(--md-sys-typescale-headline-small-size);line-height:var(--md-sys-typescale-headline-small-line-height)}}main{display:flex;flex-direction:row;flex-wrap:wrap;flex:1 0 auto;margin:var(--md-sys-spacing-16)var(--md-sys-spacing-8)}@media only screen and (min-width:768px){main{margin:var(--md-sys-spacing-20)auto}}@media only screen and (min-width:1024px){main{width:100%;max-width:960px;margin:var(--md-sys-spacing-32)auto var(--md-sys-spacing-20)}}section[role=list]{width:100%}footer.site{flex-shrink:0;background-color:#3d7ef7;overflow:auto;color:#1a1a1a}footer.site a{color:#fff}footer.site>div{box-sizing:border-box;margin:var(--md-sys-spacing-12)var(--md-sys-spacing-8)var(--md-sys-spacing-8)}@media only screen and (min-width:768px){footer.site>div{margin:var(--md-sys-spacing-24)var(--md-sys-spacing-24)var(--md-sys-spacing-8)}}footer.site>div p{margin:0}@media only screen and (min-width:768px){footer.site>div p:first-child{font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height)}}footer.site>div p:nth-child(2){margin:var(--md-sys-spacing-20)0 var(--md-sys-spacing-12)}.cv-block{position:relative;margin:5.75rem 0 0}@media only screen and (min-width:768px){.cv-block{margin:var(--md-sys-spacing-18)0 0}}@media only screen and (min-width:1024px){.cv-block{margin:var(--md-sys-spacing-20)0 0;padding:0 0 0 10.25rem}}.cv-block::before{position:absolute;display:block;width:8px;height:24px;background-color:#3d7ef7;content:"";top:-36px}@media only screen and (min-width:768px){.cv-block::before{top:6px;width:24px;height:8px;left:-6rem}}@media only screen and (min-width:1024px){.cv-block::before{top:6px;width:24px;height:8px;left:0}}.cv-block ul{padding:0}.cv-block li{list-style:none;margin:var(--md-sys-spacing-2)0 var(--md-sys-spacing-1)var(--md-sys-spacing-4);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height)}.cv-block li:before{content:"·";font-size:var(--md-sys-typescale-title-medium-size);font-weight:700;vertical-align:baseline;margin:0 var(--md-sys-spacing-2)0 calc(-1*var(--md-sys-spacing-4))}.cv-block #professional-experience{margin-top:0}.wrapper{display:flex;flex-direction:column;height:100%}.article-divider{height:1px;border:0;border-top:1px solid var(--md-sys-color-outline);margin:var(--md-sys-spacing-14)0}@media(max-width:576px){.container{width:100%;max-width:100%}}@media(min-width:576px){.container{max-width:510px}}@media(min-width:768px){.container{max-width:700px}}@media(min-width:1024px){.container{max-width:950px}}.container.fluid{max-width:100%}header.site nav{display:flex;flex-direction:row;flex-wrap:wrap;flex:none;justify-content:space-between}header.site nav ul{padding:0;margin:0;list-style:none}header.site nav ul.brand{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}header.site nav ul.brand a{display:block;color:var(--md-sys-color-on-primary);text-decoration:none;font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);line-height:var(--md-sys-typescale-title-medium-line-height);padding:var(--md-sys-spacing-10)var(--md-sys-spacing-12)}header.site nav ul.brand span{display:none}@media only screen and (min-width:768px){header.site nav ul.brand span{display:inline}}header.site nav ul.nav{display:flex;flex-direction:row;flex-wrap:wrap;flex:none;align-content:center;margin-right:var(--md-sys-spacing-6)}header.site nav ul li.nav-link-3 a{color:#8c8c8c}header.site nav ul li.active a{text-decoration:none;color:var(--md-sys-color-link-active)}header.site nav ul li a{padding:0 var(--md-sys-spacing-2);font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking)}@media only screen and (min-width:1024px){header.site nav ul li a{font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-title-medium-line-height)}}article header .article-top-bar{display:flex;align-items:center;justify-content:space-between;margin:0 0 var(--md-sys-spacing-10)}article header .article-top-bar .back{margin:0}article header .article-top-bar .lang-switcher{display:flex;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);overflow:hidden}article header .article-top-bar .lang-switcher .lang-btn{display:inline-block;padding:var(--md-sys-spacing-2)var(--md-sys-spacing-4);font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);letter-spacing:var(--md-sys-typescale-label-large-tracking);text-transform:uppercase;border:none;border-radius:0;text-decoration:none;color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface);transition:color .15s,background .15s}article header .article-top-bar .lang-switcher .lang-btn+.lang-btn{border-left:1px solid var(--md-sys-color-outline)}article header .article-top-bar .lang-switcher .lang-btn.active{background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);cursor:default}article header .article-top-bar .lang-switcher .lang-btn:not(.active):hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}article header .article-meta{display:flex;align-items:center;gap:var(--md-sys-spacing-4);margin:var(--md-sys-spacing-2)0 var(--md-sys-spacing-6);flex-wrap:wrap}article header .article-meta time{font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking);color:var(--md-sys-color-on-surface-variant)}article [itemprop=articleBody] pre{overflow:auto}article [itemprop=articleBody] h2{font-family:var(--md-sys-typescale-headline-small-font);font-size:var(--md-sys-typescale-headline-small-size);line-height:var(--md-sys-typescale-headline-small-line-height);font-weight:var(--md-sys-typescale-headline-small-weight);letter-spacing:var(--md-sys-typescale-headline-small-tracking);margin:var(--md-sys-spacing-12)0 var(--md-sys-spacing-5);padding-bottom:var(--md-sys-spacing-3);border-bottom:2px solid var(--md-sys-color-outline)}@media only screen and (min-width:1024px){article [itemprop=articleBody] h2{font-size:var(--md-sys-typescale-headline-medium-size);line-height:var(--md-sys-typescale-headline-medium-line-height)}}article [itemprop=articleBody] h2:first-child{margin-top:0}article [itemprop=articleBody] h3{font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height);font-weight:var(--md-sys-typescale-title-large-weight);margin:var(--md-sys-spacing-8)0 var(--md-sys-spacing-4)}article [itemprop=articleBody] h4{font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-title-medium-line-height);font-weight:var(--md-sys-typescale-title-medium-weight);margin:var(--md-sys-spacing-6)0 var(--md-sys-spacing-3)}article [itemprop=articleBody] ul:not(.ide-tab){padding:0;margin:var(--md-sys-spacing-2)0 var(--md-sys-spacing-6);list-style:none}article [itemprop=articleBody] ul:not(.ide-tab) li{position:relative;padding:var(--md-sys-spacing-1)0 var(--md-sys-spacing-1)var(--md-sys-spacing-4);font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height)}article [itemprop=articleBody] ul:not(.ide-tab) li::before{content:"–";position:absolute;left:0;color:var(--md-sys-color-on-surface-variant);font-family:var(--md-sys-typescale-body-large-font)}article [itemprop=articleBody] ol{padding:0;counter-reset:method-step;list-style:none;margin:var(--md-sys-spacing-6)0}article [itemprop=articleBody] ol li{position:relative;padding:var(--md-sys-spacing-3)0 var(--md-sys-spacing-3)var(--md-sys-spacing-12);border-bottom:1px solid var(--md-sys-color-outline-variant);font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);counter-increment:method-step}article [itemprop=articleBody] ol li::before{content:counter(method-step);position:absolute;left:0;top:var(--md-sys-spacing-3);width:var(--md-sys-spacing-8);height:var(--md-sys-spacing-8);background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-family:var(--md-sys-typescale-label-medium-font);font-size:var(--md-sys-typescale-label-medium-size);font-weight:var(--md-sys-typescale-label-medium-weight);border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}article [itemprop=articleBody] ol li:last-child{border-bottom:none;padding-bottom:0}article [itemprop=articleBody] .twitter-tweet{display:block;font-family:helvetica neue,Roboto,segoe ui,Calibri,sans-serif;font-size:var(--md-sys-typescale-body-small-size);font-weight:700;line-height:var(--md-sys-typescale-body-small-line-height);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-small);box-shadow:0 1px 3px rgba(0,0,0,.15);margin:var(--md-sys-spacing-8)var(--md-sys-spacing-6);padding:0 var(--md-sys-spacing-4)var(--md-sys-spacing-4)}article [itemprop=articleBody] .twitter-tweet p{font-family:overpass,sans-serif;font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);font-weight:400;margin:var(--md-sys-spacing-4)0}article [itemprop=articleBody] .twitter-tweet>a{color:inherit;font-weight:400;text-decoration:none;outline:0}article [itemprop=articleBody] .ide-block{border:1px solid var(--md-sys-color-on-surface);border-radius:var(--md-sys-shape-corner-large)}article [itemprop=articleBody] .ide-block .inner-window{border:1px solid #a1a1a1;border-radius:var(--md-sys-shape-corner-large);background-color:#282c34}article [itemprop=articleBody] .ide-block .inner-window .ide-tab{list-style:none;margin:var(--md-sys-spacing-4)0 var(--md-sys-spacing-2);padding:0 var(--md-sys-spacing-6);display:grid;align-items:center;grid-gap:12px;grid-template-columns:48px 1fr 48px}article [itemprop=articleBody] .ide-block .inner-window .ide-tab .dots .dot{width:12px;height:12px;background-color:#ccc;border-radius:50%;display:inline-block}article [itemprop=articleBody] .ide-block .inner-window .ide-tab .dots .dot:nth-child(1){background-color:#ed594a}article [itemprop=articleBody] .ide-block .inner-window .ide-tab .dots .dot:nth-child(2){background-color:#fdd800}article [itemprop=articleBody] .ide-block .inner-window .ide-tab .dots .dot:nth-child(3){background-color:#5ac05a}article [itemprop=articleBody] .ide-block .inner-window .ide-tab .filename{position:relative;color:#abb2bf;padding:0;text-align:center;font-family:var(--md-sys-typescale-body-font);font-weight:700}article [itemprop=articleBody] .ide-block .inner-window .highlight>pre{margin:0;border-bottom-left-radius:var(--md-sys-shape-corner-large);border-bottom-right-radius:var(--md-sys-shape-corner-large)}article header{margin:0 0 var(--md-sys-spacing-8)}article .p-article__thumbnail{margin:0 auto 28px;max-width:700px;overflow:hidden;border-radius:16px;box-shadow:0 4px 28px rgba(61,126,247,.18)}article h1{font-family:var(--md-sys-typescale-headline-large-font);font-size:var(--md-sys-typescale-headline-large-size);line-height:var(--md-sys-typescale-headline-large-line-height);font-weight:var(--md-sys-typescale-headline-large-weight);color:var(--md-sys-color-on-surface)}@media only screen and (min-width:1024px){article h1{font-size:var(--md-sys-typescale-display-small-size);line-height:var(--md-sys-typescale-display-small-line-height)}}article h1 a{color:var(--md-sys-color-on-surface);text-decoration:none}article h1 a:hover{color:var(--md-sys-color-primary);text-decoration:underline}article [itemprop=datePublished]{font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking);color:var(--md-sys-color-on-surface-variant);margin:var(--md-sys-spacing-2)0 0}article .categories{float:right}article .categories a{text-decoration:none;text-transform:lowercase;color:var(--md-sys-color-primary);font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);line-height:var(--md-sys-typescale-label-large-line-height)}article [itemprop=articleBody]{font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height)}article [itemprop=articleBody] h2{font-family:var(--md-sys-typescale-headline-medium-font);font-size:var(--md-sys-typescale-headline-medium-size);line-height:var(--md-sys-typescale-headline-medium-line-height);font-weight:var(--md-sys-typescale-headline-medium-weight);margin:var(--md-sys-spacing-12)0 0}article [itemprop=articleBody] h2:first-of-type{margin-top:var(--md-sys-spacing-8)}article [itemprop=articleBody] h2:first-of-type::before{display:block;content:"";height:24px;width:8px;background-color:var(--md-sys-color-primary);margin-bottom:var(--md-sys-spacing-8)}article [itemprop=articleBody] p{font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);margin:var(--md-sys-spacing-4)0}article [itemprop=articleBody] a{color:var(--md-sys-color-primary)}article [itemprop=articleBody] .categories{margin-top:var(--md-sys-spacing-12)}article .back{margin:0 0 var(--md-sys-spacing-4)}article .back a{color:var(--md-sys-color-primary);text-decoration:none;font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-label-large-line-height);font-weight:700}article .read-more{color:var(--md-sys-color-primary);font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);line-height:var(--md-sys-typescale-label-large-line-height);font-weight:700}body.recipe article,article.recipe{max-width:520px;margin-left:auto;margin-right:auto}@media only screen and (min-width:768px){article.recipe .p-article__thumbnail,body.recipe article .p-article__thumbnail{display:block;width:min(100vw,960px);max-width:none;position:relative;left:50%;transform:translateX(-50%)}}.recipe-ingredients{margin:var(--md-sys-spacing-8)0 var(--md-sys-spacing-12)}.recipe-ingredients .ingredients-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-3)var(--md-sys-spacing-4);background:var(--md-sys-color-surface-variant);border-radius:var(--md-sys-shape-corner-small);margin-bottom:var(--md-sys-spacing-7)}.recipe-ingredients .serves-control{display:flex;align-items:center;gap:var(--md-sys-spacing-2)}.recipe-ingredients .serves-control .control-label{font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking);text-transform:uppercase;color:var(--md-sys-color-on-surface-variant)}.recipe-ingredients .serves-control .serves-btn{display:flex;align-items:center;justify-content:center;width:var(--md-sys-spacing-7);height:var(--md-sys-spacing-7);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-small);background:var(--md-sys-color-surface);font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:1;cursor:pointer;color:var(--md-sys-color-on-surface);padding:0;transition:background .15s,border-color .15s}.recipe-ingredients .serves-control .serves-btn:hover{background:var(--md-sys-color-surface-container-high);border-color:var(--md-sys-color-on-surface-variant)}.recipe-ingredients .serves-control .serves-btn:active{background:var(--md-sys-color-outline)}.recipe-ingredients .serves-control .serves-count{font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);min-width:var(--md-sys-spacing-6);text-align:center;color:var(--md-sys-color-on-surface)}.recipe-ingredients .unit-toggle{display:flex;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);overflow:hidden}.recipe-ingredients .unit-toggle .unit-btn{padding:var(--md-sys-spacing-1)var(--md-sys-spacing-3);background:var(--md-sys-color-surface);border:none;font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking);text-transform:uppercase;cursor:pointer;color:var(--md-sys-color-on-surface-variant);transition:background .15s,color .15s}.recipe-ingredients .unit-toggle .unit-btn+.unit-btn{border-left:1px solid var(--md-sys-color-outline)}.recipe-ingredients .unit-toggle .unit-btn.active{background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface)}.recipe-ingredients .unit-toggle .unit-btn:not(.active):hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.recipe-ingredients .ingredient-group{margin-bottom:var(--md-sys-spacing-6)}.recipe-ingredients .ingredient-group:last-child{margin-bottom:0}.recipe-ingredients .ingredient-group .group-name{font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking);text-transform:uppercase;color:var(--md-sys-color-on-surface);margin:0 0 var(--md-sys-spacing-2);padding-bottom:var(--md-sys-spacing-2);border-bottom:1px solid var(--md-sys-color-outline)}.recipe-ingredients .ingredient-group .ingredient-list{list-style:none;margin:0;padding:0}.recipe-ingredients .ingredient{display:flex;align-items:baseline;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-2)0;border-bottom:1px solid var(--md-sys-color-outline-variant);font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size)}.recipe-ingredients .ingredient:last-child{border-bottom:none}.recipe-ingredients .ingredient .ingredient-amount{flex-shrink:0;min-width:var(--md-sys-spacing-20);font-family:var(--md-sys-typescale-title-small-font);font-size:var(--md-sys-typescale-title-small-size);font-weight:var(--md-sys-typescale-title-small-weight);color:var(--md-sys-color-on-surface)}.recipe-ingredients .ingredient .ingredient-name{color:var(--md-sys-color-on-surface)}.recipe-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--md-sys-spacing-3);margin:var(--md-sys-spacing-8)0 var(--md-sys-spacing-12)}@media only screen and (min-width:768px){.recipe-meta{grid-template-columns:repeat(4,1fr);gap:var(--md-sys-spacing-4)}}.recipe-meta .meta-item{border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);padding:var(--md-sys-spacing-4)var(--md-sys-spacing-3);text-align:center}.recipe-meta .meta-item .meta-label{display:block;font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking);text-transform:uppercase;color:var(--md-sys-color-on-surface);margin-bottom:var(--md-sys-spacing-2)}.recipe-meta .meta-item .meta-value{display:block;font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);color:var(--md-sys-color-on-surface)}.review-score{display:flex;align-items:center;gap:var(--md-sys-spacing-5);margin:var(--md-sys-spacing-8)0;padding:var(--md-sys-spacing-6)var(--md-sys-spacing-7);border-left:4px solid var(--md-sys-color-primary);background-color:var(--md-sys-color-primary-container);border-radius:0 var(--md-sys-shape-corner-small)var(--md-sys-shape-corner-small)0}.review-score .score-number{font-family:var(--md-sys-typescale-display-medium-font);font-size:var(--md-sys-typescale-display-medium-size);font-weight:var(--md-sys-typescale-display-medium-weight);color:var(--md-sys-color-primary);line-height:1;flex-shrink:0}.review-score .score-details .score-label{font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line-height);color:var(--md-sys-color-on-surface);margin-bottom:var(--md-sys-spacing-1)}.review-score .score-details .score-max{font-family:var(--md-sys-typescale-label-medium-font);font-size:var(--md-sys-typescale-label-medium-size);color:var(--md-sys-color-on-surface-variant)}.review-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:var(--md-sys-spacing-6)0 var(--md-sys-spacing-10);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);overflow:hidden}@media only screen and (min-width:768px){.review-meta{grid-template-columns:repeat(3,1fr)}}.review-meta>div{padding:var(--md-sys-spacing-3)var(--md-sys-spacing-4);border-bottom:1px solid var(--md-sys-color-outline);border-right:1px solid var(--md-sys-color-outline)}.review-meta>div:nth-child(2n){border-right:none}@media only screen and (min-width:768px){.review-meta>div:nth-child(2n){border-right:1px solid var(--md-sys-color-outline)}.review-meta>div:nth-child(3n){border-right:none}}.review-meta>div dt{font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking);text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);margin-bottom:var(--md-sys-spacing-1)}.review-meta>div dd{font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);color:var(--md-sys-color-on-surface);margin:0}.verdict-box{position:relative;border:2px solid var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-small);padding:var(--md-sys-spacing-7)var(--md-sys-spacing-7)var(--md-sys-spacing-6);margin:var(--md-sys-spacing-12)0 var(--md-sys-spacing-10)}.verdict-box .verdict-rating{position:absolute;top:calc(-1*var(--md-sys-spacing-3) - 2px);left:var(--md-sys-spacing-5);background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking);text-transform:uppercase;padding:var(--md-sys-spacing-1)var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-extra-small)}.verdict-box .verdict-content p{margin:0;font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height)}.pros-cons{display:grid;grid-template-columns:1fr;gap:var(--md-sys-spacing-6);margin:var(--md-sys-spacing-8)0}@media only screen and (min-width:768px){.pros-cons{grid-template-columns:1fr 1fr}}.pros-cons .pros h4,.pros-cons .cons h4{font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking);text-transform:uppercase;margin:0 0 var(--md-sys-spacing-4);padding-bottom:var(--md-sys-spacing-2)}.pros-cons .pros ul,.pros-cons .cons ul{padding:0;margin:0;list-style:none}.pros-cons .pros ul li,.pros-cons .cons ul li{position:relative;padding:var(--md-sys-spacing-2)0 var(--md-sys-spacing-2)var(--md-sys-spacing-6);border-bottom:1px solid var(--md-sys-color-outline-variant);font-family:var(--md-sys-typescale-body-medium-font);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height)}.pros-cons .pros ul li::before,.pros-cons .cons ul li::before{position:absolute;left:0;top:var(--md-sys-spacing-2);font-family:var(--md-sys-typescale-label-large-font);font-weight:700;font-size:var(--md-sys-typescale-label-large-size);line-height:1}.pros-cons .pros ul li:last-child,.pros-cons .cons ul li:last-child{border-bottom:none}.pros-cons .pros h4{color:var(--md-sys-color-tertiary);border-bottom:2px solid var(--md-sys-color-tertiary)}.pros-cons .pros li::before{content:"+";color:var(--md-sys-color-tertiary)}.pros-cons .cons h4{color:var(--md-sys-color-error);border-bottom:2px solid var(--md-sys-color-error)}.pros-cons .cons li::before{content:"−";color:var(--md-sys-color-error)}.spoiler{margin:var(--md-sys-spacing-8)0;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);overflow:hidden}.spoiler summary{padding:var(--md-sys-spacing-4)var(--md-sys-spacing-5);cursor:pointer;display:flex;align-items:center;gap:var(--md-sys-spacing-3);font-family:var(--md-sys-typescale-body-font);user-select:none;background-color:var(--md-sys-color-surface-container);list-style:none}.spoiler summary:hover{background-color:var(--md-sys-color-surface-container-high)}.spoiler summary::marker,.spoiler summary::-webkit-details-marker{display:none;content:""}.spoiler summary .spoiler-label{font-family:var(--md-sys-typescale-label-medium-font);font-size:var(--md-sys-typescale-label-medium-size);font-weight:var(--md-sys-typescale-label-medium-weight);letter-spacing:var(--md-sys-typescale-label-medium-tracking);text-transform:uppercase;color:var(--md-sys-color-error)}.spoiler summary .spoiler-hint{font-family:var(--md-sys-typescale-body-small-font);font-size:var(--md-sys-typescale-body-small-size);color:var(--md-sys-color-on-surface-variant)}.spoiler .spoiler-content{padding:var(--md-sys-spacing-5)var(--md-sys-spacing-6);border-top:1px solid var(--md-sys-color-outline)}.spoiler .spoiler-content>:first-child{margin-top:0}.spoiler .spoiler-content>:last-child{margin-bottom:0}.categories{text-align:right;margin-top:3rem}.categories select{border:1px solid #ccc;background-color:#fff;height:3rem;font-family:overpass mono,monospace;font-weight:700;font-size:1rem;padding:0 1rem}.part{font-size:.875rem;width:100%;display:grid;grid-template-columns:2fr 4fr 4fr 2fr;grid-row-gap:0;grid-column-gap:1.5rem;padding:1rem 0}.part .no{display:flex;align-items:center;font-size:.875rem}.part .no img{overflow:hidden;width:3rem;height:3rem;margin-left:.25rem}.part .no span{margin-left:1.5rem}.part .name{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;font-weight:700}.part .color{display:flex;align-items:center}.part .color .colorStripe{width:.5rem;height:3rem;border-radius:2px}.part .color .colorCombo{height:3rem;margin-left:.5rem;overflow:hidden;position:relative;width:100%;background-color:#fff;border-bottom:1px solid #ccc}.part .color .colorCombo:hover{overflow:visible}.part .color .colorCombo:hover .list{z-index:100;box-shadow:0 2px 16px rgba(0,0,0,.2);right:auto;width:430px}.part .color .colorCombo:hover .vendor{padding:.5rem 1rem}.part .color .colorCombo:hover .vendor:first-of-type{padding-top:.9375rem}.part .color .colorCombo:hover .vendor:last-of-type{padding-bottom:.9375rem}.part .color .colorCombo .list{border:1px solid #ccc;position:absolute;top:0;right:0;left:0;background-color:#fff}.part .color .colorCombo .vendor{padding:.9375rem 1rem;font-size:.875rem;line-height:1.375rem;white-space:nowrap}.part .color .colorCombo .vendor .vendorName{font-weight:700}.part .amount{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;font-weight:700;text-align:center}.part .amount span{margin:0 auto}.sk-chase{width:40px;height:40px;position:relative;animation:sk-chase 2.5s infinite linear both;margin:0 auto}.sk-chase-dot{width:100%;height:100%;position:absolute;left:0;top:0;animation:sk-chase-dot 2s infinite ease-in-out both}.sk-chase-dot:before{content:"";display:block;width:25%;height:25%;background-color:#3d7ef7;border-radius:100%;animation:sk-chase-dot-before 2s infinite ease-in-out both}.sk-chase-dot:nth-child(1){animation-delay:-1.1s}.sk-chase-dot:nth-child(2){animation-delay:-1s}.sk-chase-dot:nth-child(3){animation-delay:-.9s}.sk-chase-dot:nth-child(4){animation-delay:-.8s}.sk-chase-dot:nth-child(5){animation-delay:-.7s}.sk-chase-dot:nth-child(6){animation-delay:-.6s}.sk-chase-dot:nth-child(1):before{animation-delay:-1.1s}.sk-chase-dot:nth-child(2):before{animation-delay:-1s}.sk-chase-dot:nth-child(3):before{animation-delay:-.9s}.sk-chase-dot:nth-child(4):before{animation-delay:-.8s}.sk-chase-dot:nth-child(5):before{animation-delay:-.7s}.sk-chase-dot:nth-child(6):before{animation-delay:-.6s}@keyframes sk-chase{100%{transform:rotate(360deg)}}@keyframes sk-chase-dot{80%,100%{transform:rotate(360deg)}}@keyframes sk-chase-dot-before{50%{transform:scale(.4)}100%,0%{transform:scale(1)}}.job{margin:1.5rem 0 3rem}.job:first-of-type{margin-top:0}.job:last-of-type{margin-bottom:0}.job h3{font-size:1.25rem;line-height:1.75rem;font-weight:700;margin:0}.job h3 span{font-weight:400}.job h3 em{font-size:.875rem}.job .tech{font-size:.875rem;font-style:italic}.job .tech span{font-style:normal}.job p{margin:1rem 0 .75rem 1rem}.job p:before{content:"·";font-size:1.125rem;font-weight:700;vertical-align:top;margin:0 .5rem 0 -1rem}.message{font-size:1rem;line-height:1.75rem;border:2px solid;padding:2rem 1.5rem;text-align:center}@media only screen and (min-width:768px){.message{font-size:1.125rem;line-height:1.875rem}}@media only screen and (min-width:1024px){.message{font-size:1.5rem;line-height:2.25rem}}.message.unavailable{border-color:#3d7ef7;color:#3d7ef7}.message.available{border-color:#3d7ef7;color:#3d7ef7}.lego-wishlist a{color:#3d7ef7}.wishlist{margin-top:2rem}.wishlist hr{height:1px;border:0;border-top:1px solid #ccc;margin:0}.wishlist .no-results{text-align:center;margin:1.5rem 0}.header{background-color:#1a1a1a;color:#fff;font-size:.875rem;line-height:4rem;height:4rem;width:100%;display:grid;grid-template-columns:2fr 4fr 4fr 2fr;grid-row-gap:0;grid-column-gap:1.5rem}.header .no,.header .amount{text-align:center}.leaflet{height:100%}.mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:20px;width:100%}.mod{display:flex;flex-direction:column;justify-content:space-between;border-radius:.75rem;overflow:hidden;border:1px solid #1a1a1a}.mod h2{text-align:center;margin:.5rem 1rem}.mod p{margin:.5rem 1rem}.mod .btn{margin:1rem;display:block;text-align:center;border:1px solid #1a1a1a;color:#1a1a1a;padding:1rem 0;border-radius:.5rem;justify-content:flex-end}.mod .btn:hover{border-color:#3d7ef7;color:#3d7ef7}