body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--bg-alt:#111118;--surface:#1a1a24;--border:#2a2a3a;--accent:#6c63ff;--accent2:#00b894;--text:#e8e8f0;--muted:#88a;--radius:12px;--nav-h:68px}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0f;background:var(--bg);color:#e8e8f0;color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0a0a0f;background:var(--bg)}::-webkit-scrollbar-thumb{background:#2a2a3a;background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6c63ff;background:var(--accent)}::placeholder{color:#88a;color:var(--muted);opacity:1}.cursor-canvas{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:9999}*{cursor:none}.portfolio{min-height:100vh;overflow-x:hidden}.nav{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0a0a0fd9;border-bottom:1px solid #2a2a3a;border-bottom:1px solid var(--border);display:flex;height:68px;height:var(--nav-h);justify-content:space-between;left:0;padding:0 6%;position:fixed;right:0;top:0;z-index:100}.nav-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6c63ff,#00b894);background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;font-size:1.3rem;font-weight:700;letter-spacing:.05em}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{color:#88a;color:var(--muted);font-size:.9rem;letter-spacing:.05em;padding-bottom:2px;position:relative;transition:color .2s}.nav-links a:after{background:#6c63ff;background:var(--accent);bottom:-2px;content:"";height:1.5px;left:0;position:absolute;transition:width .25s ease;width:0}.nav-links a:hover{color:#e8e8f0;color:var(--text)}.nav-links a:hover:after{width:100%}.hero{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding-left:6%;padding-right:6%;padding-top:68px;padding-top:var(--nav-h);position:relative;text-align:center}.hero:before{animation:pulse 6s ease-in-out infinite;background:radial-gradient(circle,#6c63ff1f 0,#0000 65%);height:700px;right:-150px;top:50%;transform:translateY(-50%);width:700px}.hero:after,.hero:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.hero:after{animation:pulse 8s ease-in-out infinite reverse;background:radial-gradient(circle,#00b89414 0,#0000 65%);bottom:-100px;height:400px;left:-100px;width:400px}.hero-blob{display:none}@keyframes pulse{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.7;transform:translateY(-50%) scale(1.08)}}.hero-content{animation:fadeUp .8s ease both;margin:0 auto;max-width:640px}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-greeting{color:#6c63ff;color:var(--accent);font-size:1.1rem;font-weight:500;letter-spacing:.08em;margin-bottom:.5rem}.hero-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff 40%,#6c63ff);background:linear-gradient(135deg,#fff 40%,var(--accent));-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1;margin-bottom:.25rem}.hero-title{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:400;margin:.5rem 0 1rem}.hero-sub,.hero-title{color:#88a;color:var(--muted)}.hero-sub{font-size:1.05rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:480px}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn{border:1.5px solid #0000;border-radius:8px;cursor:pointer;display:inline-block;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1;padding:.75rem 1.75rem;transition:transform .15s,box-shadow .15s,border-color .15s,color .15s}.btn-primary{background:linear-gradient(135deg,#6c63ff,#8b5cf6);background:linear-gradient(135deg,var(--accent),#8b5cf6);border-color:#0000;color:#fff}.btn-primary:hover{box-shadow:0 8px 24px #6c63ff66;transform:translateY(-2px)}.btn-outline{background:#0000;border-color:#2a2a3a;border-color:var(--border);color:#e8e8f0;color:var(--text)}.btn-outline:hover{border-color:#6c63ff;border-color:var(--accent);color:#6c63ff;color:var(--accent);transform:translateY(-2px)}.section{padding:6rem 6%;text-align:center}.section-alt{background:#111118;background:var(--bg-alt)}.section-title{display:inline-block;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;margin-bottom:3rem;position:relative}.section-title:after{background:linear-gradient(90deg,#6c63ff,#00b894);background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:2px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:50px}.about-grid{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:auto 1fr;margin:0 auto;max-width:860px;text-align:center}.about-avatar{align-items:center;background:linear-gradient(135deg,#6c63ff,#00b894);background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:50%;box-shadow:0 0 0 4px #0a0a0f,0 0 0 6px #2a2a3a;box-shadow:0 0 0 4px var(--bg),0 0 0 6px var(--border);color:#fff;display:flex;flex-shrink:0;font-size:2rem;font-weight:700;height:140px;justify-content:center;width:140px}.about-text p{color:#88a;color:var(--muted);font-size:1.05rem;margin-bottom:1rem;margin-left:auto;margin-right:auto;max-width:560px}.about-stats{border-top:1px solid #2a2a3a;border-top:1px solid var(--border);display:flex;gap:2.5rem;justify-content:center;margin-top:1.75rem;padding-top:1.5rem}.stat{align-items:center;display:flex;flex-direction:column;gap:.2rem}.stat-num{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6c63ff,#00b894);background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;line-height:1}.stat span:last-child{color:#88a;color:var(--muted);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.techstack-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:640px}.techstack-item{align-items:center;background:#1a1a24;background:var(--surface);border:1px solid #2a2a3a;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;gap:.75rem;padding:1.75rem 1rem;position:relative;transition:border-color .2s,transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,filter .25s,opacity .25s;z-index:0}.techstack-item:after{background:linear-gradient(135deg,#6c63ff,#00b894,#6c63ff);background:linear-gradient(135deg,var(--accent),var(--accent2),var(--accent));border-radius:15px;border-radius:calc(var(--radius) + 3px);content:"";inset:-2px;opacity:0;position:absolute;transition:opacity .3s ease;z-index:-1}.techstack-item:before{border:2px solid #6c63ff;border:2px solid var(--accent);border-radius:12px;border-radius:var(--radius);content:"";inset:0;opacity:0;pointer-events:none;position:absolute}.techstack-item:hover{border-color:#0000;box-shadow:0 16px 40px #6c63ff4d,0 0 60px #6c63ff1a;transform:translateY(-8px) scale(1.08)}.techstack-item:hover:after{animation:border-hue-spin 1.8s linear infinite;opacity:1}.techstack-item:hover:before{animation:shockwave-ring .55s ease-out forwards}.techstack-icon{align-items:center;display:flex;font-size:2.8rem;line-height:1}.techstack-label{color:#88a;color:var(--muted);font-size:.82rem;font-weight:500;letter-spacing:.03em;transition:color .2s}.techstack-item:hover .techstack-label{color:#e8e8f0;color:var(--text)}.carousel-outer{align-items:center;display:flex;gap:1rem;justify-content:center;margin:0 auto;max-width:1100px;position:relative}.carousel-track{flex:1 1;height:530px;perspective:1400px;perspective-origin:50% 42%;position:relative}.carousel-card{background:#1a1a24;background:var(--surface);border:1px solid #2a2a3a;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;left:50%;margin-left:-180px;overflow:hidden;position:absolute;top:0;transition:transform .7s cubic-bezier(.25,.46,.45,.94),opacity .7s cubic-bezier(.25,.46,.45,.94),filter .7s ease,box-shadow .7s ease;width:360px;will-change:transform,opacity,filter}.carousel-card[data-slot=center]{box-shadow:0 32px 80px #0000008c,0 0 60px color-mix(in srgb,var(--card-color) 30%,#0000),0 0 120px color-mix(in srgb,var(--card-color) 10%,#0000);filter:none;opacity:1;transform:translateX(0) scale(1) rotateY(0deg);z-index:4}.carousel-card[data-slot=left]{cursor:pointer;filter:brightness(.52);opacity:.72;transform:translateX(-370px) scale(.82) rotateY(24deg);z-index:3}.carousel-card[data-slot=right]{cursor:pointer;filter:brightness(.52);opacity:.72;transform:translateX(370px) scale(.82) rotateY(-24deg);z-index:3}.carousel-card[data-slot=hidden-left]{filter:brightness(.1);opacity:0;pointer-events:none;transform:translateX(-730px) scale(.6) rotateY(38deg);z-index:1}.carousel-card[data-slot=hidden-right]{filter:brightness(.1);opacity:0;pointer-events:none;transform:translateX(730px) scale(.6) rotateY(-38deg);z-index:1}.carousel-card[data-slot=left]:hover,.carousel-card[data-slot=right]:hover{filter:brightness(.78);opacity:.88}.carousel-btn{align-items:center;background:#1a1a24;background:var(--surface);border:1px solid #2a2a3a;border:1px solid var(--border);border-radius:50%;color:#e8e8f0;color:var(--text);cursor:pointer;display:flex;flex-shrink:0;height:48px;justify-content:center;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;width:48px;z-index:10}.carousel-btn:hover{background:#6c63ff;background:var(--accent);border-color:#6c63ff;border-color:var(--accent);box-shadow:0 0 22px #6c63ff73;transform:scale(1.12)}.carousel-btn:active{transform:scale(.92)}.carousel-dots{align-items:center;display:flex;gap:.55rem;justify-content:center;margin-top:2.2rem}.carousel-dot{background:#2a2a3a;background:var(--border);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:width .35s cubic-bezier(.16,1,.3,1),border-radius .35s,background .35s,box-shadow .35s,transform .35s;width:8px}.carousel-dot--active{border-radius:4px;transform:scaleY(1.2);width:28px}.carousel-visit-btn{border:1px solid;border-radius:20px;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.05em;margin-top:1.1rem;opacity:.85;padding:.45rem 1.1rem;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s,opacity .2s}.carousel-visit-btn:hover{box-shadow:0 6px 20px #0000004d;opacity:1;transform:translateY(-2px)}.project-card{background:#1a1a24;background:var(--surface);border:1px solid #2a2a3a;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}.project-card:hover{border-color:#6c63ff4d;box-shadow:0 16px 40px #00000073;transform:translateY(-6px)}.project-card--link{cursor:pointer}.project-top{flex-shrink:0;height:5px}.project-thumb{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:.6rem;height:140px;justify-content:center;position:relative}.project-thumb--img{height:220px;overflow:hidden;padding:0}.project-thumb-img{display:block;height:100%;object-fit:cover;object-position:top center;transform-origin:top center;transition:transform .4s ease;width:100%}.project-card:hover .project-thumb-img{transform:scale(1.04)}.project-thumb-icon{opacity:.85;transition:transform .25s,opacity .25s}.project-card:hover .project-thumb-icon{opacity:1;transform:scale(1.12)}.project-thumb-label{font-size:.75rem;font-weight:600;letter-spacing:.1em;opacity:.7;text-transform:uppercase;transition:opacity .25s}.project-card:hover .project-thumb-label{opacity:1}.project-body{align-items:center;display:flex;flex:1 1;flex-direction:column;padding:1.5rem;text-align:center}.project-body h3{color:#e8e8f0;color:var(--text);font-size:1.1rem;font-weight:700;margin-bottom:.6rem}.project-body p{color:#88a;color:var(--muted);flex:1 1;font-size:.9rem;line-height:1.6;margin-bottom:1rem}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:auto}.tag{background:#0a0a0f;background:var(--bg);border:1px solid #2a2a3a;border:1px solid var(--border);border-radius:20px;color:#88a;color:var(--muted);font-size:.72rem;letter-spacing:.03em;padding:.25rem .65rem;transition:border-color .15s,color .15s}.project-card:hover .tag{border-color:#6c63ff66;color:#e8e8f0;color:var(--text)}.contact-wrapper{margin:0 auto;max-width:640px;text-align:center}.contact-sub{color:#88a;color:var(--muted);font-size:1.05rem;line-height:1.7;margin-bottom:2rem}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.contact-form input,.contact-form textarea{background:#1a1a24;background:var(--surface);border:1px solid #2a2a3a;border:1px solid var(--border);border-radius:8px;color:#e8e8f0;color:var(--text);font-family:inherit;font-size:.95rem;line-height:1.5;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.contact-form input:hover,.contact-form textarea:hover{border-color:#3a3a4a}.contact-form input:focus,.contact-form textarea:focus{border-color:#6c63ff;border-color:var(--accent);box-shadow:0 0 0 3px #6c63ff26;outline:none}.contact-form textarea{min-height:120px;resize:vertical}.contact-form .btn{align-self:center}.letter-stage{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:9998}.letter-envelope{animation:letter-charge .28s ease-in-out,letter-soar 1.4s cubic-bezier(.4,0,.2,1) .28s forwards;filter:drop-shadow(0 0 18px rgba(108,99,255,.9));left:50%;position:absolute;top:64%;transform:translateX(-50%)}@keyframes letter-charge{0%,to{transform:translateX(-50%) rotate(0deg) scale(1)}25%{transform:translateX(-53%) rotate(-4deg) scale(1.06)}75%{transform:translateX(-47%) rotate(4deg) scale(1.06)}}@keyframes letter-soar{0%{opacity:1;transform:translateX(-50%) translateY(0) rotate(0deg) scale(1)}18%{opacity:1;transform:translateX(-22%) translateY(-110px) rotate(-14deg) scale(1.12)}45%{opacity:1;transform:translateX(15%) translateY(-320px) rotate(-24deg) scale(.72)}72%{opacity:.6;transform:translateX(55%) translateY(-510px) rotate(-32deg) scale(.38)}to{opacity:0;transform:translateX(105%) translateY(-700px) rotate(-40deg) scale(.05)}}.envelope-flap{animation:flap-open .35s ease-out .28s both;transform-origin:38px 16px}@keyframes flap-open{0%{transform:rotateX(0deg)}to{transform:rotateX(-40deg)}}.letter-glow{animation:letter-glow-pulse .35s ease-in-out infinite alternate;background:radial-gradient(circle,#6c63ff80 0,#0000 70%);border-radius:50%;inset:-22px;position:absolute;z-index:-1}@keyframes letter-glow-pulse{0%{opacity:.6;transform:scale(.85)}to{opacity:1;transform:scale(1.25)}}.letter-trail{align-items:center;display:flex;gap:6px;position:absolute;right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.trail-dot{animation:trail-pop .8s ease-out forwards;background:#6c63ff;border-radius:50%;box-shadow:0 0 6px #6c63ffcc;height:5px;opacity:0;width:5px}@keyframes trail-pop{0%{opacity:0;transform:scale(0)}30%{opacity:1;transform:scale(1.4)}to{opacity:0;transform:scale(.6)}}.speed-streak{animation:streak-fly .55s cubic-bezier(.25,.46,.45,.94) forwards;background:linear-gradient(90deg,#0000,#6c63ffb3 40%,#a29bfe66,#0000);border-radius:2px;height:2px;left:-60%;position:absolute}@keyframes streak-fly{0%{left:-60%;opacity:0}15%{opacity:1}85%{opacity:.8}to{left:115%;opacity:0}}.form-feedback{align-items:center;animation:feedback-pop .5s cubic-bezier(.34,1.56,.64,1) both;border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;gap:.75rem;padding:2.5rem 1.5rem}@keyframes feedback-pop{0%{opacity:0;transform:scale(.85) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.form-feedback--success{background:#2dc96e12;border:1px solid #2dc96e59;color:#2dc96e;gap:1rem;padding:3rem 2rem}.success-icon-wrap{align-items:center;display:flex;height:56px;justify-content:center;position:relative;width:56px}.success-check{overflow:visible}.success-circle{stroke-dasharray:157;stroke-dashoffset:157;animation:draw-circle .5s cubic-bezier(.16,1,.3,1) .1s forwards}@keyframes draw-circle{to{stroke-dashoffset:0}}.success-tick{stroke-dasharray:36;stroke-dashoffset:36;animation:draw-tick .4s cubic-bezier(.16,1,.3,1) .55s forwards}@keyframes draw-tick{to{stroke-dashoffset:0}}.success-ring{animation:ring-burst .6s ease-out .5s forwards;border:2px solid #2dc96e;border-radius:50%;inset:-8px;opacity:0;position:absolute}@keyframes ring-burst{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.8)}}.success-title{animation:success-title-in .5s cubic-bezier(.16,1,.3,1) .7s both;font-size:1.5rem;font-weight:800;letter-spacing:.02em;margin:0}@keyframes success-title-in{0%{filter:blur(4px);opacity:0;transform:translateY(12px) scale(.92)}to{filter:blur(0);opacity:1;transform:translateY(0) scale(1)}}.form-feedback--success p{animation:success-title-in .5s ease .9s both;color:#88a;color:var(--muted);margin:0}.form-error{animation:feedback-pop .3s ease both;color:#ff6b6b;font-size:.85rem;text-align:center}.btn--sending{cursor:not-allowed;opacity:.75}.btn-spinner{animation:spin-btn .7s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;margin-right:.4rem;vertical-align:middle;width:14px}@keyframes spin-btn{to{transform:rotate(1turn)}}.contact-form input:disabled,.contact-form textarea:disabled{cursor:not-allowed;opacity:.55}.footer{align-items:center;background:#0a0a0f;background:var(--bg);border-top:1px solid #2a2a3a;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:2rem 6%}.footer p{color:#88a;color:var(--muted);font-size:.85rem}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:#88a;color:var(--muted);font-size:.85rem;transition:color .2s}.burger{background:none;border:none;display:none;flex-direction:column;gap:5px;justify-content:center;padding:4px;z-index:101}.burger span{background:#e8e8f0;background:var(--text);border-radius:2px;display:block;height:2px;transform-origin:center;transition:transform .3s ease,opacity .3s ease;width:24px}.burger--open span:first-child{transform:translateY(7px) rotate(45deg)}.burger--open span:nth-child(2){opacity:0;transform:scaleX(0)}.burger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){.nav{padding:0 5%}.burger{display:flex}.nav-links{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0a0a0ff7;border-bottom:1px solid #2a2a3a;border-bottom:1px solid var(--border);flex-direction:column;gap:2rem;justify-content:center;left:0;opacity:0;padding:2.5rem 0;pointer-events:none;position:fixed;right:0;top:68px;top:var(--nav-h);transform:translateY(-110%);transition:transform .35s ease,opacity .35s ease;z-index:99}.nav-links--open{opacity:1;pointer-events:all;transform:translateY(0)}.nav-links a{color:#e8e8f0;color:var(--text);font-size:1.1rem}.hero{min-height:0;min-height:auto;padding-bottom:4rem;padding-left:5%;padding-right:5%;padding-top:calc(68px + 2rem);padding-top:calc(var(--nav-h) + 2rem)}.hero:before{height:420px;right:-120px;width:420px}.hero:after{height:260px;left:-80px;width:260px}.section{padding:4rem 5%}.section-title{margin-bottom:2.5rem}.about-grid{gap:1.5rem;grid-template-columns:1fr;justify-items:center;text-align:center}.about-text p{max-width:100%}.about-stats{gap:2rem;justify-content:center}.techstack-grid{grid-template-columns:repeat(4,1fr);max-width:100%}.carousel-track{height:480px}.carousel-card{margin-left:-150px;width:300px}.carousel-card[data-slot=left]{transform:translateX(-275px) scale(.82) rotateY(22deg)}.carousel-card[data-slot=right]{transform:translateX(275px) scale(.82) rotateY(-22deg)}.carousel-card[data-slot=hidden-left]{transform:translateX(-580px) scale(.6) rotateY(38deg)}.carousel-card[data-slot=hidden-right]{transform:translateX(580px) scale(.6) rotateY(-38deg)}.carousel-btn{height:40px;width:40px}.contact-wrapper{max-width:100%}.footer{align-items:center;flex-direction:column;gap:.75rem;text-align:center}.footer-links{flex-wrap:wrap;gap:1rem;justify-content:center}}@media (max-width:600px){.hero{min-height:100svh;padding-bottom:3rem;padding-left:5%;padding-right:5%;padding-top:calc(68px + 1rem);padding-top:calc(var(--nav-h) + 1rem)}.hero:before{height:280px;right:-80px;width:280px}.hero:after{bottom:-60px;height:180px;left:-60px;width:180px}.hero-name{font-size:clamp(2rem,10vw,3rem)}.hero-title{font-size:clamp(1rem,5vw,1.4rem)}.hero-sub{font-size:.95rem}.hero-buttons{align-items:center;flex-direction:column}.hero-buttons .btn{max-width:320px;text-align:center;width:100%}.section{padding:3rem 5%}.section-title{font-size:clamp(1.4rem,6vw,1.8rem)}.about-grid{gap:1.25rem}.about-avatar{font-size:1.5rem;height:100px;width:100px}.about-text p{font-size:.95rem}.about-stats{flex-wrap:wrap;gap:1.25rem}.stat-num{font-size:1.6rem}.techstack-grid{gap:.75rem;grid-template-columns:repeat(2,1fr);max-width:340px}.techstack-item{padding:1.25rem .75rem}.techstack-icon{font-size:2.2rem}.techstack-label{font-size:.78rem}.carousel-track{height:430px}.carousel-card{margin-left:-120px;width:240px}.carousel-card[data-slot=left]{transform:translateX(-200px) scale(.78) rotateY(18deg)}.carousel-card[data-slot=right]{transform:translateX(200px) scale(.78) rotateY(-18deg)}.carousel-card[data-slot=hidden-left]{transform:translateX(-460px) scale(.55) rotateY(38deg)}.carousel-card[data-slot=hidden-right]{transform:translateX(460px) scale(.55) rotateY(-38deg)}.carousel-btn{height:36px;width:36px}.project-thumb--img{height:150px}.contact-wrapper{max-width:100%}.form-row{grid-template-columns:1fr}.contact-form .btn{align-self:stretch;text-align:center;width:100%}}@media (max-width:480px){:root{--nav-h:60px}.section{padding:2.5rem 4%}.section-title{margin-bottom:2rem}.about-avatar{font-size:1.3rem;height:88px;width:88px}.about-stats{align-items:center;flex-direction:column;gap:.9rem}.techstack-grid{gap:.6rem;grid-template-columns:repeat(2,1fr);max-width:290px}.techstack-item{padding:1rem .5rem}.techstack-icon{font-size:2rem}.techstack-label{font-size:.72rem}.carousel-outer{gap:.4rem}.carousel-track{height:410px}.carousel-card{margin-left:-100px;width:200px}.carousel-card[data-slot=left]{transform:translateX(-168px) scale(.75) rotateY(16deg)}.carousel-card[data-slot=right]{transform:translateX(168px) scale(.75) rotateY(-16deg)}.carousel-card[data-slot=hidden-left]{transform:translateX(-380px) scale(.5) rotateY(38deg)}.carousel-card[data-slot=hidden-right]{transform:translateX(380px) scale(.5) rotateY(-38deg)}.carousel-btn{height:34px;width:34px}.project-thumb--img{height:130px}.project-body{padding:1rem .85rem}.project-body h3{font-size:.95rem}.project-body p{font-size:.82rem}.contact-form textarea{min-height:100px}.letter-envelope svg{height:44px;width:56px}.success-title{font-size:1.25rem}}@media (max-width:380px){.hero-name{font-size:clamp(1.7rem,11vw,2.5rem)}.about-avatar{font-size:1.1rem;height:76px;width:76px}.techstack-grid{max-width:260px}.carousel-track{height:380px}.carousel-card{margin-left:-87px;width:175px}.carousel-card[data-slot=left]{transform:translateX(-148px) scale(.72) rotateY(14deg)}.carousel-card[data-slot=right]{transform:translateX(148px) scale(.72) rotateY(-14deg)}.carousel-card[data-slot=hidden-left]{transform:translateX(-330px) scale(.45) rotateY(38deg)}.carousel-card[data-slot=hidden-right]{transform:translateX(330px) scale(.45) rotateY(-38deg)}.project-thumb--img{height:110px}.carousel-btn{height:30px;width:30px}.stat-num{font-size:1.4rem}.tag{font-size:.68rem;padding:.2rem .5rem}}.reveal{opacity:0;transform:translateY(38px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.section-title:after{transition:width .8s cubic-bezier(.16,1,.3,1) .25s;width:0}.section-title.visible:after{width:50px}.tw-cursor{animation:tw-blink .75s step-end infinite;color:#6c63ff;color:var(--accent);display:inline-block;font-weight:300;margin-left:2px}@keyframes tw-blink{0%,to{opacity:1}50%{opacity:0}}.hero{animation:grid-drift 18s linear infinite;background-image:linear-gradient(rgba(108,99,255,.045) 1px,#0000 0),linear-gradient(90deg,rgba(108,99,255,.045) 1px,#0000 0);background-size:56px 56px}@keyframes grid-drift{0%{background-position:0 0}to{background-position:56px 56px}}.hero-name{cursor:default}.hero-name:hover{animation:name-glitch .35s steps(4) infinite}@keyframes name-glitch{0%{filter:none;transform:none}20%{filter:hue-rotate(80deg) saturate(2);transform:skewX(-3deg) translateX(4px)}40%{filter:hue-rotate(200deg) saturate(1.6);transform:skewX(2deg) translateX(-3px)}60%{filter:hue-rotate(310deg) saturate(2.2);transform:skewX(-1deg) translateX(2px)}80%{filter:hue-rotate(40deg) saturate(1.8);transform:skewX(3deg) translateX(-4px)}to{filter:none;transform:none}}.techstack-item:first-child .techstack-icon{animation:tech-dom-paint 3.2s cubic-bezier(.16,1,.3,1) infinite}@keyframes tech-dom-paint{0%,to{filter:brightness(.4);opacity:.2;transform:scaleY(.1) translateY(12px)}18%,72%{filter:brightness(1);opacity:1;transform:scaleY(1) translateY(0)}80%{transform:scaleY(1.04) translateY(-2px)}}.techstack-item:nth-child(2) .techstack-icon{animation:tech-cascade 3s steps(4) .4s infinite}@keyframes tech-cascade{0%{opacity:0;transform:translateY(-16px)}20%{opacity:.5;transform:translateY(-8px)}40%{opacity:1;transform:translateY(0)}60%{opacity:.7;transform:translateY(6px)}80%,to{opacity:0;transform:translateY(-16px)}}.techstack-item:nth-child(3) .techstack-icon{animation:tech-event-loop 2.6s cubic-bezier(.45,0,.55,1) .1s infinite}@keyframes tech-event-loop{0%,to{transform:translate(0)}12%{transform:translate(9px,-6px)}25%{transform:translateY(-12px)}38%{transform:translate(-9px,-6px)}50%{transform:translate(0)}65%{transform:translate(5px,4px)}80%{transform:translate(-5px,4px)}}.techstack-item:nth-child(4) .techstack-icon{animation:tech-typecheck 3.8s ease-in-out .6s infinite}@keyframes tech-typecheck{0%,to{filter:drop-shadow(0 0 0 transparent);transform:translateX(0)}12%{filter:drop-shadow(0 0 8px #ff4466);transform:translateX(-5px)}16%{filter:drop-shadow(0 0 10px #ff4466);transform:translateX(5px)}20%{filter:drop-shadow(0 0 8px #ff4466);transform:translateX(-4px)}24%{filter:drop-shadow(0 0 12px #44ffaa);transform:translateX(0)}36%,85%{filter:drop-shadow(0 0 4px #44ffaa);transform:translateX(0)}}.techstack-item:nth-child(5) .techstack-icon{animation:tech-rerender 2.8s cubic-bezier(.34,1.56,.64,1) .3s infinite}@keyframes tech-rerender{0%,to{transform:scale(1)}20%{transform:scale(1.45)}38%{transform:scale(.88)}52%{transform:scale(1.08)}65%{transform:scale(1)}}.techstack-item:nth-child(6) .techstack-icon{animation:tech-ssr 3.4s ease-in-out .8s infinite}@keyframes tech-ssr{0%{opacity:0;transform:translateX(18px)}18%,65%{opacity:1;transform:translateX(0)}82%{opacity:0;transform:translateX(-18px)}83%,to{opacity:0;transform:translateX(18px)}}.techstack-item:nth-child(7) .techstack-icon{animation:tech-dispatch 2.4s ease-out .5s infinite}@keyframes tech-dispatch{0%,to{filter:drop-shadow(0 0 0 #7c5cbf);transform:scale(1)}25%{filter:drop-shadow(0 0 10px #7c5cbf);transform:scale(1.35)}40%{filter:drop-shadow(0 0 4px #7c5cbf);transform:scale(.92)}55%{filter:drop-shadow(0 0 14px #a78bfa);transform:scale(1.12)}70%{transform:scale(1)}}.techstack-item:nth-child(8) .techstack-icon{animation:tech-heartbeat 2.2s ease-in-out .2s infinite}@keyframes tech-heartbeat{0%,to{filter:drop-shadow(0 0 0 #3c873a);transform:scale(1)}10%{filter:drop-shadow(0 0 8px #3c873a);transform:scale(1.32)}20%{filter:drop-shadow(0 0 2px #3c873a);transform:scale(1)}30%{filter:drop-shadow(0 0 6px #3c873a);transform:scale(1.2)}42%,to{filter:drop-shadow(0 0 0 transparent);transform:scale(1)}}.about-avatar{animation:avatar-glow 4s ease-in-out infinite}@keyframes avatar-glow{0%,to{box-shadow:0 0 0 4px #0a0a0f,0 0 0 6px #6c63ff,0 0 18px #6c63ff40;box-shadow:0 0 0 4px var(--bg),0 0 0 6px var(--accent),0 0 18px #6c63ff40}50%{box-shadow:0 0 0 4px #0a0a0f,0 0 0 9px #00b894,0 0 40px #00b89466,0 0 80px #00b8941f;box-shadow:0 0 0 4px var(--bg),0 0 0 9px var(--accent2),0 0 40px #00b89466,0 0 80px #00b8941f}}.project-thumb--img{position:relative}.project-thumb-scanline{background:repeating-linear-gradient(0deg,#0000,#0000 3px,#00000017 0,#00000017 4px);inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .35s ease}.project-card:hover .project-thumb-scanline{opacity:1}.project-thumb-shine{background:linear-gradient(105deg,#0000 30%,#ffffff2e 50%,#0000 70%);inset:0;pointer-events:none;position:absolute;transform:translateX(-100%);transition:none}.project-card:hover .project-thumb-shine{animation:shine-sweep .55s ease forwards}@keyframes shine-sweep{0%{transform:translateX(-100%)}to{transform:translateX(130%)}}.btn-primary{overflow:hidden;position:relative}.btn-primary:after{background:linear-gradient(90deg,#0000,#ffffff47,#0000);content:"";height:100%;left:-80%;position:absolute;top:0;transform:skewX(-18deg);width:50%}.btn-primary:hover:after{animation:btn-shimmer .5s ease forwards}@keyframes btn-shimmer{0%{left:-80%}to{left:160%}}.footer-links a{transition:color .2s,text-shadow .2s}.footer-links a:hover{color:#6c63ff;color:var(--accent);text-shadow:0 0 10px #6c63ffb3,0 0 22px #6c63ff4d}.nav-logo{animation:logo-aurora 6s linear infinite;background-size:200% 100%}@keyframes logo-aurora{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes border-hue-spin{0%,to{filter:brightness(1)}50%{filter:brightness(1.5) drop-shadow(0 0 6px rgba(108,99,255,.6))}}@keyframes shockwave-ring{0%{border-width:2px;opacity:.9;transform:scale(1)}to{border-radius:32px;border-radius:calc(var(--radius) + 20px);border-width:0;opacity:0;transform:scale(1.55)}}.techstack-item:hover .techstack-icon{animation:icon-spin-3d .65s cubic-bezier(.34,1.56,.64,1) forwards!important}@keyframes icon-spin-3d{0%{transform:rotateY(0deg) scale(1)}40%{filter:drop-shadow(0 0 14px currentColor) brightness(1.6);transform:rotateY(180deg) scale(1.55)}to{transform:rotateY(1turn) scale(1)}}.techstack-grid:has(.techstack-item:hover) .techstack-item:not(:hover) .techstack-icon{animation:debug-mode 1.1s ease-in-out infinite!important}@keyframes debug-mode{0%,to{filter:drop-shadow(0 0 3px #00e676) brightness(1.05);transform:scale(1)}50%{filter:drop-shadow(0 0 12px #00e676) brightness(1.4);transform:scale(1.1)}}.techstack-label{font-family:Courier New,monospace}.techstack-item:hover .techstack-label{color:#6c63ff;color:var(--accent);letter-spacing:.06em;text-shadow:0 0 8px #6c63ffb3}#skills{overflow:hidden;position:relative}#skills:before{animation:skills-aurora 9s ease-in-out infinite alternate;background:radial-gradient(ellipse at 15% 40%,#6c63ff1f 0,#0000 55%),radial-gradient(ellipse at 85% 20%,#00b8941a 0,#0000 55%),radial-gradient(ellipse at 55% 85%,#fd79a814 0,#0000 50%);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}#skills>*{position:relative;z-index:1}@keyframes skills-aurora{0%{opacity:.6;transform:scale(1) rotate(0deg)}50%{opacity:1;transform:scale(1.15) rotate(3deg)}to{opacity:.7;transform:scale(.92) rotate(-2deg)}}.techstack-grid:after,.techstack-grid:before{border-radius:50%;content:"";pointer-events:none;position:absolute;z-index:0}.techstack-grid{position:relative}.techstack-grid:before{animation:orb-drift 7s ease-in-out infinite;background:radial-gradient(circle,#6c63ff40,#0000 70%);height:120px;left:-30px;top:-30px;width:120px}.techstack-grid:after{animation:orb-drift 5.5s ease-in-out infinite reverse;background:radial-gradient(circle,#00b89433,#0000 70%);bottom:-20px;height:90px;right:-20px;width:90px}@keyframes orb-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-15px) scale(1.2)}66%{transform:translate(-10px,20px) scale(.85)}}
/*# sourceMappingURL=main.944ca05d.css.map*/