.swiper{overflow:hidden}.swiper-initialized{touch-action:pan-y}.swiper-wrapper{box-sizing:content-box;display:flex;height:100%;position:relative;width:100%}.swiper-vertical .swiper-wrapper{flex-direction:column}.swiper-autoheight .swiper-wrapper{align-items:flex-start}.swiper-initialized .swiper-slide{flex-shrink:0}.swiper-android .swiper-slide,.swiper-android .swiper-wrapper{transform:translateZ(0)}.swiper-button-lock{display:none!important}.is-animated-down{animation:animated-down .4s forwards;animation-delay:var(--anime-delay,.5s);opacity:0;transform:translateY(-1.875rem);transition:transform .5s ease,opacity .5s ease}@keyframes animated-down{to{opacity:1;transform:translateY(0)}}.is-animated-up{animation:animated-up .4s forwards;animation-delay:var(--anime-delay,.5s);opacity:0;transform:translateY(1.875rem);transition:transform .5s ease,opacity .5s ease}@keyframes animated-up{to{opacity:1;transform:translateY(0)}}@keyframes is-animated-right{to{opacity:1;transform:translateX(0)}}@keyframes is-animated-left{to{opacity:1;transform:translateX(0)}}@-webkit-keyframes rotate-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.hero-section{align-items:center;display:flex;position:relative}.hero-section .code-grid-bg{animation:gridMove 20s linear infinite;background-image:linear-gradient(var(--primary) .0625rem,transparent .0625rem),linear-gradient(90deg,var(--primary) .0625rem,transparent .0625rem);background-size:3.125rem 3.125rem;height:100%;left:0;opacity:.05;position:absolute;top:0;width:100%}.hero-section .hero__container{align-items:center;display:grid;gap:4rem;position:relative;z-index:1}.hero-section .hero-greeting{align-items:center;color:var(--primary);display:flex;font-family:var(--font-code);font-size:clamp(1rem,.943rem + .24vw,1.188rem);margin-bottom:1vh}.hero-section .greeting-text{margin-right:.8ch}.hero-section .greeting-cursor{animation:blink 1s infinite;color:var(--primary)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-section .name-prefix{color:var(--purple)}.hero-section .name-operator{color:var(--cyan);margin:0 .5rem}.hero-section .name-value{background:var(--gradient-1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-section .name-suffix{color:var(--primary)}.hero-section .hero-name{font-family:var(--font-code);font-size:clamp(1.75rem,1.061rem + 2.94vw,4rem);font-weight:700;line-height:1.2;margin-bottom:2vh}.hero-section .title-prefix{color:var(--text-muted);margin-inline-end:.2rem}.hero-section .hero-title{color:var(--cyan);font-family:var(--font-code);font-size:clamp(1.125rem,1.01rem + .49vw,1.5rem);margin-bottom:2vh}.hero-section .hero-description{color:var(--text-secondary);font-size:clamp(.875rem,.818rem + .24vw,1.063rem);line-height:1.8;margin-bottom:1.5vh}.hero-section .hero-description:last-of-type{margin-bottom:4vh}.hero-section .hero-buttons{flex-wrap:wrap;margin-bottom:3vh}.hero-section .hero-buttons,.hero-section .hero-social{display:flex;gap:clamp(.625rem,.204rem + 1.8vw,2rem)}.hero-section .social-icon{align-items:center;background:var(--bg-card);border:.0625rem solid var(--border);border-radius:.75rem;color:var(--text-secondary);display:flex;height:3.125rem;justify-content:center;text-decoration:none;transition:all var(--transition);width:3.125rem}.hero-section .social-icon:hover{background:var(--bg-hover);border-color:var(--primary);box-shadow:0 .3125rem .9375rem rgba(192,132,252,.2);color:var(--primary);transform:translateY(-.1875rem)}.hero-section .hero-image-wrapper{display:none}.hero-section .hero-image-container{height:25rem;position:relative;width:25rem}.hero-section .profile-image-glow{animation:pulse 3s ease-in-out infinite;background:radial-gradient(circle,rgba(255,107,157,.2) 0,transparent 70%);border-radius:50%;height:120%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:120%}@keyframes pulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.1)}}.hero-section .profile-image-frame{background:var(--bg-card);border:.25rem solid var(--primary);border-radius:50%;box-shadow:0 0 1.875rem rgba(255,107,157,.3),0 0 3.75rem rgba(255,107,157,.1);height:100%;overflow:hidden;position:relative;width:100%}.hero-section .profile-image{align-items:center;background:var(--bg-card);display:flex;height:100%;justify-content:center;width:100%;will-change:transform}.hero-section .profile-placeholder{color:var(--primary);font-size:8rem;opacity:.3}.hero-section .floating-badge{align-items:center;animation:floatBadge 3s ease-in-out infinite;background:var(--bg-card);border:.0625rem solid var(--border);border-radius:1rem;box-shadow:var(--shadow-md);color:var(--text-primary);display:flex;font-weight:600;gap:1rem;min-width:12.5rem;padding:1rem 1.5rem;position:absolute;transition:all var(--transition);transition:all var(--transition-smooth)}.hero-section .floating-badge:hover{border-color:var(--primary);box-shadow:0 .3125rem 1.25rem rgba(192,132,252,.25);transform:translateY(-.1875rem) scale(1.03)}.hero-section .badge-content{display:flex;flex-direction:column;gap:.3rem}.hero-section .badge-icon{align-items:center;color:var(--primary);display:flex;flex-shrink:0;height:2rem;justify-content:center;width:2rem}.hero-section .badge-icon img,.hero-section .badge-icon svg{height:100%;object-fit:contain;object-position:center;width:100%}.hero-section .badge-title{color:var(--text-primary);font-size:1rem;font-weight:700}.hero-section .badge-libs{color:var(--text-secondary);font-size:.75rem;font-weight:400;line-height:1.4}.hero-section .badge-1{animation-delay:0s;right:-10%;top:10%}.hero-section .badge-2{animation-delay:1s;bottom:20%;right:-15%}.hero-section .badge-3{animation-delay:2s;left:-15%;top:50%}@keyframes floatBadge{0%,to{transform:translateY(0)}50%{transform:translateY(-1.25rem)}}.hero-section .scroll-indicator{align-items:center;bottom:clamp(.625rem,-.045rem + 2.86vw,2.813rem);color:var(--text-secondary);display:flex;flex-direction:column;font-size:.9rem;gap:.5rem;left:50%;position:absolute;transform:translateX(-50%);z-index:2}.hero-section .scroll-mouse{border:.125rem solid var(--border);border-radius:.9375rem;display:flex;height:3.125rem;justify-content:center;padding-top:.5rem;width:1.875rem}.hero-section .scroll-wheel{animation:scrollWheel 2s infinite;background:var(--primary);border-radius:.125rem;height:.625rem;width:.25rem}@keyframes scrollWheel{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(1.25rem)}}#typing-text{animation:typing 3s steps(14) forwards;display:inline-flex;justify-content:flex-start;overflow:hidden;white-space:nowrap}@keyframes typing{0%{width:0}to{width:max-content}}.services-section{display:flex;flex-direction:column;height:100%}.services-section .section__container{display:flex;flex-direction:column;flex-grow:1}.services-section__list{display:grid;flex-grow:1;gap:1.875rem;grid-template-columns:repeat(auto-fit,minmax(clamp(18.125rem,14.834rem + 16.46vw,34.375rem),1fr));grid-template-rows:repeat(2,1fr)}.services-section__item{border-radius:1rem;overflow:hidden;position:relative}.services-section__item a{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:1.25rem;height:100%;justify-content:center;padding:clamp(.938rem,.475rem + 2.31vw,2.5rem) clamp(.938rem,.66rem + 1.39vw,1.875rem);position:relative;text-align:center;text-decoration:none;transition:color .3s ease;user-select:none;width:100%}.services-section__item a:focus-within,.services-section__item a:hover{color:var(--text-primary)}.services-section__item--title{font-size:clamp(1.375rem,1.264rem + .56vw,1.75rem);min-height:clamp(3rem,2.759rem + 1.2vw,3.813rem);text-align:center;text-transform:uppercase}.services-section__item--text{font-size:clamp(.875rem,.838rem + .19vw,1rem)}.services-section__item:before{animation:anime-rotate 20s linear infinite;animation-delay:var(--delay);border:1.2em solid;border-image:conic-gradient(from var(--rotation,0turn),#690,#9c3,#ce6,#069,#39c,#906,#c39,#f60,#f90,#fc0,#690) 1;content:"";filter:blur(.75em);inset:0;position:absolute;will-change:border-image;z-index:0}@keyframes anime-rotate{0%{--rotation:0turn}to{--rotation:1turn}}:root{--ar:1.718;--br:1.25rem;--hl:0;--bg:hsl(var(--canvas),15%,12%);--t:all 0.66s linear(0,0.007,0.028 2.1%,0.112 4.6%,0.224 6.9%,0.604 14.2%,0.713,0.803,0.879,0.939,0.985 26.2%,1.019 28.9%,1.034 30.7%,1.045,1.051 34.8%,1.053 37.2%,1.046 41.6%,1.012 54.7%,1.001 62.8%,0.997 73%,1);--canvas:220;--bg:hsl(var(--canvas),15%,22%);--fg:hsl(var(--canvas),39%,95%);--link:hsl(var(--canvas),90%,80%);--linkh:#6afbb3;--wgt:200}@keyframes glow-bg{0%{--bgrotate:0deg;--bgrotate2:0deg;--text:90deg}25%{--bgrotate2:360deg;--text:260deg}50%{--bgrotate2:720deg}to{--bgrotate:720deg;--bgrotate2:0deg;--text:90deg}}.resume-section{transition:all .3s ease}.resume-section__grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100%;row-gap:clamp(1.563rem,.994rem + 2.84vw,3.125rem);width:100%}.resume-section .resume-filter{display:flex;flex-direction:row;flex-wrap:wrap;gap:clamp(.938rem,.597rem + 1.7vw,1.875rem);grid-column:1;grid-row:1}.resume-section .resume-list{display:grid;gap:clamp(.938rem,.597rem + 1.7vw,1.875rem);grid-auto-rows:max-content;grid-column:1;grid-row:2;grid-template-columns:repeat(auto-fit,minmax(16.875rem,1fr))}.resume-section .resume{animation:glow-bg 44s linear infinite;background-blend-mode:color-dodge,normal,normal,normal,normal;background-image:radial-gradient(farthest-side circle at var(--pointer-x,50%) var(--pointer-y,50%),hsla(222,100%,94%,var(--hl)) 8%,hsla(222,100%,80%,var(--hl)) 22%,rgba(102,148,255,0) 66%),radial-gradient(40% 51% at 7% 32%,#57d6ff 0,rgba(7,58,255,0) 100%),radial-gradient(40% 52% at 85% 67%,rgba(0,255,195,.769) 0,rgba(7,58,255,0) 100%),radial-gradient(80% 80% at 50% 50%,#00c1ff 27%,rgba(7,58,255,0) 58%),conic-gradient(from var(--bgrotate) at 50% 50%,#a94cff 5%,rgba(7,198,255,0) 17%,rgba(7,198,255,0) 40%,#00ffc3 48%,#00ffc3 51%,rgba(7,198,255,0) 59%,rgba(7,198,255,0) 83%,#a94cff 95%),conic-gradient(from var(--bgrotate2) at 50% 50%,#5afff3 0,#be78ff 34%,#be78ff 64%,#5afff3 100%);background-position:0 0,0 0,0 0,50% 50%,0 0,0 0;background-size:100% 100%;border-radius:var(--br);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);position:relative;transform:translateZ(.00625rem);will-change:background-image;z-index:1}.resume-section .resume[hidden]{display:none!important}.resume-section .resume:hover{--hl:1}.resume-section .resume:after,.resume-section .resume:before{border-radius:var(--br);content:"";grid-column:1/-1;grid-row:1/-1;inset:.125rem;position:absolute}.resume-section .resume-details{align-items:flex-start;background:light-dark(hsl(var(--canvas),15%,54%),hsl(var(--canvas),15%,16%));border-radius:var(--br);display:flex;flex-direction:column;gap:clamp(.938rem,.613rem + 1.44vw,1.875rem);justify-content:center;overflow:hidden;padding:clamp(.938rem,.597rem + 1.7vw,1.875rem);z-index:2}.resume-section .resume-details:after{background-image:radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y),#c3bfd9 12%,rgba(46,80,107,.2) 90%);border-radius:var(--br);content:"";filter:brightness(1) contrast(1.2);inset:0;mix-blend-mode:overlay;opacity:var(--hl);position:absolute;transition:var(--t)}.resume-section .resume:after{background:inherit;filter:blur(2.25rem) brightness(1) contrast(.85) saturate(1.4);inset:-.625rem;scale:.8;transition:var(--t);z-index:0}.resume-section .resume:hover:after{filter:blur(2.25rem) brightness(1) contrast(1) saturate(1);scale:.9}.resume-section .resume:before{box-shadow:0 .625rem 1.25rem -.3125rem rgba(0,0,0,.9);content:"";inset:0;z-index:1}.resume-section .resume-category{animation:glow-bg 14s ease var(--anim-delay) infinite;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(40%,var(--primary)),to(hsl(var(--text,120deg),100%,60%)));background-image:linear-gradient(to bottom,var(--primary) 40%,hsl(var(--text,120deg),100%,60%));background-size:1em 1lh;-webkit-text-fill-color:transparent;-webkit-background-clip:text;filter:drop-shadow(0 .025em .05em rgba(0,0,0,.2)) drop-shadow(0 .0625rem .0625rem black);font-size:clamp(1.375rem,.966rem + 2.05vw,2.5rem);font-weight:500;text-align:left;text-wrap:balance}.projects-section__container{display:flex;flex-direction:column}.projects-section__grid{display:grid;flex-grow:1;gap:3rem;grid-template-rows:16.5625rem 1fr}.projects-section .portfolio-detail{counter-increment:example 1;display:none;opacity:0;transition:opacity .1s ease}.projects-section .portfolio-detail._active{display:grid;gap:.9375rem;grid-template-columns:min-content 1fr 12ch;opacity:1;width:100%}.projects-section .portfolio-box{align-items:center;counter-reset:example 0;display:flex}.projects-section .portfolio-box .nump{grid-column:1;grid-row:1;margin:0;-webkit-text-stroke:.07rem light-dark(var(--bg-color),var(--text-color));color:var(--primary);font-family:var(--second-family);font-size:clamp(2.5rem,1.532rem + 4.84vw,6.25rem);line-height:1}.projects-section .portfolio-box .title{color:var(--text-secondary);font-size:clamp(1.75rem,1.322rem + 1.82vw,3.375rem);grid-column:2;grid-row:1}.projects-section .portfolio-box .text{color:var(--text-secondary);font-size:clamp(.875rem,.625rem + 1.25vw,1.563rem);grid-column:1/3;grid-row:2}.projects-section .portfolio-box .tech{align-content:center;color:var(--text-secondary);grid-column:3;grid-row:1/3}.projects-section .portfolio-box .tech p{margin:0}.projects-section .portfolio-box .live-github{align-items:center;display:flex;gap:2rem;grid-column:1/4;grid-row:3;justify-content:center}.projects-section .portfolio-box .live-github a{background:var(--secondary);border-radius:50%;color:var(--text-secondary);display:inline-flex;padding:clamp(.5rem,.306rem + .97vw,1.25rem);position:relative}.projects-section .portfolio-box .live-github a:first-child svg{rotate:135deg}.projects-section .portfolio-box .live-github a span{background:light-dark(var(--bg-color),var(--text-color));border-radius:.6rem;color:var(--primary);font-size:clamp(.75rem,.653rem + .48vw,1.125rem);left:50%;opacity:0;padding:clamp(.25rem,.185rem + .32vw,.5rem) clamp(.438rem,.292rem + .73vw,1rem);pointer-events:none;position:absolute;top:-60%;transform:translateX(-50%) scale(.9);transition:.3s;white-space:nowrap}.projects-section .portfolio-box .live-github a:hover span{opacity:1;top:-70%;transform:translateX(-50%) scale(1)}.projects-section .portfolio-box .live-github a:hover{background-color:var(--bg-card);color:var(--primary)}.projects-section .portfolio-slider__wrapper{display:flex;justify-content:center;position:relative;width:100%}.projects-section .portfolio-slider{max-width:clamp(18.125rem,10.931rem + 35.97vw,46rem);width:100%}.projects-section .portfolio-slider .swiper-wrapper{border-radius:1rem;gap:1.25rem;height:100%;max-height:31.25rem}.projects-section .portfolio-slider .swiper-slide{height:100%}.projects-section .portfolio-slider__item{height:100%;width:100%}.projects-section .portfolio-slider__item img{border-radius:1rem;object-fit:cover;object-position:center}.projects-section .swiper-navigation{display:flex;gap:2rem;justify-content:flex-end;margin-top:1.5rem}.projects-section .swiper-navigation .portfolio-button-prev{left:0}.projects-section .swiper-navigation .portfolio-button-next{right:0}.projects-section .swiper-navigation button.swiper-button-disabled{opacity:.5}.projects-section .swiper-navigation button.swiper-button-disabled:hover{background:transparent;border-color:var(--accent-color);box-shadow:none;cursor:auto}@media screen and (min-width:20rem){.projects-section .swiper-navigation .portfolio-button-next,.projects-section .swiper-navigation .portfolio-button-prev{padding:clamp(.25rem,.185rem + .32vw,.5rem) clamp(.438rem,.292rem + .73vw,1rem);position:absolute;top:50%;transform:translateY(-50%)}}@media (min-width:37.5rem){.resume-section .resume-list{grid-template-rows:min-content min-content}}@media screen and (min-width:48rem){.is-animated-right{animation:is-animated-right .4s forwards;animation-delay:var(--anime-delay,.5);transform:translateX(9.375rem)}.is-animated-left,.is-animated-right{opacity:0;transition:transform .5s ease,opacity .5s ease}.is-animated-left{animation:is-animated-left .4s forwards;animation-delay:var(--anime-delay,.5);transform:translateX(-9.375rem)}}@media (min-width:48rem){.resume-section{min-height:calc(100vh - var(--header-height))}.resume-section__grid{gap:clamp(1.563rem,.994rem + 2.84vw,3.125rem);grid-template-columns:.5fr 2fr;grid-template-rows:auto 1fr}.resume-section .resume-filter{flex-direction:column;grid-column:1;grid-row:1}.resume-section .resume-list{grid-column:2;grid-row:1;grid-template-columns:repeat(auto-fit,minmax(clamp(15.938rem,9.789rem + 12.81vw,25rem),1fr))}.projects-section{min-height:calc(100vh - var(--header-height))}.projects-section .portfolio-detail._active{grid-template-columns:min-content 1fr 18ch}}@media (min-width:64rem){.hero-section .hero__container{grid-template-columns:1fr 1fr}.hero-section .hero-description{max-width:75ch}.hero-section .hero-image-wrapper{align-items:center;display:flex;justify-content:center;position:relative}.projects-section__grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.projects-section .portfolio-detail._active{display:flex;flex-direction:column;gap:clamp(.438rem,.308rem + .65vw,.938rem);height:100%;width:auto}.projects-section .portfolio-box .live-github,.projects-section .portfolio-box .nump,.projects-section .portfolio-box .text,.projects-section .portfolio-box .title{flex-grow:1}.projects-section .portfolio-box .tech{border-bottom:.1rem solid light-dark(var(--bg-color),var(--text-color));margin-bottom:clamp(.625rem,.383rem + 1.21vw,1.563rem);padding-bottom:clamp(.5rem,.371rem + .65vw,1rem)}.projects-section .portfolio-slider__wrapper{flex-direction:column}.projects-section .swiper-navigation .portfolio-button-next,.projects-section .swiper-navigation .portfolio-button-prev{position:relative;top:0;transform:none}}