:root{--fuchsia-50: #faf5fb;--fuchsia-100: #f3e8f7;--fuchsia-200: #e8d0ee;--fuchsia-300: #dab0e1;--fuchsia-400: #c98fd3;--fuchsia-500: #b070bc;--fuchsia-600: #945a9e;--fuchsia-700: #78487f;--fuchsia-800: #5e3863;--fuchsia-900: #47294b;--fuchsia-950: #2f1a32;--grey-100: #f9f9f9;--grey-200: #eaeaea;--grey-300: #d6d6d6;--grey-400: #b0b0b0;--grey-500: #8a8a8a;--grey-600: #6e6e6e;--grey-700: #525252;--grey-800: #3a3a3a;--grey-900: #1f1f1f;--color-light-background: rgb(240, 235, 243);--color-dark-background: rgb(42, 39, 42);--color-dark-text: rgba(255, 255, 255, .87);--color-light-grey: #c9c5c580;--color-dark-grey: #44434395;--nav-bar-height: 80px;--nav-bar-width: 250px;--layout-padding: 2rem;--layout-padding-mobile: 1rem;--margin-size-1: 1rem;font-family:CascadiaMono,monospace;line-height:1.5;font-weight:400;color:var(--color-dark-text);background-color:var(--color-light-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{:root{font-family:CascadiaMono;src:url(/assets/CascadiaMono-95CNhH_0.woff2) format("woff2");font-weight:400;font-style:normal}}@font-face{:root{font-family:CascadiaMono;src:url(/assets/CascadiaMono-Bold-BVnUX_AB.woff2) format("woff2");font-weight:700;font-style:normal}}@font-face{:root{font-family:CascadiaMono;src:url(/assets/CascadiaMono-Italic-CPio_DN2.woff2) format("woff2");font-weight:400;font-style:italic}}@font-face{:root{font-family:CascadiaMono;src:url(/assets/CascadiaMono-BoldItalic-ClVYurfk.woff2) format("woff2");font-weight:700;font-style:italic}}a{color:var(--fuchsia-800);text-decoration:inherit;font-weight:700}a:hover{color:var(--fuchsia-500);text-decoration:underline!important}body{margin:0;font-size:.85em}#root{max-width:1024px;padding:var(--layout-padding);text-align:center}@media screen and (max-width: 768px){#root{padding:1rem}}h1{font-size:3.2em;line-height:1.1}h1,h3{color:var(--fuchsia-700)}h2{margin:var(--margin-size-1) 0}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--fuchsia-400)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}:root{color:#213547;background-color:var(--color-light-background)}button{background-color:#f9f9f9}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fade-out{animation:fadeOut .5s ease-in forwards}.fade-in{animation:fadeIn .5s ease-in forwards}.logo{height:2em;padding:1em;will-change:filter;transition:filter .3s}.profile-pic{height:200px;width:200px;object-fit:cover;border-radius:50%;margin:2em 0}.logo:hover{filter:drop-shadow(0 0 .5em var(--fuchsia-400))}h1{font-size:1.5em;font-style:italic;margin:0 12px}.about-description{width:100%;display:flex;flex-direction:column;align-items:center;text-align:justify}@media screen and (max-width: 768px){.about-description{font-size:.9em}}.about-description p{max-width:700px}@keyframes shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}.shimmer-placeholder{background:#eadcec00;background-image:linear-gradient(to right,var(--grey-100) 0%,var(--grey-200) 20%,var(--grey-100) 40%,var(--grey-100) 100%);background-repeat:no-repeat;background-size:800px 100%;animation:shimmer 1.5s infinite linear;border-radius:20px;max-width:100%;aspect-ratio:1 / 1}.shimmer-placeholder.circle{border-radius:50%}.shimmer-placeholder.centered{margin-left:auto;margin-right:auto}.experience{text-align:left}.experience-item{padding:1em}@media screen and (max-width: 768px){.experience-item{padding:0}}.experience-details{font-size:.9em}.experience-title{font-weight:600;font-size:1.1em}.employment-date{font-weight:500;color:var(--grey-500)}.education-details{font-size:.9em}.degree{font-weight:600}.education-date{font-size:.9em;font-weight:500;color:var(--grey-500)}.card{background-color:var(--grey-100);padding:.5em 0;margin:1.5em 0;border-radius:10px;display:flex;justify-content:space-between}.card:hover{box-shadow:0 0 5px var(--grey-300);transition:box-shadow .3s ease-in-out;transform:scale(1.01)}.card-image{float:right;padding:1em;max-height:50px;width:50px}@media screen and (max-width: 768px){.card-image{padding:.2em}}.card-content{padding:0 1em;width:100%}.projects{text-align:left}.project{padding:1em}.project-image-container{all:unset;cursor:pointer}.project-image-container:hover,.project-image-container:focus,.project-image-container:focus-visible{outline:0;box-shadow:0;border:0;border-color:none}.project-image{max-height:500px;max-width:100%}.project-note{font-size:.85em;font-style:italic;color:var(--grey-500)}.shadow{box-shadow:2px 2px 20px #b4b2b255}.project-links{margin:12px 0}.project-link{background-color:var(--fuchsia-200);font-weight:500;font-size:.9em;padding:4px;border-radius:4px}.technologies{background-color:#ebe9e993;width:fit-content;font-style:italic;font-weight:500;font-size:.8em;padding:2px;border-radius:6px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;z-index:999;background-color:#000000d9}.modal-content{display:flex;justify-content:center;align-items:center;flex-direction:column}.modal-content img{max-width:80vw;max-height:80vh;border-radius:4px;box-shadow:0 4px 20px #0000004f;animation:fadeIn .5s ease-in forwards}@media (max-width: 768px){.modal-content img{max-width:95vw}}nav{position:absolute;top:calc(var(--layout-padding) + var(--margin-size-1) + 4px);left:var(--layout-padding);height:var(--nav-bar-height);width:var(--nav-bar-width)}@media (min-width: 768px){nav{position:fixed}}@media screen and (max-width: 768px){nav{top:var(--layout-padding-mobile);left:var(--layout-padding-mobile)}}nav a{display:flex;font-weight:700;font-size:1.1em}a:hover{text-decoration:none}.active-item{text-decoration:underline;font-weight:600}.item:hover{text-decoration:underline}main{margin-top:calc(var(--layout-padding) + var(--nav-bar-height))}@media (min-width: 768px){main{margin-top:var(--layout-padding);margin-left:var(--nav-bar-width);margin-top:0}}.art{text-align:left}.art-intro{margin:1em 0 3em}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:masonry;gap:16px}.gallery-item{all:unset;cursor:pointer;position:relative;display:inline-block;width:100%}.gallery-item-title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--grey-200);font-style:italic;font-weight:700;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.4);pointer-events:none;z-index:99;display:none}.gallery-item-title .title{color:var(--grey-200);font-size:1em}@media screen and (max-width: 768px){.gallery-item-title .title{font-size:.8em}}.gallery-item-title .description{color:var(--grey-400);font-size:.9em}@media screen and (max-width: 768px){.gallery-item-title .description{font-size:.7em}}.gallery-item:hover .gallery-item-title{display:block}.gallery img{width:100%;aspect-ratio:1 / 1;height:auto;border-radius:8px;object-fit:cover;filter:grayscale(0%) brightness(100%);box-shadow:0 2px 10px #0000001a;transition:transform .3s ease;transition:filter .3s ease}.gallery img:hover{transform:scale(1.05);filter:grayscale(20%) brightness(50%);box-shadow:0 4px 20px #0003}.carousel-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;z-index:999;background-color:#000000d9}.carousel{display:flex;justify-content:center;align-items:center;flex-direction:column}.carousel img{max-width:80vw;max-height:80vh;border-radius:4px;box-shadow:0 4px 20px #0000004f}@media (max-width: 768px){.carousel img{max-width:95vw}}.carousel-control{display:flex;height:4em;justify-content:space-between;align-items:center;margin:1em 0}.carousel-control button{all:unset;background:transparent;border:none;aspect-ratio:1 / 1;cursor:pointer;color:#000;display:flex;padding:1em}.carousel-control button:hover{scale:1.1;transition:scale .1s ease}.carousel-title{font-size:1.2em;font-style:italic;color:var(--grey-300);filter:brightness(80%);text-align:center;margin:0 1em;text-shadow:var(--grey-400) 0px 0px 5px}.carousel-title:hover{filter:brightness(100%);transition:filter .1s ease}.left-arrow,.right-arrow{width:2em;height:2em;filter:brightness(50%)}.left-arrow:hover,.right-arrow:hover{filter:brightness(80%);transition:filter .1s ease}
