:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #212121;--vt-c-black-soft: #37373D;--vt-c-black-mute: #282828;--vt-c-black-dark: #1F1F1F;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-background-dark: var(--vt-c-black-dark);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100%;color:var(--color-text);background:var(--color-background);transition:color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(min-width:2560px){html{font-size:clamp(16px,calc(14px + 1vw),32px)}}.markdown-document{min-width:0;max-width:100%;width:100%}.markdown-body{font-size:1.05rem;line-height:1.7;min-width:0;overflow-wrap:break-word}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-heading);line-height:1.25;margin:2rem 0 1rem}.markdown-body h1:first-child{margin-top:0}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body pre{margin:1rem 0}.markdown-body ul,.markdown-body ol{padding-left:2rem}.markdown-body blockquote{border-left:4px solid #555;color:var(--vt-c-text-dark-2);padding-left:1rem}.markdown-body code{background:#696969;border-radius:.3rem;padding:.1rem .35rem}.markdown-body pre{background:var(--color-background-dark);overflow-x:auto;padding:1rem}.markdown-body pre code{background:transparent;padding:0}.markdown-body img{display:block;height:auto;max-width:100%}.md-columns{align-items:center;display:flex;gap:3rem;margin:5vh 0;width:100%}.md-column{min-width:0}.md-column:first-child{flex:var(--md-left-flex, 1) 1 0}.md-column:last-child{flex:var(--md-right-flex, 1) 1 0}.md-columns-stacked{align-items:stretch;flex-direction:column}.md-columns-stacked>.md-column{flex:1 1 auto;width:100%}.md-grid{display:grid;gap:5vh 5%;grid-template-columns:repeat(var(--md-grid-columns, 1),minmax(0,1fr));margin:5vh 0}.md-grid-item{min-width:0}.md-accordion{margin:2rem 0 6rem}.md-accordion summary{background:#333;color:#fff;cursor:pointer;list-style-position:inside;padding:1rem;transition:background-color .2s}.md-accordion summary:hover,.md-accordion summary:focus-visible{background:#444}.md-accordion-panel{background:#000;padding:1rem}.md-accordion-panel img{max-height:100vh;object-fit:contain;width:auto}.md-flip-card{aspect-ratio:.7;cursor:pointer;min-width:0;perspective:1200px;width:100%}.md-flip-card-inner{height:100%;position:relative;transform-style:preserve-3d;transition:transform .75s;width:100%}@media(hover:hover){.md-flip-card:hover .md-flip-card-inner{transform:rotateY(180deg)}}.md-flip-card:focus-visible{outline:3px solid #3376ce;outline-offset:4px}.md-flip-card.is-flipped .md-flip-card-inner{transform:rotateY(180deg)}.md-flip-card-front,.md-flip-card-back{backface-visibility:hidden;border-radius:10px;height:100%;inset:0;position:absolute;width:100%}.md-flip-card-front{align-items:flex-start;background:var(--color-background-soft);border:10px solid var(--color-background-soft);display:flex;flex-direction:column}.md-flip-card-front h3{align-content:center;font-size:clamp(1rem,1.7cqw,2.6rem);height:15%;margin:0}.md-flip-card-front>img{height:70%;object-fit:cover;width:100%}.md-language-list{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;height:15%;margin-top:5%;width:100%}.md-language-chip{align-items:center;background:var(--language-color);border-radius:.5rem;display:inline-flex;font-size:clamp(.7rem,5cqw,1rem);justify-content:center;line-height:1.2;padding:.15rem .35rem}.md-flip-card-back{background:var(--color-background-dark);border:5px solid #000;font-size:clamp(.8rem,1cqw,1.1rem);overflow:auto;padding:1rem;transform:rotateY(180deg)}.md-flip-card-back-content{display:flex;flex-direction:column;justify-content:center;min-height:100%}.md-flip-card-back p{margin:.5rem 0}.markdown-document[data-document-id=work-experience] .md-columns:first-of-type img{aspect-ratio:1;border:6px solid #fff;border-radius:50%;object-fit:cover;width:100%}.markdown-body img[alt="University of Waterloo"]{aspect-ratio:1;border:6px solid #fff;border-radius:50%;object-fit:cover}.markdown-document[data-document-id=readme] .md-column h2{text-align:right}.markdown-document[data-document-id=contact] .markdown-body p{align-items:center;display:flex;font-size:1.5rem;gap:.65rem;min-width:0;overflow-wrap:anywhere}.markdown-document[data-document-id=contact] .markdown-body p>img{flex:0 0 auto;height:1.8rem;width:auto}.markdown-document[data-document-id=contact] .markdown-body a{min-width:0;overflow-wrap:anywhere}.markdown-error{background:#3b1717;border:1px solid #c66;padding:1rem}.markdown-error pre{overflow:auto;white-space:pre-wrap}@media(max-width:600px){.md-columns{gap:1.5rem}.markdown-document[data-document-id=contact] .markdown-body p{align-items:flex-start;flex-direction:column;gap:.25rem}}#app{min-width:100vw;margin:0;font-weight:400}.editorLayout{transition:width 1s,height 1s}.no-transition .editorLayout{transition:none!important}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media(hover:hover){a:hover{background-color:#00bd7e33}}@media(min-width:1024px){body{display:flex;place-items:center}#app{display:flex;grid-template-columns:1fr 1fr}}.pad[data-v-4317ffa6]{padding-left:1.2rem;padding-right:1.2rem;overflow:hidden}.file[data-v-4317ffa6]{display:flex;flex-direction:row;place-items:center;background-color:transparent;color:var(--text-color);padding-top:0;padding-bottom:0;padding-left:2rem;width:100%;overflow:hidden}.file.router-link-active[data-v-4317ffa6]{background-color:var(--color-background-soft)}.explorer-title[data-v-4317ffa6]{display:flex;place-items:center;justify-content:space-between;width:100%}.toolbar[data-v-662f8359]{display:flex;flex-direction:column;justify-content:flex-start;width:4rem;flex:0 0 4rem;height:100%;border-style:solid;border-width:0 1px 0 0;border-color:#2b2b2b}.fileIcon[data-v-662f8359]{border:0;box-sizing:border-box;border-style:solid;border-color:#3376ce;padding:3px;aspect-ratio:1}.toolbar svg[data-v-662f8359]{padding:25%;display:block}.toolbar a[data-v-662f8359]{width:100%;padding:15%;display:block}img[data-v-662f8359]{width:100%;aspect-ratio:1;display:block}@media(max-width:800px){.toolbar[data-v-662f8359]{width:50px;min-width:50px;flex-basis:50px}}.header[data-v-2bd1751b]{width:100%;height:2.5rem;flex:0 0 2.5rem;background-color:var(--color-background-dark);border-style:solid;border-width:0 0 1px 0;border-color:#2b2b2b;display:flex;place-content:flex-start;color:#fff;font-size:1.1rem;flex-direction:row;padding-left:1.5rem;overflow:hidden}.tools[data-v-2bd1751b]{width:0;flex-grow:1;flex-shrink:2;flex-direction:row;display:flex;gap:.85rem;overflow:hidden;align-items:center;white-space:nowrap;font-family:monospace}.tools[data-v-2bd1751b]>*{flex:0 0 auto}.tool-button[data-v-2bd1751b]{padding:0;color:inherit;background:transparent;border:0;border-radius:2px;cursor:pointer;font:inherit}.tool-button[data-v-2bd1751b]:hover{background-color:var(--color-background-soft)}.tool-button[data-v-2bd1751b]:focus-visible{outline:1px solid #c5c5c5;outline-offset:2px}.content[data-v-2bd1751b]{display:flex;width:100%;min-height:0;flex:1 1 auto;flex-direction:row;overflow:hidden}@media(max-width:800px){.header[data-v-2bd1751b]{flex-direction:column-reverse;height:4.5rem;flex-basis:4.5rem}.tools[data-v-2bd1751b]{width:100%}.title[data-v-2bd1751b]{width:100%;min-width:0;padding-left:0;padding-right:1.5rem;overflow:hidden;text-overflow:ellipsis}}.title[data-v-2bd1751b]{flex-grow:0;flex-shrink:0;text-align:right;padding-right:2rem;white-space:nowrap;padding-left:3rem}.footer[data-v-2bd1751b]{width:100%;height:1.5rem;flex:0 0 1.5rem;display:flex;flex-direction:row;border-style:solid;border-width:1px 0 0 0;border-color:#2b2b2b;padding-left:1rem;font-size:1rem}.footer svg[data-v-2bd1751b]{height:90%;aspect-ratio:1;padding:1px}.errors[data-v-2bd1751b]{margin-left:2rem;display:flex;flex-direction:row;font-size:1.2rem;align-items:center}.main[data-v-2bd1751b]{display:flex;width:100%;height:100vh;height:100dvh;flex-direction:column;overflow:hidden}.file-tag[data-v-e5449202]{display:flex;flex-direction:row;flex-grow:0;flex-shrink:0;height:2.75rem}.open-file[data-v-e5449202]{align-items:center;padding-left:20px;padding-right:20px;display:flex;flex-direction:row;flex-grow:0;border-style:solid;border-width:2px 0 0 0;border-color:#3376ce;font-style:italic}.tag-space[data-v-e5449202]{flex-grow:114514;border-style:solid;border-width:0 0 1px 1px;border-color:#2b2b2b}.file-view[data-v-e5449202]{width:100%;min-width:0;overflow:auto;flex-grow:114514;padding:3% 5% 8%;color:#faebd7}.terminal-panel[data-v-54892055]{display:flex;flex-direction:column;min-height:0;width:100%;background-color:var(--color-background);border-color:#2b2b2b;border-style:solid;border-width:1px 0 0;color:#c5c5c5;overflow:hidden}.terminal-title[data-v-54892055]{display:flex;height:2rem;flex:0 0 2rem;align-items:center;padding:0 1rem;border-color:#2b2b2b;border-style:solid;border-width:0 0 1px;color:var(--color-text);font-size:.9rem}.terminal-viewport[data-v-54892055]{width:100%;min-height:0;flex:1 1 auto;padding:.5rem 1rem .65rem;overflow:auto;cursor:text;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.95rem;line-height:1.3}.fastfetch[data-v-54892055]{width:max-content;min-width:max-content;margin-bottom:.65em;color:#fff;line-height:inherit;white-space:pre}.terminal-history[data-v-54892055],.history-entry[data-v-54892055]{width:100%}.terminal-line[data-v-54892055]{display:flex;width:100%;align-items:baseline}.prompt[data-v-54892055]{flex:0 0 auto;color:#fff;white-space:pre}.committed-command[data-v-54892055],.command-output[data-v-54892055]{white-space:pre-wrap;overflow-wrap:anywhere}.committed-command[data-v-54892055]{min-width:0}.command-output[data-v-54892055]{width:100%;color:#c5c5c5;font:inherit}.command-error[data-v-54892055]{width:100%;margin:0;color:#f48771;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.active-line[data-v-54892055]{min-width:max-content;flex-wrap:nowrap}.command-input[data-v-54892055]{min-width:8ch;flex:1 0 8ch;padding:0;color:#fff;background:transparent;border:0;border-radius:0;caret-color:#fff;font:inherit;line-height:inherit;outline:none}.visually-hidden[data-v-54892055]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.terminal-title[data-v-54892055]{padding:0 .75rem}.terminal-viewport[data-v-54892055]{padding:.5rem .75rem .65rem;font-size:.85rem}}.boot-flicker[data-v-e08e601a]{position:fixed;z-index:10000;inset:0;background:#171717;pointer-events:all;animation:boot-flicker-reveal-e08e601a .82s steps(1,end) both}@keyframes boot-flicker-reveal-e08e601a{0%,12%{opacity:1;background:#171717}13%,19%{opacity:.08}20%,31%{opacity:.92;background:#e8eef6}32%,39%{opacity:0}40%,48%{opacity:.68;background:#171717}49%,58%{opacity:0}59%,65%{opacity:.42;background:#8ba6c9}66%,76%{opacity:0}77%,82%{opacity:.18;background:#fff}83%,to{opacity:0}}.explor-edit[data-v-e08e601a]{display:flex;flex-direction:row;width:100%;height:100%;min-width:0}.editor[data-v-e08e601a]{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;overflow:auto}.main-pane[data-v-e08e601a]{display:flex;flex-direction:column;width:auto;height:100%;flex:1 1 0;min-width:0;min-height:0;overflow:hidden}.main-pane.with-explorer[data-v-e08e601a]{width:auto}.terminal[data-v-e08e601a]{height:0;flex:0 0 auto}.terminal-open .editor[data-v-e08e601a]{height:70%}.terminal-open .terminal[data-v-e08e601a]{height:30%}.explorer[data-v-e08e601a]{margin-top:1rem;min-height:100%;min-width:0;width:0;flex:0 0 auto;display:block;place-items:flex-start;font-size:1rem;border-style:solid;border-width:0 1px 0 0;border-color:#2b2b2b;overflow:hidden}.open-explorer[data-v-e08e601a]{width:min(20%,19rem)}.close-explorer[data-v-e08e601a]{width:0%}@media(max-width:800px){.explor-edit[data-v-e08e601a]{flex-direction:column-reverse}.editor[data-v-e08e601a]{height:100%}.main-pane.with-explorer[data-v-e08e601a]{height:70%;width:100%;flex:0 0 70%}.main-pane[data-v-e08e601a]:not(.with-explorer){height:100%;width:100%;flex:1 1 100%}.open-explorer[data-v-e08e601a]{height:30%;width:100%;flex-basis:30%}.close-explorer[data-v-e08e601a]{height:0;width:100%;flex-basis:0}.explorer[data-v-e08e601a]{margin-top:0;min-width:100%;min-height:0;border-style:solid;border-width:1px 0 0 0;border-color:#2b2b2b}.terminal-open .explorer[data-v-e08e601a]{height:0;flex-basis:0}.terminal-open .main-pane[data-v-e08e601a]{height:100%;width:100%;flex:1 1 100%}.terminal-open .editor[data-v-e08e601a]{height:70%}.terminal-open .terminal[data-v-e08e601a]{height:30%}}@media(prefers-reduced-motion:reduce){.boot-flicker[data-v-e08e601a]{animation-duration:1ms}}.editor-surface[data-v-e4c4fa77]{width:100%;height:100%;background-color:#171717;overflow:hidden}.bg[data-v-e4c4fa77]{position:fixed;z-index:9999;background-color:#ffffff60;inset:0;display:flex;align-items:center;justify-content:center;transform-origin:center;will-change:transform}.bg.is-sliding[data-v-e4c4fa77]{animation:splash-slide-left-e4c4fa77 .9s cubic-bezier(.58,.01,.72,1) both}.progress-track[data-v-e4c4fa77]{width:100%;height:.65rem;overflow:hidden;background-color:#292929}.progress-bar[data-v-e4c4fa77]{height:100%;background-color:#3376ce}.window[data-v-e4c4fa77]{width:min(28rem,calc(100vw - 2rem));height:clamp(11rem,25vh,15rem);background-color:var(--color-background-dark);border-width:2px;border-style:solid;border-color:#707070;display:flex;flex-direction:column;align-items:start;justify-content:space-between;font-size:1.3rem;color:#fff}.title[data-v-e4c4fa77]{padding:1rem 2rem 0;gap:.5rem}@keyframes splash-slide-left-e4c4fa77{0%{transform:translate(0) rotate(0)}14%{transform:translate(2.5vw) rotate(.35deg)}31%{transform:translate(-1.5vw) rotate(-.6deg)}48%{transform:translate(-9vw) rotate(.55deg)}65%{transform:translate(-31vw) rotate(-.4deg)}82%{transform:translate(-72vw) rotate(.2deg)}to{transform:translate(-110vw) rotate(0)}}@media(prefers-reduced-motion:reduce){.bg.is-sliding[data-v-e4c4fa77]{animation-duration:1ms}}.editor-surface[data-v-623bef6e]{background-color:#171717}
