@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:#b8b5c8;--green:#8af846;--pink:#ff6fcb;--purple:#8466f1;--white:#f7f7ef}.color-palette--light{--black:#fafaf8;--darker-gray:#eceee7;--dark-gray:#dfe2d7;--gray:#696c62;--green:#26b307;--pink:#dd36a3;--purple:#875ad3;--white:#3a353d}.color-palette-transitions-enabled,.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 (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{background:var(--black);min-width:100%;min-height:100%;display:flex}body{background:var(--black);flex:1}#root{width:100%;height:100%;color:var(--white);background:var(--black);font-family:Roboto Mono,monospace}button{cursor:pointer;background-color:#0000;width:fit-content}input,button,textarea,select{appearance:none;border:none;outline:none}:focus-visible{outline:2px solid var(--purple);outline-offset:3px}.noselect{-webkit-user-select:none;user-select:none}@media (width>=1500px){:root{font-size:12px}}.page-not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:0 2.5rem;display:flex}.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}.animated-typing{--cursor-color:var(--green);border-right:.3em solid var(--cursor-color);white-space:nowrap;max-height:0;margin:0 auto 0 0;display:inline-block;overflow:hidden}@keyframes typing{0%{max-width:0}to{max-width:100%}}@keyframes blink-caret{0%,to{border-color:#0000}50%{border-color:var(--cursor-color)}}@keyframes appear{to{max-height:100%}}.badge{border:1px solid var(--gray);width:fit-content;height:2.8rem;transition:var(--color-palette-transition);align-items:center;padding:0 1rem;display:inline-flex}.badge-icon{color:var(--gray);align-items:center;margin-right:.5rem;display:inline-flex}.badge-label{color:var(--gray);flex-shrink:0;font-size:1.3rem}.button{--shadow-offset:.4rem;--neg-shadow-offset:-.4rem;background-color:var(--purple);height:4.2rem;transition:var(--color-palette-transition), box-shadow .3s ease;padding:0 1.5rem}.button .font{color:#fafaf8!important}.button:hover{box-shadow:var(--neg-shadow-offset) var(--shadow-offset) 0px 0px var(--green)}.button:active{transform:translate(var(--neg-shadow-offset), var(--shadow-offset));transition:var(--color-palette-transition);box-shadow:none}.icon{vertical-align:-.1em;justify-content:center;align-items:center;display:inline-flex}.icon svg{width:100%;height:100%}.filter-chip{--current-color:var(--gray);border:1px solid var(--current-color);-webkit-user-select:none;user-select:none;cursor:not-allowed;width:fit-content;min-width:0;height:4.2rem;transition:var(--color-palette-transition), box-shadow .1s cubic-bezier(0, 0, 1, 1);background:0 0;align-items:center;padding:0 1.5rem;font-family:inherit;display:inline-flex}.filter-chip:disabled{cursor:not-allowed}.filter-chip *{-webkit-user-select:none;user-select:none}.filter-chip--checked{--current-color:var(--green);box-shadow:inset .2rem 0 0 var(--current-color);position:relative}.filter-chip--checked:after{content:"";background-color:var(--current-color);opacity:.05;width:100%;height:100%;position:absolute;top:0;left:0}.filter-chip--toggleable{cursor:pointer}.filter-chip-label{color:var(--current-color);flex-shrink:0;font-size:1.6rem}b{font-weight:700}.font{letter-spacing:-.04rem;font-family:Roboto Mono,monospace;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{font-size:5rem;line-height:7rem;display:block}.font--size-title2{margin-bottom:2rem;font-size:8rem;line-height:9rem;display:block}.font::selection{color:var(--black);background:var(--font-color)}@media (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}}#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%;min-height:100%;padding:0 var(--layout-lateral-padding) 0 var(--layout-lateral-padding);grid-template-rows:100vh auto;grid-template-areas:"front-content""main";margin:0 auto;display:grid}#layout>main{padding-bottom:var(--layout-bottom-padding);grid-area:main}#layout-front-content{grid-area:front-content;grid-template-rows:auto 1fr;grid-template-areas:"menu""splash-screen";min-height:56rem;padding:6rem 0;display:grid}#layout-content{grid-area:content;position:relative;overflow-y:clip}#layout-content-fade{--blur-size:15vh;--blur-stop:calc(var(--blur-size) / 2);height:calc(100% + 100vh + var(--blur-size));z-index:20;pointer-events:none;position:absolute;top:-100vh;transform:translate(0,0)}#layout-content-fade-fade{width:100%;height:100vh;position:sticky;top:0;overflow:hidden}#layout-content-fade-fade:after{content:"";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);position:absolute}#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 (width<=1000px){#layout{--min-lateral-padding:5rem}}@media (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}}@supports (-webkit-touch-callout:none){#layout{grid-template-rows:calc(100lvh + 60px) auto}}.footer{z-index:3;flex-direction:column;align-items:flex-end;width:100%;padding:3rem 0;display:flex}.footer-title{margin-bottom:5rem}.footer-item:not(:last-of-type){margin-bottom:2.5rem}@media (width<=625px){.footer{padding:0}.footer-title{margin-bottom:3rem}}.link{--underline-color:var(--purple);color:var(--white);text-decoration:none;display:inline-block;position:relative}.link:after{--padding-y:.3rem;--padding-x:1rem;content:"";padding:var(--padding-y) var(--padding-x);width:100%;height:100%;top:calc(0px - var(--padding-y));left:calc(0px - var(--padding-x));position:absolute}.link:hover .link-underline{opacity:1;left:-30%}.link--external{--underline-color:var(--pink)}.link--external .link-underline:after{content:"🡵";color:var(--underline-color);line-height:1.5rem;position:absolute;bottom:-1.5rem}.link-underline{background-color:var(--underline-color);opacity:0;pointer-events:none;z-index:1;width:80%;height:50%;position:absolute;top:55%;left:-20%}.link-label{z-index:2;position:relative}.menu{width:100%;transition:var(--color-palette-transition), visibility 0s ease, opacity .3s ease;flex-direction:row;justify-content:flex-end;align-items:center;display:flex}.menu--hidden{opacity:0;visibility:hidden}.menu-item{--spacing-between:3rem;box-sizing:border-box;place-items:center;height:3rem;padding:0 1rem;display:grid}.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:"";width:1px;height:100%;right:calc(0px - var(--spacing-between) / 2);background-color:var(--dark-gray);position:absolute;top:0}.menu-item--active{cursor:default}.menu-floating{bottom:var(--global-window-padding);left:var(--global-window-padding);background-color:var(--black);border:1px solid var(--dark-gray);z-index:21;width:auto;transition:var(--color-palette-transition), visibility .3s ease, opacity .3s ease, transform .5s ease;opacity:0;visibility:hidden;transform:translateX(calc(-100% - var(--global-window-padding)));flex-direction:row;justify-content:center;padding:1rem 2rem;display:flex;position:fixed}.menu-floating--visible{opacity:1;visibility:visible;transform:none}.menu-floating .menu-item:first-of-type{margin-right:var(--spacing-between)}@media (width<=625px){.menu-floating{padding:1rem}.menu-item{--spacing-between:1.5rem}.menu-item--active{cursor:default}}.light-switch{cursor:pointer;color:var(--white);background:0 0;border:none;place-items:center;margin-right:auto;padding:0;display:grid;position:relative}.light-switch:before{--clickable-padding:1rem;content:"";width:100%;height:100%;top:calc(0px - var(--clickable-padding));left:calc(0px - var(--clickable-padding));padding:var(--clickable-padding);position:absolute}.modal-container{z-index:2000;padding:var(--global-window-padding);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.modal-container--fullscreen{padding:0}.modal-container .modal-background{z-index:1;background-color:#1d1d1ddb;animation:2s fadeIn;position:absolute;inset:0}.modal-container .modal{z-index:2;background-color:var(--black);border:1px solid var(--darker-gray);grid-template-rows:auto 1fr;grid-template-areas:"header""content";row-gap:2rem;width:100%;max-width:max(800px,50%);height:auto;max-height:100%;padding:2rem 2.4rem 2.5rem;animation:.5s modalAppearing;display:grid;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{justify-content:center;align-items:center;display:flex}.modal-container .modal-header{--close-button-size:2.5rem;grid-area:header;grid-template-areas:"title close-button";grid-template-columns:1fr var(--close-button-size);align-items:center;column-gap:2rem;display:grid}.modal-container .modal-header-close-button{height:var(--close-button-size);width:var(--close-button-size);cursor:pointer;color:var(--white);background:0 0;border:none;grid-area:close-button;place-items:center;padding:0;font-family:inherit;display:grid}.modal-container .modal-header-close-button:hover{color: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}}.about-page-content>*{margin-bottom:30rem}@media (width<=900px){.about-page-content>*{margin-bottom:20rem}}.about-page-splash-screen{align-items:center;height:100%;display:grid}.about-page-splash-screen #quote{width:100%;max-width:50rem}.about-page-splash-screen #quote-text{font-size:3rem;line-height:3.5rem}.about-page-splash-screen #quote-author{text-align:right;margin-top:2rem}@media (width<=625px){.about-page-splash-screen #quote-text{font-size:2rem;line-height:3rem}}.gallery-page-content>*{margin-bottom:30rem}@media (width<=900px){.gallery-page-content>*{margin-bottom:20rem}}.gallery-page-splash-screen{align-items:center;height:100%;display:grid}.gallery-page-splash-screen #quote{width:100%;max-width:50rem}.gallery-page-splash-screen #quote-text{font-size:3rem;line-height:3.5rem}.gallery-page-splash-screen #quote-author{text-align:right;margin-top:2rem}@media (width<=625px){.gallery-page-splash-screen #quote-text{font-size:2rem;line-height:3rem}}.home-page-splash-screen{grid-template-rows:1fr max-content;height:100%;display:grid}.home-page-splash-screen #intro{flex-direction:column;justify-content:center;display:flex}.home-page-splash-screen #intro #name{margin:1rem 0;font-size:2rem}@keyframes shortDescriptionAppearing{to{opacity:1;transform:none}}
