.nav-link[data-v-b0714633]{display:inline-flex;flex-direction:column}.nav-underline[data-v-b0714633]{background:var(--color-accent);border-radius:1px;display:block;height:2px;transform:scaleX(0);transform-origin:right;transition:transform .25s ease-out,transform-origin 0s .25s}.nav-underline--active[data-v-b0714633]{transform:scaleX(1);transform-origin:left;transition:transform .25s ease-out}@media(prefers-reduced-motion:reduce){.nav-underline[data-v-b0714633]{transition:none}}.particle-canvas[data-v-b0e993e8]{mask-image:radial-gradient(ellipse at center,#000 45%,transparent 95%);-webkit-mask-image:radial-gradient(ellipse at center,#000 45%,transparent 95%)}.hero-dot[data-v-9c93dc9e]{background:currentColor;border-radius:50%;height:.18em;margin-bottom:.15em;margin-left:.04em;width:.18em}:root:not(.dark) .hero-content[data-v-9c93dc9e]:before{background:radial-gradient(ellipse at center,var(--color-bg) 25%,transparent 70%);content:"";inset:-5rem -12rem;pointer-events:none;position:absolute;z-index:-1}.atmosphere-blob[data-v-9c93dc9e]{border-radius:9999px;display:block;filter:blur(90px);position:absolute;will-change:transform}.atmosphere-blob-a[data-v-9c93dc9e]{animation:atmosphere-drift-a-9c93dc9e 26s ease-in-out infinite;background:radial-gradient(circle,rgba(30,120,65,.55),transparent 65%);height:42rem;left:-8rem;top:-10rem;width:42rem}.atmosphere-blob-b[data-v-9c93dc9e]{animation:atmosphere-drift-b-9c93dc9e 32s ease-in-out infinite;background:radial-gradient(circle,rgba(22,85,55,.6),transparent 70%);height:34rem;right:-10rem;top:4rem;width:34rem}.atmosphere-blob-c[data-v-9c93dc9e]{animation:atmosphere-drift-c-9c93dc9e 38s ease-in-out infinite;background:radial-gradient(circle,rgba(18,70,45,.55),transparent 70%);bottom:-12rem;height:38rem;left:35%;width:38rem}:root:not(.dark) .atmosphere-blob[data-v-9c93dc9e]{opacity:.35}@keyframes atmosphere-drift-a-9c93dc9e{0%,to{transform:translate(0) scale(1)}50%{transform:translate(3rem,2rem) scale(1.12)}}@keyframes atmosphere-drift-b-9c93dc9e{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-2.5rem,3rem) scale(.9)}}@keyframes atmosphere-drift-c-9c93dc9e{0%,to{transform:translate(0) scale(1)}50%{transform:translate(2rem,-3rem) scale(1.1)}}@media(prefers-reduced-motion:reduce){.atmosphere-blob[data-v-9c93dc9e]{animation:none}}.stat-card[data-v-bfa8fabc]{transition:border-color .2s ease}.stat-card[data-v-bfa8fabc]:hover{border-color:var(--color-fg-subtle)}.stat-bar[data-v-bfa8fabc]{background:var(--color-accent);border-radius:0 1px 1px 0;bottom:18%;left:0;position:absolute;top:18%;transform:scaleY(0);transform-origin:bottom;width:2px}.stat-card:hover .stat-bar[data-v-bfa8fabc]{animation:vu-meter-bfa8fabc 2.4s ease-in-out infinite}.stat-card:nth-child(2):hover .stat-bar[data-v-bfa8fabc]{animation-delay:-.9s;animation-duration:2.1s}@keyframes vu-meter-bfa8fabc{0%{transform:scaleY(.22)}6%{transform:scaleY(.92)}18%{transform:scaleY(.38)}25%{transform:scaleY(1)}38%{transform:scaleY(.42)}47%{transform:scaleY(.78)}59%{transform:scaleY(.26)}67%{transform:scaleY(.68)}79%{transform:scaleY(.38)}88%{transform:scaleY(.85)}to{transform:scaleY(.22)}}@media(prefers-reduced-motion:reduce){.stat-bar[data-v-bfa8fabc]{animation:none;transform:scaleY(.5)}}.skill-spotlight[data-v-b2ac3dbf]{background:radial-gradient(circle at var(--mx,50%) var(--my,50%),color-mix(in oklch,var(--color-accent) 14%,transparent) 0,transparent 65%);border-radius:inherit;inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s ease}.skill-spotlight--active[data-v-b2ac3dbf]{opacity:1}@media(prefers-reduced-motion:reduce){.skill-spotlight[data-v-b2ac3dbf]{display:none}}.favicon-wrapper[data-v-e9728d20]{display:inline-flex;flex-shrink:0;overflow:hidden;transition:width .22s ease;width:0}.favicon-wrapper--active[data-v-e9728d20]{width:22px}.favicon-wrapper img[data-v-e9728d20]{flex-shrink:0;opacity:0;transform:translate(-10px);transition:opacity .18s ease 60ms,transform .18s ease 60ms}.favicon-wrapper--active img[data-v-e9728d20]{opacity:1;transform:translate(0)}.project-spotlight[data-v-e9728d20]{background:radial-gradient(circle at var(--mx,50%) var(--my,50%),color-mix(in oklch,var(--color-accent) 14%,transparent) 0,transparent 65%);border-radius:inherit;inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s ease}.project-spotlight--active[data-v-e9728d20]{opacity:1}@media(prefers-reduced-motion:reduce){.project-spotlight[data-v-e9728d20]{display:none}.favicon-wrapper[data-v-e9728d20],.favicon-wrapper img[data-v-e9728d20]{transition:none}}
