@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap";:root{--font-family: "Poppins", "SF Pro Text", system-ui, sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Source Code Pro", monospace;--text-color: #000000;--text-secondary: #888888;--text-primary: #1a1a1a;--secondary-color: #555555;--background: #ffffff;--max-width: 800px;--spacing: 2rem;--spacing-sm: 1rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--nav-height: 80px;--nav-height-mobile: 70px;--nav-background: rgba(255, 255, 255, .95);--animation-duration: .8s;--animation-easing: ease-out;--animation-bezier: cubic-bezier(.4, 0, .2, 1);--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px}:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--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-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--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:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-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}@font-face{font-family:Poppins;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);color:var(--text-color);background:var(--background);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;overflow:hidden;display:flex;flex-direction:column}#app{height:100vh;display:flex;flex-direction:column}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing)}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.4;margin:0;color:var(--text-primary)}p{margin:0;line-height:1.6}a{color:var(--text-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--text-primary)}button{font-family:inherit;cursor:pointer;border:none;background:none;outline:none}::selection{background:#1a1a1a1a}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}:root{--animation-duration: .6s;--animation-easing: cubic-bezier(.4, 0, .2, 1);--animation-bezier: cubic-bezier(.4, 0, .2, 1);--animation-duration-fast: .3s;--animation-duration-slow: .8s;--skill-width: auto;--skill-padding: .25em;--fluid-font-min: 1rem;--fluid-font-max: 4.5rem;--fluid-font-scale: 4vw}.word{display:inline-flex;align-items:baseline;opacity:0;transform:translateY(.5em);will-change:opacity,transform;animation:fadeInWord var(--animation-duration) var(--animation-easing) forwards;backface-visibility:hidden;transform:translateZ(0)}@keyframes fadeInWord{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:translateY(0)}}.skill-rolodex{--skill-width: auto;--padding-horizontal: var(--skill-padding);position:relative;display:inline-block;white-space:nowrap;height:1em;overflow:hidden;vertical-align:baseline;width:var(--skill-width);transition:width .5s var(--animation-bezier);padding:0 var(--padding-horizontal);transform:translateY(.15em);will-change:width;contain:layout style;transform:translateZ(0)}.skill-display{position:absolute;top:50%;left:var(--padding-horizontal);width:calc(100% - calc(var(--padding-horizontal) * 2));display:inline-block;line-height:inherit;transform:translateY(-50%);font-weight:600;color:var(--text-primary, #1a1a1a);white-space:nowrap;overflow:visible;will-change:transform;backface-visibility:hidden;transform:translateZ(0) translateY(-50%)}.skill-transition-enter-active{transition:transform .5s var(--animation-bezier);transition-delay:.1s}.skill-transition-leave-active{transition:transform .4s var(--animation-bezier)}.skill-transition-enter-from{transform:translateY(-50%) translateY(100%)}.skill-transition-leave-to{transform:translateY(-50%) translateY(-100%)}.footer-letter{display:inline-block;transition:transform .8s cubic-bezier(.25,.46,.45,.94);transform-origin:bottom center;will-change:transform;backface-visibility:hidden}.footer-letter.space{width:.3em}.footer-letter.bobbing{animation:footerBob 1.2s cubic-bezier(.25,.46,.45,.94) forwards}.footer-letter.settling{animation:footerSettle 2.4s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes footerBob{0%{transform:translateY(0) translateZ(0)}40%{transform:translateY(-6px) translateZ(0)}70%{transform:translateY(-3px) translateZ(0)}to{transform:translateY(0) translateZ(0)}}@keyframes footerSettle{0%{transform:translateY(0) translateZ(0)}20%{transform:translateY(-4px) translateZ(0)}40%{transform:translateY(-1px) translateZ(0)}60%{transform:translateY(-2px) translateZ(0)}80%{transform:translateY(-.5px) translateZ(0)}to{transform:translateY(0) translateZ(0)}}@container (max-width: 768px){:root{--skill-padding: .2em;--animation-duration: .5s}}@container (max-width: 480px){:root{--skill-padding: .15em;--animation-duration: .4s}}@media (max-width: 768px){:root{--skill-padding: .2em;--animation-duration: .5s}.word{animation-duration:var(--animation-duration-fast)}}@media (max-width: 480px){:root{--skill-padding: .15em;--animation-duration: .4s}}@media (prefers-reduced-motion: reduce){:root{--animation-duration: .1s;--animation-duration-fast: .05s;--animation-duration-slow: .15s}.word,.skill-rolodex,.skill-transition-enter-active,.skill-transition-leave-active,.footer-letter{transition:none;animation:none}.word{opacity:1;transform:translateY(0)}.skill-transition-enter-from,.skill-transition-leave-to{transform:translateY(-50%)}}@media (prefers-contrast: high){.skill-display{font-weight:700}}@media print{.word,.skill-rolodex,.footer-letter{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.skill-display,.word{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-color-scheme: dark){.skill-display{color:var(--text-primary-dark, #ffffff)}.word{color:var(--text-secondary-dark, #cccccc)}}.word:focus-visible,.skill-rolodex:focus-visible{outline:2px solid var(--focus-color, #0066cc);outline-offset:2px}.navigation[data-v-6190a829]{position:fixed;top:0;left:0;right:0;background:var(--nav-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(26,26,26,.25);z-index:100;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing) var(--spacing);height:var(--nav-height);transition:transform .3s ease}.nav-brand[data-v-6190a829]{font-weight:600;font-size:18px;color:var(--text-color);font-family:var(--font-mono);text-decoration:none;transition:color .2s ease}.nav-brand[data-v-6190a829]:hover{color:var(--secondary-color)}.nav-links[data-v-6190a829]{display:flex;gap:var(--spacing)}.nav-link[data-v-6190a829]{color:var(--secondary-color);text-decoration:none;font-weight:400;transition:color .2s ease;font-family:var(--font-mono)}.nav-link[data-v-6190a829]:hover{color:var(--text-color)}@media (max-width: 768px){.navigation[data-v-6190a829]{padding:var(--spacing-sm) var(--spacing);height:var(--nav-height-mobile)}.nav-links[data-v-6190a829]{gap:var(--spacing-sm)}}@media (max-width: 480px){.nav-brand[data-v-6190a829]{font-size:16px}.nav-links[data-v-6190a829]{flex-direction:column;gap:8px}.navigation[data-v-6190a829]{flex-direction:column;align-items:flex-start;height:auto;padding:var(--spacing-sm)}}.last-updated[data-v-cccc3d4e]{color:var(--secondary-color);font-size:14px;margin:0;font-family:var(--font-mono);display:flex;gap:.5em;align-items:baseline;justify-content:center;width:100%}.footer-word[data-v-cccc3d4e]{display:inline-flex;opacity:0;transform:translateY(.3em);will-change:opacity,transform}.animation-started .footer-word[data-v-cccc3d4e]{animation:fadeInFooterWord-cccc3d4e .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes fadeInFooterWord-cccc3d4e{0%{opacity:0;transform:translateY(.3em)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.footer-word[data-v-cccc3d4e]{animation:fadeInFooterWordReduced-cccc3d4e .1s ease forwards!important}@keyframes fadeInFooterWordReduced-cccc3d4e{0%{opacity:0}to{opacity:1}}}.footer-word[data-v-cccc3d4e]{transform:translateZ(0);backface-visibility:hidden}.ascii-canvas[data-v-05306f75],.ascii-vignette[data-v-05306f75]{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.ascii-canvas[data-v-05306f75]{display:block;z-index:-1}.ascii-vignette[data-v-05306f75]{z-index:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(255,255,255,.55) 70%,rgba(255,255,255,.92) 100%)}#app[data-v-eb7800df]{position:relative;display:flex;flex-direction:column;min-height:100vh}.router-container[data-v-eb7800df]{position:relative;flex:1;display:flex;flex-direction:column}.bottom-footer[data-v-eb7800df]{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing) 0;text-align:center}.footer-fade-enter-active[data-v-eb7800df]{transition:all .5s ease-out;transition-delay:.3s}.footer-fade-leave-active[data-v-eb7800df]{transition:all .2s ease-in}.footer-fade-enter-from[data-v-eb7800df]{opacity:0;transform:translateY(15px)}.footer-fade-enter-to[data-v-eb7800df],.footer-fade-leave-from[data-v-eb7800df]{opacity:1;transform:translateY(0)}.footer-fade-leave-to[data-v-eb7800df]{opacity:0;transform:translateY(-15px)}.shader-fade-enter-active[data-v-eb7800df]{transition:opacity 1.5s ease}.shader-fade-leave-active[data-v-eb7800df]{transition:opacity .6s ease}.shader-fade-enter-from[data-v-eb7800df],.shader-fade-leave-to[data-v-eb7800df]{opacity:0}.depth-shift-enter-active[data-v-eb7800df],.depth-shift-leave-active[data-v-eb7800df]{transition:all .8s cubic-bezier(.25,.1,.25,1)}.depth-shift-enter-active[data-v-eb7800df]{transition-delay:.2s}.depth-shift-enter-from[data-v-eb7800df]{opacity:0;transform:scale(1.05) translateZ(0);filter:blur(2px)}.depth-shift-enter-to[data-v-eb7800df],.depth-shift-leave-from[data-v-eb7800df]{opacity:1;transform:scale(1) translateZ(0);filter:blur(0)}.depth-shift-leave-to[data-v-eb7800df]{opacity:0;transform:scale(.95) translateZ(0);filter:blur(1px)}.main-content[data-v-1fa49a1d]{flex:1;display:flex;align-items:center;justify-content:flex-start;text-align:left;padding:0 var(--spacing);min-height:calc(100vh - var(--nav-height) - 120px)}@media (max-width: 768px){.main-content[data-v-1fa49a1d]{min-height:calc(100vh - var(--nav-height-mobile) - 120px)}}
