@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap";.color-palette--dark{--black: #232129;--darker-gray: #32303b;--dark-gray: #3d3a46;--gray: #86829c;--green: #8af846;--pink: #f018b3;--purple: #7751ff;--white: #f7f7ef}.color-palette--light{--black: #fafaf8;--darker-gray: #eceee7;--dark-gray: #dfe2d7;--gray: #8e9188;--green: #0dc54a;--pink: #e973c0;--purple: #966ae4;--white: #3a353d}.color-palette-transitions-enabled *,.color-palette-transitions-enabled *:after{--color-palette-transition-duration: .2s ease-in;--color-palette-transition: color var(--color-palette-transition-duration), background var(--color-palette-transition-duration), border var(--color-palette-transition-duration);transition:var(--color-palette-transition)}:root{--global-window-padding: 1rem}@media all and (min-width:625px){:root{--global-window-padding: 3rem}}*{box-sizing:border-box;margin:0;padding:0}*::selection{color:var(--black);background:var(--white)}:root{font-size:10px}html{min-height:100%;min-width:100%;display:flex}body{flex:1}#root{height:100%;width:100%;font-family:Roboto Mono,monospace;color:var(--white);background:var(--black)}button{width:fit-content;cursor:pointer;background-color:transparent}input,button,textarea,select{appearance:none;outline:none;border:none}kbd{color:var(--black);background-color:var(--white);border-radius:.25rem;display:inline-flex;justify-content:center;align-items:center;font-size:1.5rem;line-height:1.5rem;padding:.5rem .8rem;cursor:default;-webkit-user-select:none;user-select:none;margin:0 .2rem}kbd:hover{transform:translateY(-1px)}kbd:active{transform:translateY(1px)}.noselect{-webkit-user-select:none;user-select:none}@media all and (min-width:1500px){:root{font-size:12px}}.page-not-found{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 2.5rem}.page-not-found svg{width:18rem;height:auto}.page-not-found>*{margin:2rem 0}.color-palette--dark{--puppy-fur: #363139;--puppy-highlights: #423c45}.color-palette--light{--puppy-fur: #dac8b7;--puppy-highlights: #b4a18d}.button{--shadow-offset: .4rem;--neg-shadow-offset: -.4rem;height:4.2rem;padding:0 1.5rem;background-color:var(--purple);transition:var(--color-palette-transition),box-shadow .3s ease}.button .font{color:#fafaf8!important}.button:hover{box-shadow:var(--neg-shadow-offset) var(--shadow-offset) 0 0 var(--green)}.button:active{transform:translate(var(--neg-shadow-offset),var(--shadow-offset));transition:var(--color-palette-transition);box-shadow:none}b{font-weight:700}.font{font-family:Roboto Mono,monospace;letter-spacing:-.04rem;font-weight:400}.font--bold{font-weight:700}.font--strike{text-decoration:line-through}.font--underline{text-decoration:underline}.font--italic{font-style:italic}.font--size-tiny{font-size:1.1rem;line-height:1.9rem}.font--size-small{font-size:1.4rem;line-height:2.4rem}.font--size-regular{font-size:1.6rem;line-height:2.6rem}.font--size-subtitle1{font-size:2rem;line-height:3rem}.font--size-subtitle2{font-size:3rem;line-height:4rem}.font--size-title1{display:block;font-size:5rem;line-height:7rem}.font--size-title2{display:block;font-size:8rem;line-height:9rem;margin-bottom:2rem}.font::selection{color:var(--white);background:var(--font-color)}@media all and (max-width:625px){.font--size-subtitle2{font-size:2.5rem;line-height:3.5rem}.font--size-title1{font-size:3.2rem;line-height:5rem}.font--size-title2{font-size:6rem;line-height:7rem}}.about-page-content>*{margin-bottom:30rem}@media all and (max-width:900px){.about-page-content>*{margin-bottom:20rem}}#layout{--max-width: 1500px;--min-lateral-padding: 10rem;--layout-lateral-padding: max( calc((100vw - var(--max-width)) / 2), var(--min-lateral-padding) );--layout-bottom-padding: 15rem;width:100%;margin:0 auto;min-height:100%;padding:0 var(--layout-lateral-padding) var(--layout-bottom-padding) var(--layout-lateral-padding);display:grid;grid-template-areas:"front-content" "content";grid-template-rows:100vh auto}#layout-front-content{grid-area:front-content;padding:6rem 0;display:grid;grid-template-areas:"menu" "splash-screen";grid-template-rows:auto 1fr;min-height:56rem}#layout-content{grid-area:content;position:relative;overflow-y:clip}#layout-content-fade{--blur-size: 15vh;--blur-stop: calc(var(--blur-size) / 2);position:absolute;height:calc(100% + 100vh + var(--blur-size));top:-100vh;z-index:20;transform:translateZ(0);pointer-events:none}#layout-content-fade-fade{position:sticky;width:100%;height:100vh;top:0;overflow:hidden}#layout-content-fade-fade:after{content:"";position:absolute;top:0;right:calc(0px - var(--blur-stop));bottom:0;left:calc(0px - var(--blur-stop));box-shadow:inset 0 var(--blur-size) var(--blur-stop) calc(0px - var(--blur-stop)) var(--black),inset 0 calc(0px - var(--blur-size)) var(--blur-stop) calc(0px - var(--blur-stop)) var(--black);transition:box-shadow var(--color-palette-transition-duration)}#layout .full-screen-container{width:calc(100% + var(--layout-lateral-padding) * 2);margin-left:calc(0px - var(--layout-lateral-padding))}#layout .partial-screen-container{width:100%;max-width:75em}@media all and (max-width:1000px){#layout{--min-lateral-padding: 5rem}}@media all and (max-width:625px){#layout{--min-lateral-padding: 2.5rem;--layout-bottom-padding: 10rem}#layout-front-content{padding:2rem 0}#layout-front-content-splash-screen{padding-bottom:7rem}}.footer{display:flex;flex-direction:column;align-items:flex-end;width:100%;padding:3rem 0;z-index:3}.footer-title{margin-bottom:5rem}.footer-item:not(:last-of-type){margin-bottom:2.5rem}@media all and (max-width:625px){.footer{padding:0}.footer-title{margin-bottom:3rem}}.link{--underline-color: var(--purple);text-decoration:none;color:var(--white);position:relative;display:inline-block}.link:after{--padding-y: .3rem;--padding-x: 1rem;content:"";position:absolute;padding:var(--padding-y) var(--padding-x);width:100%;height:100%;top:calc(0px - var(--padding-y));left:calc(0px - var(--padding-x))}.link:hover .link-underline{left:-30%;opacity:1}.link--external{--underline-color: var(--pink)}.link--external .link-underline:after{content:"🡵";color:var(--underline-color);position:absolute;bottom:-1.5rem;line-height:1.5rem}.link-underline{position:absolute;top:55%;left:-20%;height:50%;width:80%;background-color:var(--underline-color);opacity:0;pointer-events:none;z-index:1}.link-label{position:relative;z-index:2}.menu{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;width:100%;transition:var(--color-palette-transition),visibility 0s ease,opacity .3s ease}.menu--hidden{opacity:0;visibility:hidden}.menu-item{--spacing-between: 3rem;height:3rem;padding:0 1rem;box-sizing:border-box;display:grid;place-items:center}.menu-item:not(:last-of-type){margin-right:var(--spacing-between)}.menu-item:first-of-type{place-self:flex-start;margin-right:auto;position:relative}.menu-item:first-of-type:after{content:"";position:absolute;width:1px;height:100%;right:calc(0px - var(--spacing-between) / 2);top:0;background-color:var(--dark-gray)}.menu-item--active{cursor:default}.menu-floating{position:fixed;display:flex;flex-direction:row;bottom:var(--global-window-padding);left:var(--global-window-padding);background-color:var(--black);border:1px solid var(--dark-gray);justify-content:center;padding:1rem 2rem;width:auto;z-index:21;transition:var(--color-palette-transition),visibility .3s ease,opacity .3s ease,transform .5s ease;opacity:0;visibility:hidden;transform:translate(calc(-100% - var(--global-window-padding)))}.menu-floating--visible{opacity:1;visibility:visible;transform:none}.menu-floating .menu-item:first-of-type{margin-right:var(--spacing-between)}@media all and (max-width:625px){.menu-floating{padding:1rem}.menu-item{--spacing-between: 1.5rem}.menu-item--active{cursor:default}}.light-switch{margin-right:auto;cursor:pointer;display:grid;place-items:center;position:relative}.light-switch:before{--clickable-padding: 1rem;content:"";width:100%;height:100%;position:absolute;top:calc(0px - var(--clickable-padding));left:calc(0px - var(--clickable-padding));padding:var(--clickable-padding)}.about-page-splash-screen{display:grid;align-items:center;height:100%}.about-page-splash-screen #quote{max-width:50rem;width:100%}.about-page-splash-screen #quote-text{font-size:3rem;line-height:3.5rem}.about-page-splash-screen #quote-author{margin-top:2rem;text-align:right}@media all and (max-width:625px){.about-page-splash-screen #quote-text{font-size:2rem;line-height:3rem}}.age{display:grid;grid-template-rows:repeat(2,auto);place-items:center}.age-number-container{margin-bottom:.2rem;width:100%;display:flex;align-items:center;overflow:hidden;margin-bottom:-1rem}.age-number-container .age-number{flex-shrink:0;min-width:18rem;text-align:center;cursor:default;line-height:17rem}.age-number-container .age-number--other{opacity:.25;font-size:10rem}.age-number-container .age-number--current{font-size:13rem}@media all and (max-width:900px){.age-number-container .age-number{line-height:15rem;min-width:13rem}.age-number-container .age-number--other{font-size:8rem}.age-number-container .age-number--current{font-size:10rem}}@media all and (max-width:625px){.age-number-container .age-number{line-height:10rem;min-width:10rem}.age-number-container .age-number--other{font-size:5rem}.age-number-container .age-number--current{font-size:8rem}}.map{position:relative}.map-container{overflow:hidden}.map-svg{--scale: 1;display:block;width:100%;height:calc(var(--window-width) / 1568 * var(--scale) * 770);transform:scale(var(--scale))}.map-svg path{transition:fill var(--color-palette-transition-duration)}.map-function{position:absolute;top:30%;display:flex;flex-direction:column;justify-content:flex-start;flex-wrap:wrap;max-width:100%;padding-left:var(--layout-lateral-padding)}.map-function>*:not(:last-of-type){margin-bottom:1.5rem}.map-function>* .font{font-size:2.2rem}@media all and (max-width:1300px){.map-svg{--scale: 1.2}}@media all and (max-width:900px){.map-svg{--scale: 1.5}.map-function>*:not(:last-of-type){margin-bottom:1rem}.map-function>* .font{font-size:1.8rem}}@media all and (max-width:800px){.map-svg{--scale: 2}.map-function{max-width:unset}}@media all and (max-width:625px){.map-svg{--scale: 3}.map-function>*:not(:last-of-type){margin-bottom:.8rem}.map-function>* .font{font-size:1.5rem}}.animated-typing{--cursor-color: var(--green);display:inline-block;overflow:hidden;border-right:.3em solid var(--cursor-color);white-space:nowrap;margin:0 auto 0 0;max-height:0px}@keyframes typing{0%{max-width:0}to{max-width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--cursor-color)}}@keyframes appear{to{max-height:100%}}.nutshellify-human-languages-language{margin-right:1.5rem}.nutshellify-machine-talk{display:grid;grid-template-columns:repeat(2,1fr);column-gap:3rem;row-gap:6rem}.nutshellify-machine-talk-tool{line-height:4rem;padding-left:2rem}.nutshellify-machine-talk-tool-subtool{padding-left:2rem}@media all and (max-width:625px){.nutshellify-machine-talk{display:flex;flex-direction:column;row-gap:3rem}}.nutshellify-section{padding-left:6rem}.nutshellify-section:not(:last-of-type){margin-bottom:10rem}.nutshellify-section-content{margin-top:2rem;padding-left:3rem;line-height:3rem;display:flex;flex-wrap:wrap;flex-direction:column}.nutshellify-section-content>section:not(:last-of-type){margin-bottom:3rem}@media all and (max-width:625px){.nutshellify-section{padding-left:0}.nutshellify-section-content{padding-left:1rem}}.nutshellify-title{margin-bottom:5rem}.nutshellify-title .font{display:inline-flex}@media all and (max-width:625px){.nutshellify-title{margin-bottom:2rem}}.gallery-page-content>*{margin-bottom:30rem}@media all and (max-width:900px){.gallery-page-content>*{margin-bottom:20rem}}.gallery-page-splash-screen{display:grid;align-items:center;height:100%}.gallery-page-splash-screen #quote{max-width:50rem;width:100%}.gallery-page-splash-screen #quote-text{font-size:3rem;line-height:3.5rem}.gallery-page-splash-screen #quote-author{margin-top:2rem;text-align:right}@media all and (max-width:625px){.gallery-page-splash-screen #quote-text{font-size:2rem;line-height:3rem}}.pictures{display:flex;flex-direction:column;row-gap:5rem}.pictures-picture-wall{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1px}.pictures-picture-wall--empty{text-align:center}@media all and (min-width:1500px){.pictures-picture-wall{grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}}.picture{position:relative;display:inline-block;transform-style:preserve-3d;width:100%;transition:var(--color-palette-transition),transform .3s ease;background-color:var(--dark-gray);outline:1px solid var(--black);z-index:1;transform:translateZ(-1000px);transform-origin:center center -1px}.picture:before{content:"";display:block;top:0;left:0;width:100%;height:100%;padding-bottom:100%}.picture--focused{transform:rotateY(-180deg)}.picture-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:scale-down}.picture-details{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.98;background:var(--purple);padding:3rem;transform:translateZ(-1px) rotateY(180deg);overflow-y:auto}.picture-flip{position:absolute;right:3rem;bottom:3rem;display:flex;align-items:center}.picture-flip-icon{font-size:1.6rem;margin-right:.6rem}.picture-fade{--transition-duration: 1s;position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--black);z-index:3;transition:var(--color-palette-transition),opacity var(--transition-duration) ease,visibility var(--transition-duration) ease;opacity:0;visibility:hidden}.picture-fade--visible{visibility:visible;opacity:.9}.pictures-filters{text-align:left}.pictures-filters-chips{margin-top:.5rem;display:flex;gap:1rem;flex-wrap:wrap;width:100%}.pictures-filters-chips>*{flex-shrink:0}.pictures-filters-select-shortcuts{margin-top:1.5rem;display:grid;grid-template-columns:repeat(2,max-content);gap:2rem}.pictures-filters-select-shortcuts *{cursor:pointer}.pictures-filters-floating-button{--size: 5rem;position:fixed;z-index:20;top:var(--global-window-padding);right:var(--global-window-padding);animation:floatingButtonAppears 1s ease}@keyframes floatingButtonAppears{0%{opacity:0}}.filter-chip{--current-color: var(--gray);display:inline-flex;min-width:0;align-items:center;height:4.2rem;padding:0 1.5rem;border:1px solid var(--current-color);-webkit-user-select:none;user-select:none;width:fit-content;cursor:not-allowed;transition:var(--color-palette-transition),box-shadow .1s cubic-bezier(0,0,1,1)}.filter-chip *{-webkit-user-select:none;user-select:none}.filter-chip--checked{--current-color: var(--green);position:relative;box-shadow:inset .2rem 0 0 var(--current-color)}.filter-chip--checked:after{position:absolute;content:"";width:100%;height:100%;left:0;top:0;background-color:var(--current-color);opacity:.05}.filter-chip--toggleable{cursor:pointer}.filter-chip-label{color:var(--current-color);font-size:1.6rem;flex-shrink:0}.modal-container{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;overflow:hidden;padding:var(--global-window-padding)}.modal-container--fullscreen{padding:0}.modal-container .modal-background{position:absolute;inset:0;background-color:#1d1d1ddb;animation:fadeIn 2s ease;z-index:1}.modal-container .modal{z-index:2;width:100%;max-width:400px;height:auto;max-height:100%;background-color:var(--black);border:1px solid var(--darker-gray);padding:2rem 2.4rem 2.5rem;display:grid;grid-template-areas:"header" "content";grid-template-rows:auto 1fr;row-gap:2rem;animation:modalAppearing .5s ease;overflow:auto}.modal-container .modal *{min-width:0;min-height:0}.modal-container .modal--fullscreen{max-width:100%;height:100%}.modal-container .modal--fullscreen .modal-content{display:flex;align-items:center;justify-content:center}.modal-container .modal-header{--close-button-size: 2.5rem;grid-area:header;display:grid;grid-template-areas:"title close-button";grid-template-columns:1fr var(--close-button-size);column-gap:2rem;align-items:center}.modal-container .modal-header-close-button{grid-area:close-button;fill:var(--white);height:var(--close-button-size);width:var(--close-button-size);cursor:pointer}.modal-container .modal-header-close-button:hover{fill:var(--gray)}.modal-container .modal-header-title{grid-area:title}.modal-container .modal-content{grid-area:content}@keyframes fadeIn{0%{opacity:0}}@keyframes modalAppearing{0%{opacity:0}}#cv{--line-thickness: 1px;--line-margin-right: 10rem;--dates-width: 11rem;--dates-padding-right: 4rem;--dot-radius: .4rem;--dot-size: calc(var(--dot-radius) * 2 + var(--line-thickness));padding-bottom:10rem;display:flex;flex-direction:column}@media all and (max-width:1500px){#cv{--line-margin-right: 7rem;--dates-padding-right: 3rem}}@media all and (max-width:1000px){#cv{--line-margin-right: 3rem}}#cv-jobs{padding-left:2.2rem;margin-top:10rem;display:grid;grid-template-columns:var(--line-thickness) 1fr;grid-gap:var(--line-margin-right);position:relative}@media all and (max-width:1000px){#cv-jobs{padding:0;margin-top:6rem}}.cv-job{--margin-size: 50vh;display:grid;grid-template-areas:"job-title" "job-company-name" "job-description";grid-template-rows:repeat(2,auto) 1fr;align-content:start;transition:var(--color-palette-transition),opacity .5s ease;position:relative}.cv-job:not(:first-of-type){margin-top:var(--margin-size)}.cv-job{margin-bottom:var(--margin-size)}.cv-job:last-of-type{margin-bottom:30vh}.cv-job-title{position:relative;grid-area:job-title;display:flex;align-items:center}.cv-job-company-name{grid-area:job-company-name}.cv-job-description{margin-top:2rem;grid-area:job-description;line-height:2.5rem}@media all and (max-width:1000px){.cv-job-title{flex-wrap:wrap}}.cv-job-dates{text-align:right;position:absolute;width:var(--dates-width);padding-right:var(--dates-padding-right);left:calc(0px - var(--line-margin-right) - var(--dates-width));top:2.3rem}.cv-job-dates-timeago{margin-bottom:1rem}.cv-job-dates-timestamp{margin-bottom:.5rem}@media all and (max-width:1000px){.cv-job-dates{position:relative;display:block;width:100%;text-align:left;left:0;flex-shrink:0;margin-top:-5rem}.cv-job-dates-timeago{margin-bottom:.5rem}.cv-job-dates-timestamp{display:none}}.cv-job-dot{position:absolute;background-color:var(--purple);width:var(--dot-size);height:var(--dot-size);border-radius:50%;left:calc(0px - var(--line-margin-right) - var(--dot-radius) - var(--line-thickness))}.cv-job-dot--current{--dot-radius: .7rem;--dot-size: calc(var(--dot-radius) * 2 + var(--line-thickness));width:calc(var(--dot-size));height:calc(var(--dot-size));background-color:var(--black);border:.3rem solid var(--purple);display:grid;place-items:center;animation:pulse 2s infinite linear}@keyframes pulse{0%,70%{box-shadow:0 0 #7751ff80}to{box-shadow:0 0 0 15px #7751ff1a}}#cv-jobs-line{--line-margin-top: 2.9rem;height:calc(100% - var(--line-margin-top));width:var(--line-thickness);background:var(--purple);margin-top:var(--line-margin-top);position:relative}#cv-jobs-line:after{content:"";position:absolute;bottom:0;left:-4px;width:9px;height:var(--line-thickness);background:var(--purple);z-index:1}.home-page-splash-screen{display:grid;grid-template-rows:1fr max-content;height:100%}.home-page-splash-screen #intro{display:flex;flex-direction:column;justify-content:center}.home-page-splash-screen #intro #name{font-size:2rem;margin:1rem 0}@keyframes shortDescriptionAppearing{to{transform:none;opacity:1}}
