@font-face{font-family:inter;src:url(./Inter-VariableFont_opsz_wght.BrXsWJWV.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:ibm;src:url(./IBMPlexSerif-Light.B9o9lISh.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:ibm;src:url(./IBMPlexSerif-Regular.NdE4NHxZ.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ibm;src:url(./IBMPlexSerif-Medium.B_Z9BmSd.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:ibm;src:url(./IBMPlexSerif-SemiBold.BeAhlmVB.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:ibm;src:url(./IBMPlexSerif-Bold.Bn65Rqcx.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-primary:var(--lightningcss-light,#00f)var(--lightningcss-dark,#ffb3c7);--color-background:var(--lightningcss-light,#fff)var(--lightningcss-dark,#121212);--color-text:var(--lightningcss-light,#000)var(--lightningcss-dark,#f3efe6);--color-page:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#0a0a0a);--color-grid:var(--lightningcss-light,#ddd)var(--lightningcss-dark,#262626);--color-glass:color-mix(in srgb, var(--color-background) 41%, transparent);--line-height:1.4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:dark){:root{--line-height:1.5}}:root{--radius-pill:.5rem;--page-padding:clamp(.5rem, calc(.5rem + (100vw - 375px) * 2.5rem / 1065px), 3rem);--heading-stretch:clamp(.8, calc(1.5 - .5 * (100vw - 375px) / 825px), 1.5);--header-title-stretch:clamp(.5, calc(1.5 - .5 * (100vw - 375px) / 825px), 1.5);--header-title-translate:min(0px, calc(-100% + 100vw - 2 * var(--page-padding)));--hero-padding:0px;--profile-photo-size:min(420px, 100% - 2 * var(--hero-padding));--profile-icon-scale:.12;--project-gap:2rem;--project-image-width:55cqi;--project-text-width:calc(100cqi - var(--project-image-width) - var(--project-gap) - var(--page-padding))}@media (width>=420px){:root{--hero-padding:var(--page-padding)}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--line-height:1.4}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--line-height:1.5}html{scroll-snap-type:y proximity}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{timeline-scope:--hero;background-color:var(--color-page);background-image:linear-gradient(var(--color-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-grid) 1px, transparent 1px);min-height:100%;color:var(--color-text);font-family:inter,sans-serif;line-height:var(--line-height);background-size:20px 20px}*{box-sizing:border-box;margin:0;padding:0;list-style:none}a{font-family:inter,sans-serif;line-height:var(--line-height);color:var(--color-text);text-decoration:none}h1,h2,h3,h4,h5{font-family:ibm,serif}a{position:relative}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pill{border:2px solid var(--color-primary);border-radius:var(--radius-pill);background:var(--color-background);min-height:2.75rem;color:var(--color-text);font:inherit;cursor:pointer;align-items:center;gap:.5rem;padding-inline:1rem;display:inline-flex}.pill:focus-visible{outline:3px solid var(--color-text);outline-offset:2px}.switch{--switch-padding:2px;--switch-options:2;width:fit-content;padding:var(--switch-padding);border:2px solid var(--color-primary);border-radius:var(--radius-pill);background:var(--color-background);grid-auto-columns:1fr;grid-auto-flow:column;margin:0;display:grid;position:relative}.switch:has(label:nth-of-type(3)){--switch-options:3}.switch:before{content:"";inset-block:var(--switch-padding);width:calc((100% - 2 * var(--switch-padding)) / var(--switch-options));border-radius:var(--radius-pill);background:var(--color-primary);transition:translate .25s;position:absolute;inset-inline-start:var(--switch-padding)}@media (prefers-reduced-motion:reduce){.switch:before{transition:none}}.switch:has(label:nth-of-type(2) input:checked):before{translate:100%}.switch:has(label:nth-of-type(3) input:checked):before{translate:200%}.switch label{min-height:calc(2.75rem - 2 * var(--switch-padding) - 4px);border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;padding-inline:1rem;transition:color .25s;display:inline-flex;position:relative}.switch label:has(input:checked){color:var(--color-background)}.switch label:has(input:focus-visible){outline:3px solid var(--color-text);outline-offset:2px}.switch label input{opacity:0;pointer-events:none;position:absolute}a:after{content:"";transform-origin:50%;border-bottom:2px solid;width:100%;transition:transform .2s;position:absolute;bottom:0;left:0;transform:scaleX(0)}a:hover:after{transform:scaleX(1)}section{padding-inline:var(--page-padding);margin-top:1rem}section h2{transform:scaleY(var(--heading-stretch));transform-origin:top;margin-bottom:calc(.8rem + (var(--heading-stretch) - 1) * 1.4em);align-items:center;gap:.75rem;display:flex}section h2:after{content:"";background:var(--color-primary);flex:auto;height:2px}
