.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.skill-tag{display:inline-flex;align-items:center;padding:.25rem .75rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:9999px;font-size:.875rem;font-weight:500;color:#374151;cursor:default;transition:all .2s cubic-bezier(.4,0,.2,1)}.skill-tag:hover{transform:scale(1.05);border-color:#818cf8;background-color:#eef2ff;color:#4f46e5}.dark .skill-tag{background-color:#1f2937;border-color:#374151;color:#d1d5db}.dark .skill-tag:hover{background-color:#312e81;border-color:#6366f1;color:#a5b4fc}.footer-btn{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background-color:transparent;border:1px solid transparent;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#9ca3af;transition:all .3s ease;cursor:pointer}.group:hover .footer-btn{background-color:#1f293780}.group:hover .icon-linkedin{color:#0077b5}.group:hover .icon-github{color:#3ccf91}.group:hover .icon-email{color:#818cf8}html{overflow-x:clip;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}#scroll-progress-container{position:fixed;right:0;top:0;width:4px;height:100vh;height:100lvh;background-color:#e5e7eb4d;z-index:100}.dark #scroll-progress-container{background-color:#3741514d}#scroll-progress-bar{width:100%;height:0%;background:linear-gradient(to bottom,#818cf8,#4f46e5);box-shadow:0 0 8px #4f46e580;transition:height .1s ease-out}#scrollToTopBtn{transition:opacity .3s ease,transform .3s ease;will-change:opacity,transform}@view-transition{navigation:auto}@keyframes float-natural{0%{transform:translate(0) rotate(0)}33%{transform:translate(2px,-5px) rotate(.8deg)}66%{transform:translate(-2px,-7px) rotate(-.8deg)}to{transform:translate(0) rotate(0)}}.animate-floating{animation:float-natural 8s cubic-bezier(.45,.05,.55,.95) infinite}@keyframes profile-ring-sweep{0%{opacity:.24;transform:rotate(var(--profile-ring-sweep-start, 0deg));filter:blur(0px)}18%{opacity:.2}45%{opacity:.12}70%{opacity:.07}to{opacity:0;transform:rotate(calc(var(--profile-ring-sweep-start, 0deg) + 360deg));filter:blur(.35px)}}.profile-ring{isolation:isolate;transition:transform .62s cubic-bezier(.22,.8,.2,1),box-shadow .68s ease}.profile-ring:before{content:"";position:absolute;inset:-4px;border-radius:9999px;padding:4px;background:radial-gradient(var(--profile-ring-spot-size, 86px) circle at var(--profile-ring-spot-x, 50%) var(--profile-ring-spot-y, 50%),rgba(236,238,255,calc(.62 * var(--profile-ring-proximity, 0))) 0%,rgba(165,175,252,calc(.36 * var(--profile-ring-proximity, 0))) 40%,rgba(129,140,248,calc(.14 * var(--profile-ring-proximity, 0))) 62%,transparent 100%);opacity:1;pointer-events:none;z-index:2;transition:opacity .26s cubic-bezier(.22,.8,.2,1);transform:rotate(0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}@media(pointer:coarse),(hover:none){.profile-ring:hover:before{animation:profile-ring-sweep 1.15s cubic-bezier(.22,.8,.2,1) 1 both}}@media(hover:hover),(any-hover:hover){.profile-ring:before{animation:none;opacity:1;transition:opacity .22s cubic-bezier(.2,.75,.25,1)}.profile-ring.profile-ring--rim-holdoff:before{opacity:0}}.profile-ring.profile-ring--sweep:before,.profile-ring.profile-ring--sweep:hover:before{animation:profile-ring-sweep 1.15s cubic-bezier(.22,.8,.2,1) 1 both;background:conic-gradient(from 0deg,#fff0 0deg 300deg,#e0e7ffb8 326deg,#818cf894 346deg,#fff0 360deg)}.profile-ring:hover{transform:scale(1.004);box-shadow:0 14px 30px #6366f11f}.hover-wiggle{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.group:hover .hover-wiggle,.hover-wiggle:hover{transform:scale(1.15) rotate(-10deg)}.hover-pop{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.group:hover .hover-pop,.hover-pop:hover{transform:scale(1.15)}.hover-email .email-state-closed,.hover-email .email-state-open{transition:opacity .35s ease}.hover-email .email-state-open{opacity:0}.hover-email .email-open-letter{transform:translateY(0);transition:transform .45s cubic-bezier(.34,1.56,.64,1) .1s}.hover-email .email-open-flap-front,.hover-email .email-open-flap-back{transform-origin:center 112px;transition:transform .42s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}.hover-email .email-open-flap-front{opacity:1;transform:translateY(0) scaleY(1)}.hover-email .email-open-flap-back{opacity:0;transform:translateY(-30px) scaleY(.05)}.group:hover .hover-email .email-state-closed,.hover-email:hover .email-state-closed{opacity:0}.group:hover .hover-email .email-state-open,.hover-email:hover .email-state-open{opacity:1}.group:hover .hover-email .email-open-letter,.hover-email:hover .email-open-letter{transform:translateY(-70px)}.group:hover .hover-email .email-open-flap-front,.hover-email:hover .email-open-flap-front{opacity:0;transform:translateY(-30px) scaleY(.05)}.group:hover .hover-email .email-open-flap-back,.hover-email:hover .email-open-flap-back{opacity:1;transform:translateY(-30px) scaleY(.05)}.footer-name-wrapper{position:relative;overflow:visible}.footer-name-wrapper:after{content:"";position:absolute;inset:-20px -40px;background:radial-gradient(420px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(129,140,248,.32),transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:-1}.footer-name-wrapper:hover:after{opacity:1}.footer-name-vfx-base{position:relative;z-index:0;font-weight:inherit;color:inherit}.footer-name-vfx-sweep{position:absolute;left:0;top:0;z-index:1;font-weight:inherit;pointer-events:none;background:linear-gradient(90deg,transparent 0%,transparent 50%,rgba(255,255,255,.98) 58%,rgba(255,255,255,.95) 65%,transparent 72%,transparent 100%);background-size:200% 100%;background-repeat:no-repeat;background-position:0 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;opacity:0;transition:opacity .18s ease-out}.footer-name-wrapper:hover .footer-name-vfx-sweep{opacity:1;background-position:100% 0;transition:opacity .2s ease,background-position .55s cubic-bezier(.4,0,.2,1)}.footer-name-char{display:inline-block;transition:transform .35s cubic-bezier(.4,0,.2,1);transition-delay:calc(var(--char-index) * 22ms)}.footer-name-wrapper:hover .footer-name-char{transform:translateY(-1.2px)}.hero-name-vfx:after{display:none}.hero-name-vfx .footer-name-vfx-base,.hero-name-vfx .footer-name-vfx-sweep{font-size:inherit;line-height:inherit}.hero-name-vfx .footer-name-char{font-size:inherit;line-height:inherit;transform-origin:50% 70%}@keyframes hero-wave-expand{0%,to{transform:translateY(0)}40%{transform:translateY(-2px)}70%{transform:translateY(-.5px)}}.hero-name-vfx:hover .hero-wave-char{animation:hero-wave-expand .55s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--char-index) * 26ms)}@media(min-width:1024px){.hero-name-vfx .hero-wave-char{animation:none!important;transform:translate(var(--hero-shift-x, 0px),var(--hero-shift-y, 0px));transition:transform .18s cubic-bezier(.22,.8,.2,1)}.hero-name-vfx:hover .hero-wave-char{animation:none!important;transform:translate(var(--hero-shift-x, 0px),var(--hero-shift-y, 0px))}.footer-magnetic-vfx .footer-name-char{animation:none!important;transform:translate(var(--hero-shift-x, 0px),var(--hero-shift-y, 0px));transition:transform .18s cubic-bezier(.22,.8,.2,1)}.footer-magnetic-vfx:hover .footer-name-char{animation:none!important;transform:translate(var(--hero-shift-x, 0px),var(--hero-shift-y, 0px))}}.footer-design-wrapper{position:relative;overflow:visible}.footer-design-base{position:relative;z-index:0;color:inherit;transition:none}.footer-design-reflection{position:absolute;left:0;top:0;z-index:1;pointer-events:none;background:radial-gradient(120px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.9) 0%,rgba(255,255,255,.5) 12%,rgba(255,255,255,.15) 25%,transparent 45%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;opacity:var(--design-proximity, 0);transition:opacity .25s ease}.navbar-brand-vfx{width:max-content}.navbar-brand-stack{position:relative;display:inline-block;isolation:isolate}.navbar-brand-vfx .navbar-brand-shadow{position:absolute;left:0;top:0;z-index:0;pointer-events:none;font-weight:inherit;color:#0f172a52;transform:translate(.7px,1.45px)}.dark .navbar-brand-vfx .navbar-brand-shadow{color:#0000008c}.navbar-brand-vfx .footer-design-base{position:relative;z-index:1;text-shadow:0 1px 0 rgba(255,255,255,.38),0 -1px 0 rgba(15,23,42,.06),.5px .75px 0 rgba(15,23,42,.1)}.dark .navbar-brand-vfx .footer-design-base{text-shadow:0 1px 0 rgba(255,255,255,.06),0 2px 4px rgba(0,0,0,.55),0 -1px 0 rgba(0,0,0,.35)}.navbar-brand-vfx .footer-design-reflection{z-index:1;background-color:transparent;background-image:radial-gradient(48px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.95) 0%,rgba(255,255,255,.42) 45%,transparent 72%),radial-gradient(175px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.48) 0%,rgba(199,210,254,.18) 32%,rgba(129,140,248,.06) 52%,transparent 68%);background-repeat:no-repeat,no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.dark .navbar-brand-vfx .footer-design-reflection{background-image:radial-gradient(56px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(238,242,255,.88) 0%,rgba(165,180,252,.38) 48%,transparent 76%),radial-gradient(185px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(199,210,254,.32) 0%,rgba(99,102,241,.12) 38%,transparent 62%)}.navbar-brand-vfx .navbar-logo-char-main{color:#111827}.navbar-brand-vfx .navbar-logo-char-muted{color:#9ca3af}.dark .navbar-brand-vfx .navbar-logo-char-main{color:#f9fafb}.dark .navbar-brand-vfx .navbar-logo-char-muted{color:#4b5563}.navbar-brand-vfx .navbar-logo-wave .footer-name-vfx-base{text-shadow:0 1px 0 rgba(255,255,255,.38),0 -1px 0 rgba(15,23,42,.06),.5px .75px 0 rgba(15,23,42,.1)}.dark .navbar-brand-vfx .navbar-logo-wave .footer-name-vfx-base{text-shadow:0 1px 0 rgba(255,255,255,.06),0 2px 4px rgba(0,0,0,.55),0 -1px 0 rgba(0,0,0,.35)}.navbar-brand-vfx .navbar-brand-metallic-overlay{position:absolute;left:0;top:0;z-index:2;pointer-events:none}.navbar-brand-vfx .navbar-brand-metallic-char{color:transparent;-webkit-text-fill-color:transparent}
