*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}body{min-block-size:100svh;margin:0;line-height:1.5}img,picture,video,canvas{block-size:auto;max-inline-size:100%;display:block}input,button,textarea,select{font:inherit}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--content-width:55rem;--page-gutter:1rem;--section-gap:clamp(5rem, 12vw, 10rem);--grid-gap:1.5rem;--card-padding:1.25rem;--card-radius:.625rem;--small-radius:.125rem;--control-height:2.75rem;--transition-fast:.15s ease;--background:var(--lightningcss-light,#6b4f97)var(--lightningcss-dark,#211e20);--surface:var(--lightningcss-light,#7558a5)var(--lightningcss-dark,#2b282a);--text:var(--lightningcss-light,#fff7c7)var(--lightningcss-dark,#e9efec);--text-muted:var(--lightningcss-light,#e0d8ae)var(--lightningcss-dark,#9fa8a3);--accent:var(--lightningcss-light,#97f6cb)var(--lightningcss-dark,#c4c4aa);--accent-hover:var(--lightningcss-light,#68c49c)var(--lightningcss-dark,#a0a08b);--accent-text:var(--lightningcss-light,#3f2d5f)var(--lightningcss-dark,#211e20);--border:var(--lightningcss-light,#ffffff2e)var(--lightningcss-dark,#555568);--shadow:var(--lightningcss-light,#2d1c4659)var(--lightningcss-dark,#00000059)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-reduced-motion:no-preference){html,body{scroll-behavior:smooth}}body{background-color:var(--background);color:var(--text);max-width:var(--content-width);padding:var(--page-gutter);margin:0 auto;font-size:16px;font-weight:400;line-height:1.5}::selection{background-color:var(--text);color:var(--background)}h1{margin-top:0;margin-bottom:1.2rem;font-size:2rem;line-height:1.2}h2{margin-top:0;margin-bottom:1.25rem;font-size:1.8rem;line-height:1.25}h3{margin-top:0;margin-bottom:1.3rem;font-size:1.6rem;line-height:1.3}h4{margin-top:0;margin-bottom:1.3rem;font-size:1.4rem;line-height:1.3}h5{margin-top:0;margin-bottom:1.35rem;font-size:1.1rem;line-height:1.35}h6{margin-top:0;margin-bottom:1.4rem;font-size:1rem;line-height:1.4}a,summary{color:var(--accent);transition:color var(--transition-fast)}a:hover,a:focus,summary:hover,summary:focus{color:var(--accent-hover)}a[href=\#top],summary[href=\#top]{margin-bottom:0;padding:.125rem;position:sticky;inset:3rem 0 1rem 100%}a[href=\#top],.color-scheme-toggle{transition:all var(--transition-fast);border-radius:var(--small-radius);z-index:1;border:none;font-size:1.8rem}a[href=\#top]:hover,.color-scheme-toggle:hover{color:var(--background);background-color:var(--accent-hover)}strong,b{font-weight:900}p{margin-top:0;margin-bottom:1.125rem}mark{background-color:var(--text);color:var(--background);border-radius:var(--small-radius);transition:background-color var(--transition-fast);padding:.125rem .25rem;font-weight:900}mark:hover{background-color:var(--accent)}nav ul{flex-wrap:wrap;justify-content:center;margin:0;padding:0;list-style:none;display:flex}nav li{margin:0 .625rem}@media screen and (width<=42rem){nav li{margin:.625rem}}nav a{text-decoration:none}nav a:hover{text-decoration:underline}main{position:relative}footer{border-top:1px dotted var(--border);text-align:center;padding-top:2rem;font-size:.875rem}footer p,footer nav{margin-bottom:.5rem}section{margin-bottom:var(--section-gap)}section h1{font-size:3.5rem}section h2{font-size:2.5em}section h1,section h2{text-align:center;margin:8vh 0 5vh}details[open] summary{font-weight:900}details{width:100%}details>summary{cursor:pointer;margin-bottom:0}.icon{--size:1em;vertical-align:-.15em;inline-size:var(--size);block-size:var(--size);flex:none;display:inline-block}.icon.md{--size:2rem}.icon.lg{--size:3rem}.icon.flip-h{transform:rotateY(180deg)}.icon.flip-v{transform:rotateX(180deg)}.icon.rot-90{transform:rotate(90deg)}.icon.rot--90{transform:rotate(-90deg)}.spacing{margin-bottom:var(--section-gap)}.spacing.md{--section-gap:4rem}body{font-optical-sizing:auto;font-variation-settings:"wdth" 100;font-family:Inconsolata,monospace;font-style:normal}.hero{text-align:center;flex-flow:column;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative}.hero h1{margin-top:1rem;margin-bottom:0}.hero p{margin-top:0;margin-bottom:1.1rem}.hero .flip{bottom:calc(2rem + var(--page-gutter));font-size:2rem;position:absolute;left:calc(50% - 2rem);transform:rotate(90deg)translate(50%)}.hero a{font-size:1.25rem;text-decoration:none}section[id]{scroll-margin-top:7rem}@media screen and (width>=40rem){section[id]{scroll-margin-top:4.5rem}}img{border-radius:var(--card-radius);border:2px solid var(--border);width:100%;height:auto;box-shadow:0 0 5px var(--shadow)}img.thumbnail{width:200px;height:150px}details>summary::marker{content:"";display:none}details ul{row-gap:var(--grid-gap);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}.what-i-do dl{grid-template-columns:minmax(8rem,12rem) 1fr;gap:.5rem 0;margin:0;display:grid}.what-i-do dt{color:var(--accent);border-block-end:1px dotted var(--border);margin:0 0 1rem;padding-block-end:1rem;font-weight:700}.what-i-do dd{border-block-end:1px dotted var(--border);margin:0 0 1rem;padding-block-end:1rem}@media (width<=32rem){.what-i-do dl{grid-template-columns:1fr;gap:.25rem}.what-i-do dt{border:none;margin:0;padding-block-end:0}.what-i-do dd:last-of-type{border:none}}.what-i-do p{text-align:center}.past-experiences article{margin-bottom:var(--grid-gap);border-bottom:1px dotted var(--border);padding-block-end:var(--grid-gap)}.past-experiences article:last-of-type{border:none}.past-experiences article h3,.past-experiences article p{margin:0}.past-experiences article p:first-of-type{font-style:italic}.past-experiences article p.hasTime{color:var(--text-muted);font-size:.875rem}.project-list{--gap:calc(2 * var(--grid-gap));gap:var(--gap);margin-top:5rem;display:grid}.project-list article{gap:var(--grid-gap);border-bottom:1px dotted var(--border);grid-template-columns:1fr;padding-block-end:var(--gap);display:grid}.project-list article:last-of-type{border-bottom:none}.project-list article .thumbnail{margin:0 auto}.project-list article .description{margin-top:2rem}.project-list article details{grid-column:1/-1}.project-list article details summary{text-align:center}@media screen and (width>=40rem){.project-list article{grid-template-columns:12.5rem 1fr}}.what-i-use ul{flex-wrap:wrap;justify-content:center;margin:0;padding:0;list-style:outside;display:flex}.what-i-use ul li{margin:0 1rem}@media screen and (width<=42rem){.what-i-use ul li{margin:.25rem 1rem}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.color-scheme-toggle{color:var(--accent);cursor:pointer;background:0 0;padding:.25rem .75rem;position:fixed;inset-block-end:1rem;inset-inline-start:1rem}
