*{margin:0;padding:0;box-sizing:border-box;font-family:IBM Plex Mono}html{overscroll-behavior:none;scroll-behavior:smooth;cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' width='32' height='32'><circle r='50' cx='50' cy='50' /></svg>") 16 16,auto}::-webkit-scrollbar{display:none}button{cursor:pointer}@font-face{src:url(../fonts/ibm-plex-mono.ttf);font-family:IBM Plex Mono}@font-face{src:url(../fonts/Px-Grotesk-Light.woff);font-family:Px}@font-face{src:url(../fonts/picnic.otf);font-family:Picnic}.c_pointer:hover{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' width='32' height='32'><circle r='46' cx='50' cy='50' stroke='black' stroke-width='8' fill='none' /><circle r='8' cx='50' cy='50' /></svg>") 16 16,auto}.hover_f_invert100:hover{filter:invert(100%)}header#controls button{padding:2px 5px 3px 9px}@media (max-width: 800px){header#controls button{padding:2px}}nav header .header-link a span.emoji-eyes{transform:scale(-1)}nav header .header-link:hover a span.emoji-eyes{transform:scale(1)}h2 span.highlighted{--padding: 20px;position:relative}h2 span.highlighted{white-space:nowrap;padding:0 20px;border-radius:50px;background:var(--color-1);color:var(--color-3);z-index:-1}section#projects{scroll-behavior:auto;background:#fff;position:relative;z-index:1}section#projects #filters-wrapper{row-gap:5px}section#projects #projects-grid{margin-top:50px;display:grid;gap:6.5vw;grid-template-columns:repeat(5,1fr);padding:5vw}section#projects #projects-grid .cell{transition:filter .2s ease-in-out}@media (max-width: 1200px){section#projects #projects-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 800px){section#projects #projects-grid{display:block;padding:35px}section#projects #projects-grid>*:not(:last-child){margin-bottom:120px}}#hovered-project-name{color:var(--color-1);text-shadow:.6vw .6vw var(--color-2),1.2vw 1.2vw var(--color-3)}@property --mask-size{syntax: "<length>"; initial-value: 0px; inherits: false;}.modal-content .description-wrapper.scrolled{position:relative;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black var(--mask-size));mask-image:linear-gradient(to bottom,transparent 0%,black var(--mask-size));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:mask-fade-in 1.5s ease-out forwards}@keyframes mask-fade-in{0%{--mask-size: 0px}to{--mask-size: 225px}}#grid-visuals{padding:4rem;grid-template-columns:1fr;row-gap:4rem}#grid-visuals .shifted{margin-left:-30vw}.modal-content.visible{display:flex}@media (max-width: 1300px){.modal-content .texts{width:60%}#grid-visuals .shifted{margin-left:-20vw}}@media (max-width: 1100px){.modal-content .texts{width:80%}#grid-visuals .shifted{margin-left:-15vw}}@media (max-width: 800px){.back-button{transform:scale(.75)}.modal-content.visible{display:block}.modal-content .texts,#grid-visuals{position:relative;width:100%}#grid-visuals .shifted{margin-left:0}}@media (min-width: 800px){.mobile_only{display:none}}section#websites .preview{visibility:hidden;position:absolute;top:50px;right:13vw;width:24vw;height:24vw;pointer-events:none}section#skills{background:var(--color-2)}section#skills input[type=range]{margin-left:20px;width:100px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:38px;outline:none;border-radius:30px;cursor:pointer;padding:7px;background:none;border:solid 1px black}section#skills input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;background:#000;border-radius:30px;outline:none}svg#curriculum-timeline g:hover circle{r:15}svg#curriculum-timeline g:not(.in-range) text.content{visibility:hidden}svg#curriculum-timeline g:not(.in-range) text.year{font-size:25px}svg#curriculum-timeline g.in-range text.year{font-size:50px}svg#curriculum-timeline g:not(.in-range):hover text.year{font-size:35px}@media (max-width: 800px){svg#curriculum-timeline{transform:rotate(90deg);transform-origin:center}svg#curriculum-timeline g text.year{transform-box:fill-box;transform-origin:center}svg#curriculum-timeline g:nth-child(2n) text.year{transform:rotate(-90deg) translate(60px)}svg#curriculum-timeline g:nth-child(odd) text.year{transform:rotate(-90deg) translate(-60px)}svg#curriculum-timeline g text.content{transform-box:fill-box}svg#curriculum-timeline g:nth-child(2n) text.content{transform:rotate(-90deg) translate(-150px) translateY(110px);transform-origin:left;text-anchor:start}svg#curriculum-timeline g:nth-child(odd) text.content{transform:rotate(-90deg) translate(120px) translateY(110px);transform-origin:right;text-anchor:end}}.fade-in{animation:.25s fade-in linear}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.arrow-icon{background-repeat:no-repeat;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 130'><path fill='none' stroke='black' stroke-width='7' d='M57.15 112.9L9.5 65.25 57.15 17.6M124.5 65.25H10.16'/></svg>")}.cross-icon{background-repeat:no-repeat;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 130'><line fill='none' stroke='black' stroke-width='8' x1='0' y1='0' x2='130' y2='130' /><line fill='none' stroke='black' stroke-width='8' x1='0' y1='130' x2='130' y2='0' /></svg>")}
