@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Space+Mono:wght@400;700&display=swap";.app{width:100%;min-height:100vh}.header{background:#0f1a3e66;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:1rem 0;position:sticky;top:0;z-index:100;box-shadow:0 8px 32px #0066ff0d;border-bottom:1px solid rgba(0,102,255,.1)}.header-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo h1{font-size:1.8rem;font-weight:900;animation:slideInLeft .8s ease-out;letter-spacing:-.05em;font-family:Orbitron,sans-serif}.logo{transform:scale(1.5);transform-origin:left center}.logo-image{height:50px;width:auto;animation:slideInLeft .8s ease-out;transition:opacity .3s ease;cursor:pointer}.logo-image:hover{opacity:.8}.logo-f{background:linear-gradient(135deg,#06f,#0cf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-v{background:linear-gradient(135deg,#0cf,#f0f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.nav{display:flex;gap:2rem}.nav button{background:none;border:2px solid rgba(0,153,255,.5);color:#fff;font-size:1rem;cursor:pointer;transition:all .3s ease;padding:.6rem 1.2rem;border-radius:25px;animation:slideInDown .8s ease-out;animation-fill-mode:both;font-weight:500;position:relative;overflow:hidden}.nav button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,153,255,.3),transparent);transition:left .5s ease;z-index:-1}.nav button:nth-child(1){animation-delay:.2s}.nav button:nth-child(2){animation-delay:.3s}.nav button:nth-child(3){animation-delay:.4s}@keyframes slideInDown{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.nav button:hover{background:#0099ff26;border-color:#00c8ffcc;color:#0cf;box-shadow:0 0 15px #09f6,inset 0 0 15px #0099ff1a;transform:translateY(-2px)}.nav button:active{transform:translateY(0)}.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}@media (max-width: 768px){.nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#667eeaf2;max-height:0;overflow:hidden;transition:max-height .3s ease}.nav.active{max-height:300px}.nav button{padding:1rem 2rem;border:none;border-bottom:1px solid rgba(255,255,255,.1)}.menu-toggle{display:block}}@keyframes waveFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0e27,#1a1a3e,#000814);color:#fff;position:relative;overflow:hidden;padding:2rem}.hero-background{position:absolute;width:100%;height:100%;top:0;left:0}.gradient-orb{position:absolute;width:600px;height:600px;background:#0066ff26;border-radius:50%;top:-200px;right:-200px;animation:float 8s ease-in-out infinite,orbColor 6s ease-in-out infinite;box-shadow:0 0 100px #0066ff4d,0 0 200px #0066ff26}.gradient-orb:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,rgba(0,153,255,.4),transparent);animation:pulse 4s ease-in-out infinite}.gradient-orb:after{content:"";position:absolute;width:80%;height:80%;top:10%;right:10%;border-radius:50%;background:radial-gradient(circle,rgba(0,200,255,.3),transparent);animation:pulse 5s ease-in-out infinite reverse;box-shadow:inset 0 0 60px #09f3}@keyframes orbColor{0%,to{background:#0066ff26;box-shadow:0 0 100px #0066ff4d,0 0 200px #0066ff26}50%{background:#09f3;box-shadow:0 0 100px #09f6,0 0 200px #09f3}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(20px) rotate(5deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.gradient-orb-left{position:absolute;width:650px;height:650px;background:#0099ff1f;border-radius:50%;bottom:-250px;left:-200px;animation:float 10s ease-in-out infinite,orbColorLeft 7s ease-in-out infinite;box-shadow:0 0 80px #0099ff40,0 0 160px #0099ff1a}.gradient-orb-left:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,rgba(0,102,255,.35),transparent);animation:pulse 5s ease-in-out infinite}.gradient-orb-left:after{content:"";position:absolute;width:75%;height:75%;bottom:12.5%;left:12.5%;border-radius:50%;background:radial-gradient(circle,rgba(51,170,255,.3),transparent);animation:pulse 6s ease-in-out infinite reverse;box-shadow:inset 0 0 50px #0099ff26}@keyframes orbColorLeft{0%,to{background:#0099ff1f;box-shadow:0 0 80px #0099ff40,0 0 160px #0099ff1a}50%{background:#0066ff2e;box-shadow:0 0 80px #0066ff59,0 0 160px #0066ff26}}.moving-lines{position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden}.line{position:absolute;opacity:.5}.line-1{width:400px;height:3px;top:20%;left:-400px;animation:randomWalk1 16s ease-in-out infinite,verticalBounce1 8s ease-in-out infinite;background:linear-gradient(90deg,transparent,rgba(0,102,255,.6),transparent);border-radius:2px;filter:drop-shadow(0 0 10px rgba(0,102,255,.4))}.line-1:before{content:"";position:absolute;width:100%;height:100%;background:inherit;filter:inherit;animation:bodyWave .5s ease-in-out infinite}.line-2{width:350px;height:3px;top:40%;left:-350px;animation:randomWalk2 18s ease-in-out infinite 2s,verticalBounce2 9s ease-in-out infinite 2s;background:linear-gradient(90deg,transparent,rgba(0,153,255,.6),transparent);border-radius:2px;filter:drop-shadow(0 0 10px rgba(0,153,255,.4))}.line-2:before{content:"";position:absolute;width:100%;height:100%;background:inherit;filter:inherit;animation:bodyWave .6s ease-in-out infinite}.line-3{width:380px;height:3px;top:60%;left:-380px;animation:randomWalk3 17s ease-in-out infinite 1s,verticalBounce3 7.5s ease-in-out infinite 1s;background:linear-gradient(90deg,transparent,rgba(0,102,255,.6),transparent);border-radius:2px;filter:drop-shadow(0 0 10px rgba(0,102,255,.4))}.line-3:before{content:"";position:absolute;width:100%;height:100%;background:inherit;filter:inherit;animation:bodyWave .55s ease-in-out infinite}.line-4{width:420px;height:3px;top:10%;left:-420px;animation:randomWalk4 19s ease-in-out infinite 3s,verticalBounce4 8.5s ease-in-out infinite 3s;background:linear-gradient(90deg,transparent,rgba(0,153,255,.6),transparent);border-radius:2px;filter:drop-shadow(0 0 10px rgba(0,153,255,.4))}.line-4:before{content:"";position:absolute;width:100%;height:100%;background:inherit;filter:inherit;animation:bodyWave .7s ease-in-out infinite}.line-5{width:360px;height:3px;top:75%;left:-360px;animation:randomWalk5 17.5s ease-in-out infinite 1.5s,verticalBounce5 8s ease-in-out infinite 1.5s;background:linear-gradient(90deg,transparent,rgba(0,102,255,.6),transparent);border-radius:2px;filter:drop-shadow(0 0 10px rgba(0,102,255,.4))}.line-5:before{content:"";position:absolute;width:100%;height:100%;background:inherit;filter:inherit;animation:bodyWave .65s ease-in-out infinite}@keyframes bodyWave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.8)}}@keyframes randomWalk1{0%{left:-400px;opacity:0}5%{opacity:.5}0%,20%{transform:translateY(0) rotate(0)}25%{transform:translateY(-60px) rotate(-8deg)}45%{transform:translateY(40px) rotate(12deg)}65%{transform:translateY(-80px) rotate(-15deg)}85%{transform:translateY(50px) rotate(10deg)}95%{opacity:.5}to{left:100vw;opacity:0;transform:translateY(0) rotate(0)}}@keyframes verticalBounce1{0%,to{transform:translateY(0)}25%{transform:translateY(-40px)}50%{transform:translateY(30px)}75%{transform:translateY(-50px)}}@keyframes randomWalk2{0%{left:-350px;opacity:0}5%{opacity:.5}0%,22%{transform:translateY(0) rotate(0)}28%{transform:translateY(70px) rotate(10deg)}48%{transform:translateY(-50px) rotate(-14deg)}68%{transform:translateY(60px) rotate(18deg)}88%{transform:translateY(-70px) rotate(-12deg)}95%{opacity:.5}to{left:100vw;opacity:0;transform:translateY(0) rotate(0)}}@keyframes verticalBounce2{0%,to{transform:translateY(0)}33%{transform:translateY(50px)}66%{transform:translateY(-45px)}}@keyframes randomWalk3{0%{left:-380px;opacity:0}5%{opacity:.5}0%,18%{transform:translateY(0) rotate(0)}26%{transform:translateY(-55px) rotate(-12deg)}44%{transform:translateY(65px) rotate(16deg)}62%{transform:translateY(-75px) rotate(-18deg)}80%{transform:translateY(45px) rotate(14deg)}95%{opacity:.5}to{left:100vw;opacity:0;transform:translateY(0) rotate(0)}}@keyframes verticalBounce3{0%,to{transform:translateY(0)}25%{transform:translateY(-60px)}50%{transform:translateY(35px)}75%{transform:translateY(-55px)}}@keyframes randomWalk4{0%{left:-420px;opacity:0}5%{opacity:.5}0%,21%{transform:translateY(0) rotate(0)}29%{transform:translateY(80px) rotate(14deg)}50%{transform:translateY(-65px) rotate(-16deg)}71%{transform:translateY(70px) rotate(20deg)}89%{transform:translateY(-80px) rotate(-14deg)}95%{opacity:.5}to{left:100vw;opacity:0;transform:translateY(0) rotate(0)}}@keyframes verticalBounce4{0%,to{transform:translateY(0)}33%{transform:translateY(-70px)}66%{transform:translateY(50px)}}@keyframes randomWalk5{0%{left:-360px;opacity:0}5%{opacity:.5}0%,20%{transform:translateY(0) rotate(0)}27%{transform:translateY(-70px) rotate(-10deg)}47%{transform:translateY(55px) rotate(15deg)}67%{transform:translateY(-60px) rotate(-17deg)}87%{transform:translateY(60px) rotate(12deg)}95%{opacity:.5}to{left:100vw;opacity:0;transform:translateY(0) rotate(0)}}@keyframes verticalBounce5{0%,to{transform:translateY(0)}25%{transform:translateY(45px)}50%{transform:translateY(-55px)}75%{transform:translateY(50px)}}.hero-content{position:relative;z-index:2;text-align:center;max-width:800px;animation:scaleInContent .8s ease-out}@keyframes scaleInContent{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;line-height:1.2;animation:fadeInUp 1s ease-out;background:linear-gradient(135deg,#0cf,#09f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.hero-subtitle{font-size:1.3rem;margin-bottom:2rem;opacity:.95;animation:fadeInUp 1s ease-out .2s both;color:#a0a0c0;font-weight:300;letter-spacing:.3px}.cta-button{padding:1rem 2.5rem;font-size:1.1rem;background:linear-gradient(135deg,#06f,#09f);color:#fff;border:2px solid #0099ff;border-radius:50px;cursor:pointer;font-weight:600;transition:all .3s ease;animation:fadeInUp 1s ease-out .4s both;position:relative;overflow:hidden}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#ffffff4d;transition:left .5s ease}.cta-button:hover:before{left:100%}.cta-button:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 15px 40px #0066ff80}.cta-button:active{transform:translateY(-2px)}@media (max-width: 1024px){.hero-title{font-size:2.8rem}.hero-subtitle{font-size:1.15rem}}@media (max-width: 768px){.hero{padding:2rem 1.5rem}.hero-title{font-size:2rem;margin-bottom:.8rem}.hero-subtitle{font-size:1rem;margin-bottom:1.5rem}.gradient-orb{width:300px;height:300px;top:-100px;right:-100px}.cta-button{padding:.9rem 2rem;font-size:1rem}}@media (max-width: 480px){.hero{padding:1.5rem 1rem;min-height:80vh}.hero-title{font-size:1.5rem;margin-bottom:.6rem}.hero-subtitle{font-size:.95rem;margin-bottom:1.2rem}.gradient-orb{width:200px;height:200px;top:-50px;right:-50px}.cta-button{padding:.8rem 1.8rem;font-size:.95rem}}.floating-shape{position:absolute;opacity:.5;background:radial-gradient(circle at 35% 35%,#0096ff80,#0064c826)}.shape-1{width:200px;height:200px;border-radius:35% 65% 65% 35%/35% 35% 65% 65%;top:10%;left:10%;animation:floatShape1 15s ease-in-out infinite}.shape-2{width:150px;height:150px;border-radius:65% 35% 35% 65%/65% 65% 35% 35%;top:60%;right:15%;animation:floatShape2 18s ease-in-out infinite}.shape-3{width:180px;height:180px;border-radius:50% 50% 30% 70%/30% 50% 50% 70%;bottom:15%;left:20%;animation:floatShape3 20s ease-in-out infinite}.shape-4{width:120px;height:120px;border-radius:35% 65% 65% 35%/35% 35% 65% 65%;top:30%;right:25%;animation:floatShape4 16s ease-in-out infinite}.shape-5{width:160px;height:160px;border-radius:65% 35% 35% 65%/65% 65% 35% 35%;bottom:25%;right:10%;animation:floatShape5 17s ease-in-out infinite}.shape-6{width:140px;height:140px;border-radius:50%/30% 40% 60% 70%;top:50%;left:5%;animation:floatShape6 19s ease-in-out infinite}.shape-7{width:110px;height:110px;border-radius:60% 40% 35% 65%/60% 30% 70% 40%;top:20%;left:50%;animation:floatShape7 14s ease-in-out infinite}.shape-8{width:130px;height:130px;border-radius:40% 60% 60% 40%/40% 40% 60% 60%;bottom:10%;left:60%;animation:floatShape8 21s ease-in-out infinite}.shape-9{width:90px;height:90px;border-radius:50%;top:75%;right:20%;animation:floatShape9 16s ease-in-out infinite}.shape-10{width:170px;height:170px;border-radius:35% 65% 50% 50%/50% 50% 65% 35%;top:5%;right:40%;animation:floatShape10 18s ease-in-out infinite}@keyframes floatShape1{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-30px) translate(20px) rotate(90deg)}50%{transform:translateY(-60px) translate(0) rotate(180deg)}75%{transform:translateY(-30px) translate(-20px) rotate(270deg)}}@keyframes floatShape2{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(35px) translate(-25px) rotate(90deg)}50%{transform:translateY(50px) translate(0) rotate(180deg)}75%{transform:translateY(35px) translate(25px) rotate(270deg)}}@keyframes floatShape3{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-25px) translate(30px) rotate(90deg)}50%{transform:translateY(-40px) translate(0) rotate(180deg)}75%{transform:translateY(-25px) translate(-30px) rotate(270deg)}}@keyframes floatShape4{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(40px) translate(20px) rotate(90deg)}50%{transform:translateY(60px) translate(0) rotate(180deg)}75%{transform:translateY(40px) translate(-20px) rotate(270deg)}}@keyframes floatShape5{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-35px) translate(-30px) rotate(90deg)}50%{transform:translateY(-50px) translate(0) rotate(180deg)}75%{transform:translateY(-35px) translate(30px) rotate(270deg)}}@keyframes floatShape6{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(30px) translate(25px) rotate(90deg)}50%{transform:translateY(45px) translate(0) rotate(180deg)}75%{transform:translateY(30px) translate(-25px) rotate(270deg)}}@keyframes floatShape7{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-40px) translate(-20px) rotate(90deg)}50%{transform:translateY(-55px) translate(0) rotate(180deg)}75%{transform:translateY(-40px) translate(20px) rotate(270deg)}}@keyframes floatShape8{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(25px) translate(30px) rotate(90deg)}50%{transform:translateY(35px) translate(0) rotate(180deg)}75%{transform:translateY(25px) translate(-30px) rotate(270deg)}}@keyframes floatShape9{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-50px) translate(15px) rotate(90deg)}50%{transform:translateY(-65px) translate(0) rotate(180deg)}75%{transform:translateY(-50px) translate(-15px) rotate(270deg)}}@keyframes floatShape10{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(35px) translate(-35px) rotate(90deg)}50%{transform:translateY(50px) translate(0) rotate(180deg)}75%{transform:translateY(35px) translate(35px) rotate(270deg)}}.shape-11{width:125px;height:125px;border-radius:60% 40% 40% 60%/40% 60%;top:15%;right:5%;animation:floatShape11 19s ease-in-out infinite}.shape-12{width:95px;height:95px;border-radius:50%;bottom:30%;left:15%;animation:floatShape12 17s ease-in-out infinite}.shape-13{width:140px;height:140px;border-radius:35% 65% 50% 50%/50% 50% 65% 35%;top:40%;left:35%;animation:floatShape13 22s ease-in-out infinite}.shape-14{width:110px;height:110px;border-radius:60% 40%/40% 60%;bottom:5%;right:35%;animation:floatShape14 20s ease-in-out infinite}.shape-15{width:155px;height:155px;border-radius:40% 60%/60% 40%;top:65%;left:8%;animation:floatShape15 18s ease-in-out infinite}@keyframes floatShape11{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-45px) translate(-20px) rotate(90deg)}50%{transform:translateY(-60px) translate(0) rotate(180deg)}75%{transform:translateY(-45px) translate(20px) rotate(270deg)}}@keyframes floatShape12{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(30px) translate(25px) rotate(90deg)}50%{transform:translateY(40px) translate(0) rotate(180deg)}75%{transform:translateY(30px) translate(-25px) rotate(270deg)}}@keyframes floatShape13{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-35px) translate(30px) rotate(90deg)}50%{transform:translateY(-50px) translate(0) rotate(180deg)}75%{transform:translateY(-35px) translate(-30px) rotate(270deg)}}@keyframes floatShape14{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(40px) translate(-25px) rotate(90deg)}50%{transform:translateY(55px) translate(0) rotate(180deg)}75%{transform:translateY(40px) translate(25px) rotate(270deg)}}@keyframes floatShape15{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-30px) translate(20px) rotate(90deg)}50%{transform:translateY(-45px) translate(0) rotate(180deg)}75%{transform:translateY(-30px) translate(-20px) rotate(270deg)}}.hero-title{display:flex;flex-wrap:wrap;justify-content:center;gap:.1em;font-size:3.5rem;font-weight:900;letter-spacing:.05em}.hero-title span{display:inline-block;animation:letterReveal .6s ease-out forwards,waveFloat 3s ease-in-out infinite;animation-delay:calc(.08s * var(--char-index));background:linear-gradient(135deg,#00d9ff,#08f,#00d9ff);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes letterReveal{0%{opacity:0;transform:translateY(30px) rotate(-15deg) scale(.8)}50%{transform:translateY(-5px) rotate(-2deg) scale(1.05)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes waveFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(2deg)}50%{transform:translateY(-12px) rotate(0)}75%{transform:translateY(-6px) rotate(-2deg)}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.portfolio{padding:5rem 2rem;background:linear-gradient(135deg,#1a1a3e,#0a0e27,#1a0a2e)}.portfolio-container{max-width:1200px;margin:0 auto}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:1rem;color:#0cf;animation:popIn .7s cubic-bezier(.34,1.56,.64,1)}.section-subtitle{text-align:center;font-size:1.1rem;color:#a0a0c0;margin-bottom:3rem;animation:fadeIn .8s ease-out .2s both}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.project-card{background:linear-gradient(135deg,#1a1a3e,#2a2a4e);border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0066ff1a;transition:all .4s cubic-bezier(.34,1.56,.64,1);cursor:pointer;position:relative;border:1px solid rgba(0,102,255,.2);animation:popInCard .6s cubic-bezier(.34,1.56,.64,1);will-change:transform,box-shadow}@keyframes popInCard{0%{opacity:0;transform:scale(.7) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#06f,#0cf);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;z-index:10}.project-card:hover:before{transform:scaleX(1)}.project-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 20px 50px #06f6}.project-image{width:100%;height:200px;background:linear-gradient(135deg,#06f,#09f);display:flex;align-items:center;justify-content:center;font-size:4rem;position:relative;overflow:hidden;transition:all .4s ease}.project-image:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#fff3;transition:left .6s ease}.project-card:hover .project-image:before{left:100%}.project-card:hover .project-image{transform:scale(1.1)}.project-content{padding:1.5rem}.project-content h3{font-size:1.3rem;margin-bottom:.5rem;color:#0cf}.project-content p{color:#a0a0c0;margin-bottom:1rem;line-height:1.5}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{background:#06f3;color:#0cf;padding:.3rem .8rem;border-radius:20px;font-size:.85rem;font-weight:500;transition:all .3s ease;display:inline-block;animation:slideInTag .5s ease-out;border:1px solid rgba(0,102,255,.4)}@keyframes slideInTag{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.project-card:hover .tag{background:#0066ff80;color:#fff;transform:scale(1.1);border-color:#09fc}.project-link{display:inline-block;color:#09f;text-decoration:none;font-weight:600;transition:all .3s ease;animation:slideIn .3s ease-out;background:none;border:none;cursor:pointer;padding:0;margin-top:1rem;opacity:0;max-height:0;overflow:hidden}.project-link.visible{opacity:1;max-height:40px;animation:slideInSmooth .4s ease-out forwards}@keyframes slideInSmooth{0%{opacity:0;transform:translate(-10px);max-height:0}to{opacity:1;transform:translate(0);max-height:40px}}.project-link:hover{color:#fff;transform:translate(5px)}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.section-title{font-size:1.8rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeInModal .3s ease-out}.modal-content{background:linear-gradient(135deg,#1a1a3e,#2a2a4e);border-radius:16px;border:1px solid rgba(0,102,255,.3);max-width:700px;width:90%;max-height:85vh;overflow-y:auto;position:relative;animation:popInModal .5s cubic-bezier(.34,1.56,.64,1);box-shadow:0 25px 80px #0066ff4d}.modal-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:1.8rem;color:#0cf;cursor:pointer;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center;z-index:10}.modal-close:hover{transform:rotate(90deg) scale(1.2);color:#fff}.modal-header{padding:3rem 2rem 2rem;text-align:center;border-bottom:1px solid rgba(0,102,255,.2);animation:slideDownIn .5s ease-out}@keyframes slideDownIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-image{font-size:5rem;margin-bottom:1rem;animation:bounce .8s ease-out}@keyframes bounce{0%{opacity:0;transform:scale(.3) translateY(-30px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header h2{font-size:2rem;color:#0cf;margin:0}.modal-body{padding:2rem}.modal-section{margin-bottom:2rem;animation:fadeInUp .6s ease-out}.modal-section:last-child{margin-bottom:0}.modal-section h3{color:#09f;font-size:1.3rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px}.modal-section p{color:#a0a0c0;line-height:1.8;font-size:.95rem}.features-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.features-list li{color:#0cf;padding:.5rem 1rem;background:#0066ff1a;border-radius:8px;border-left:3px solid #0099ff;transition:all .3s ease}.features-list li:hover{background:#06f3;transform:translate(5px)}.tech-stack{background:#0066ff1a;padding:1rem;border-radius:8px;border:1px solid rgba(0,153,255,.3);color:#e0e0e0;font-family:Courier New,monospace;font-size:.9rem}.modal-tags{display:flex;flex-wrap:wrap;gap:.8rem}.modal-tag{background:linear-gradient(135deg,#06f,#09f);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;border:1px solid rgba(0,204,255,.4);transition:all .3s ease}.modal-tag:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px #06f6}.modal-footer{padding:2rem;display:flex;gap:1rem;border-top:1px solid rgba(0,102,255,.2);background:#0003;position:sticky;bottom:0;z-index:100}.modal-button{flex:1;padding:.8rem 1.5rem;background:linear-gradient(135deg,#06f,#09f);color:#fff;border:2px solid #0099ff;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.modal-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0066ff80}.modal-button.app-store-button{background:linear-gradient(135deg,#06f,#09f)}.app-store-logo{font-size:1.2em}.modal-button.secondary{background:transparent;color:#0cf;border-color:#0cf}.modal-button.secondary:hover{background:#06f3;box-shadow:0 10px 30px #0066ff4d}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#0066ff1a}.modal-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#06f,#09f);border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#09f,#0cf)}@media (max-width: 768px){.modal-content{width:95%;max-height:90vh}.modal-header{padding:2rem 1.5rem}.modal-image{font-size:3rem}.modal-header h2{font-size:1.5rem}.modal-body{padding:1.5rem}.features-list{grid-template-columns:1fr}.modal-footer{flex-direction:column}.modal-button{width:100%}}.privacy-trigger{background:none;border:none;color:#a0a0c0;cursor:pointer;font-size:.9rem;text-decoration:underline;transition:all .3s ease}.privacy-trigger:hover{color:#0cf}.privacy-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeInModal .3s ease-out}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.privacy-modal-content{background:linear-gradient(135deg,#1a1a3e,#2a2a4e);border-radius:16px;border:1px solid rgba(0,102,255,.3);max-width:700px;width:90%;max-height:85vh;overflow-y:auto;position:relative;animation:popInModal .5s cubic-bezier(.34,1.56,.64,1);box-shadow:0 25px 80px #0066ff4d}@keyframes popInModal{0%{opacity:0;transform:scale(.7) translateY(-50px)}to{opacity:1;transform:scale(1) translateY(0)}}.privacy-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:1.8rem;color:#0cf;cursor:pointer;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center;z-index:10}.privacy-close:hover{transform:rotate(90deg) scale(1.2);color:#fff}.privacy-body{padding:2rem;color:#e0e0e0}.privacy-body h1{font-size:2rem;color:#0cf;margin-bottom:.5rem}.app-name{color:#09f;font-weight:600;font-size:1.1rem;margin-bottom:.5rem}.effective-date{color:#a0a0c0;font-size:.95rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,102,255,.2)}.intro{color:#a0a0c0;line-height:1.8;margin-bottom:2rem;font-style:italic}.privacy-body section{margin-bottom:2rem}.privacy-body section h2{font-size:1.3rem;color:#09f;margin-bottom:.8rem;text-transform:uppercase;letter-spacing:.5px}.privacy-body section p{color:#a0a0c0;line-height:1.8;font-size:.95rem}.privacy-body section ul{list-style:none;padding-left:1.5rem;margin:.8rem 0}.privacy-body section li{color:#a0a0c0;line-height:1.8;font-size:.95rem;margin-bottom:.5rem}.privacy-body section li:before{content:"• ";color:#09f;margin-right:.5rem}.privacy-modal-content::-webkit-scrollbar{width:8px}.privacy-modal-content::-webkit-scrollbar-track{background:#0066ff1a}.privacy-modal-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#06f,#09f);border-radius:4px}.privacy-modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#09f,#0cf)}@media (max-width: 768px){.privacy-modal-content{width:95%;max-height:90vh}.privacy-body{padding:1.5rem}.privacy-body h1{font-size:1.5rem}.privacy-body section h2{font-size:1.1rem}}.about{padding:5rem 2rem;background:linear-gradient(135deg,#0a0e27,#1a1a3e,#1a0a2e)}.about-container{max-width:1000px;margin:0 auto}.about-content{margin-bottom:3rem;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.about-text{font-size:1.05rem;line-height:1.8;color:#a0a0c0;margin-bottom:1.5rem}.skills-section h3{font-size:1.8rem;margin-bottom:1.5rem;color:#0cf;animation:popIn .7s cubic-bezier(.34,1.56,.64,1) .2s both;text-align:center}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.skill-item{background:linear-gradient(135deg,#06f,#09f);color:#fff;padding:1rem;border-radius:8px;text-align:center;font-weight:500;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;animation:scaleIn .6s ease-out;border:1px solid rgba(0,204,255,.3);will-change:transform,box-shadow}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.skill-item:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3),transparent);animation:shimmerEffect 3s ease-in-out infinite}@keyframes shimmerEffect{0%,to{transform:translate(0) scale(1)}50%{transform:translate(50%,50%) scale(1.2)}}.skill-item:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 15px 40px #06f9}@media (max-width: 768px){.skills-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem}.skill-item{padding:.8rem;font-size:.95rem}}.contact{padding:5rem 2rem;background:linear-gradient(135deg,#1a1a3e,#0a0e27,#000814);color:#fff}.contact-container{max-width:1000px;margin:0 auto}.contact-content{display:flex;justify-content:center;margin-top:2rem;animation:popInUp .8s cubic-bezier(.34,1.56,.64,1)}@keyframes popInUp{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.contact-form{display:flex;flex-direction:column;gap:1.5rem;max-width:500px;width:100%}.form-group input,.form-group textarea{width:100%;padding:1rem;border:1px solid rgba(0,102,255,.3);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;position:relative;animation:slideUp .6s ease-out;background:#1a1a3e99;color:#e0e0e0}.form-group input::placeholder,.form-group textarea::placeholder{transition:all .3s ease;color:#606080}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-group input:focus,.form-group textarea:focus{outline:none;box-shadow:0 0 0 3px #0066ff4d;transform:scale(1.02);border-color:#09fc;background:#1a1a3ee6}.form-group input:focus::placeholder,.form-group textarea:focus::placeholder{opacity:.5}.submit-button{padding:1rem 2rem;background:linear-gradient(135deg,#06f,#09f);color:#fff;border:2px solid #0099ff;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden;animation:slideUpBtn .6s ease-out}@keyframes slideUpBtn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.submit-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;z-index:-1}.submit-button:hover:before{width:300px;height:300px}.submit-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 15px 40px #0066ff80}.submit-button:active{transform:translateY(0)}.error-message{background:#ff3b301a;border:1px solid #ff3b30;color:#ff6b6b;padding:.75rem 1rem;border-radius:6px;font-size:.9rem;margin-bottom:.5rem;animation:shake .5s ease-in-out}.success-message{background:#34d3991a;border:1px solid #34d399;color:#6ee7b7;padding:.75rem 1rem;border-radius:6px;font-size:.9rem;margin-bottom:.5rem;animation:slideDown .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-group input:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed;background:#1a1a3e66}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.submit-button:disabled:hover{transform:none;box-shadow:none}.recaptcha-notice{font-size:.75rem;color:#ffffff80;text-align:center;margin-top:1rem}.recaptcha-notice a{color:#0099ffb3;text-decoration:none;transition:color .3s ease}.recaptcha-notice a:hover{color:#09f;text-decoration:underline}@media (max-width: 768px){.contact-content{grid-template-columns:1fr;gap:2rem}.section-title{color:#fff}.section-subtitle{color:#ffffffe6}}.footer{background:linear-gradient(135deg,#000814,#0a0a1a);color:#fff;padding:2rem;text-align:center;border-top:1px solid rgba(0,102,255,.2)}.footer-content{max-width:1200px;margin:0 auto}.footer-content p{margin:0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Space Mono,monospace;color:#e0e0e0;background:linear-gradient(135deg,#0a0e27,#1a1a3e,#0d0d1f);min-height:100vh}html{scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{font-family:Orbitron,sans-serif;font-weight:700;letter-spacing:.05em}button{font-family:Orbitron,sans-serif;font-weight:700;letter-spacing:.03em}
