.hero-field[data-v-640e58ff]{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.hero-field[data-v-640e58ff] canvas{display:block;height:100%!important;width:100%!important}.edu-card[data-v-943bda2a]{background:rgb(var(--c-surface)/.5);transition:border-color .35s var(--ease-expo),transform .35s var(--ease-expo)}@media(hover:hover)and (pointer:fine){.edu-card[data-v-943bda2a]:hover{border-color:rgb(var(--c-accent)/.6);transform:translateY(-2px)}}.heroSection[data-v-24aa46ea]{overflow:hidden;position:relative;width:100%;z-index:2}@media(max-height:720px){.hero-inner[data-v-24aa46ea]{gap:1.5rem;padding-top:6rem}}@media(max-height:560px){.hero-inner[data-v-24aa46ea]{gap:1rem;padding-top:5rem}}.hero-glow[data-v-24aa46ea]{background:radial-gradient(circle at center,rgb(var(--c-accent)/.14) 0,rgb(var(--c-glow)/.07) 40%,transparent 70%);border-radius:9999px;filter:blur(40px);height:60vw;max-height:900px;max-width:900px;pointer-events:none;position:absolute;right:-10%;top:-20%;width:60vw}.scroll-line[data-v-24aa46ea]{background:currentColor;display:block;height:44px;overflow:hidden;position:relative;width:1px}.scroll-line[data-v-24aa46ea]:after{animation:scroll-drip-24aa46ea 2.2s cubic-bezier(.76,0,.24,1) infinite;background:rgb(var(--c-accent));content:"";inset:0;position:absolute;transform:translateY(-100%)}@keyframes scroll-drip-24aa46ea{0%{transform:translateY(-100%)}55%{transform:translateY(0)}to{transform:translateY(100%)}}.portrait-wrap[data-v-24aa46ea]{border:1px solid rgb(var(--c-line)/.7);overflow:hidden}.portrait[data-v-24aa46ea]{display:block;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.skills-panel[data-v-e107e660]{height:0}.skill-pill[data-v-e107e660]{align-items:center;border-radius:9999px;border-width:1px;color:rgb(var(--c-ink-muted)/var(--tw-text-opacity,1));display:flex;gap:.625rem;padding:.625rem 1rem;transition:transform .35s var(--ease-expo),border-color .35s var(--ease-expo),color .35s var(--ease-expo)}.skill-pill[data-v-e107e660],.skill-pill.is-featured[data-v-e107e660]{--tw-border-opacity:1;border-color:rgb(var(--c-line)/var(--tw-border-opacity,1));--tw-text-opacity:1}.skill-pill.is-featured[data-v-e107e660]{color:rgb(var(--c-ink)/var(--tw-text-opacity,1))}@media(hover:hover)and (pointer:fine){.skill-pill[data-v-e107e660]:hover{--tw-border-opacity:1;border-color:rgb(var(--c-accent)/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(var(--c-ink)/var(--tw-text-opacity,1))}}.tip-wrap[data-v-becb7600]{display:inline-block;position:relative}.tip[data-v-becb7600]{border:1px solid rgb(var(--c-line));border-radius:.5rem;bottom:calc(100% + 10px);box-shadow:0 12px 28px -12px #00000073;color:rgb(var(--c-ink));font-size:.8125rem;font-weight:400;left:50%;line-height:1.45;max-width:min(18rem,calc(100vw - 2rem));opacity:0;padding:.5rem .75rem;pointer-events:none;text-align:left;transform:translate(calc(-50% + var(--tip-shift, 0px)),4px);transition:opacity .18s var(--ease-expo),transform .18s var(--ease-expo),visibility .18s;visibility:hidden;white-space:normal;width:-moz-max-content;width:max-content;z-index:40}.tip[data-v-becb7600],.tip[data-v-becb7600]:after{background:rgb(var(--c-surface));position:absolute}.tip[data-v-becb7600]:after{border-bottom:1px solid rgb(var(--c-line));border-right:1px solid rgb(var(--c-line));content:"";height:8px;left:calc(50% - var(--tip-shift, 0px));margin-left:-4px;margin-top:-4px;top:100%;transform:rotate(45deg);width:8px}.tip.is-open[data-v-becb7600]{opacity:1;transform:translate(calc(-50% + var(--tip-shift, 0px)));visibility:visible}@media(prefers-reduced-motion:reduce){.tip[data-v-becb7600]{transition:none}}.exp-timeline[data-v-280fb410]{--rail-x:7px;--content-pad:2rem}@media(min-width:640px){.exp-timeline[data-v-280fb410]{--content-pad:3rem}}.exp-content[data-v-280fb410]{padding-left:var(--content-pad)}.exp-rail[data-v-280fb410]{bottom:0;left:calc(var(--rail-x) - 1px);top:14px}.exp-node[data-v-280fb410]{left:calc(var(--rail-x) - var(--content-pad) - 6px);top:8px}.pkg-card[data-v-7cc94533]{background:rgb(var(--c-surface)/.5);transition:border-color .4s var(--ease-expo),transform .4s var(--ease-expo)}@media(hover:hover)and (pointer:fine){.pkg-card[data-v-7cc94533]:hover{border-color:rgb(var(--c-accent)/.6);transform:translateY(-4px)}}
