body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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}:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a25;--text-primary:#fff;--text-secondary:#a0a0b0;--text-muted:#606070;--accent-primary:#6366f1;--accent-secondary:#8b5cf6;--accent-gradient:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-shadow:0 8px 32px #0000004d;--section-padding:120px 0;--container-width:1200px;--border-radius:16px;--border-radius-sm:8px;--border-radius-lg:24px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background:#0a0a0f;background:var(--bg-primary);color:#fff;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}.App{min-height:100vh;position:relative}.scroll-progress{background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);background:var(--accent-gradient);box-shadow:0 0 10px #6366f180;height:3px;left:0;position:fixed;top:0;transition:width .1s ease;z-index:9999}.floating-shapes{bottom:0;left:0;overflow:hidden;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.float-shape{animation:float 20s ease-in-out infinite;border-radius:50%;filter:blur(60px);opacity:.5;position:absolute}.float-1{animation-delay:0s;background:#6366f126;height:400px;left:-10%;top:10%;width:400px}.float-2{animation-delay:-5s;background:#8b5cf61f;height:300px;right:-5%;top:60%;width:300px}.float-3{animation-delay:-10s;background:#a855f71a;bottom:10%;height:250px;left:30%;width:250px}.float-4{animation-delay:-15s;background:#6366f114;height:350px;left:50%;top:40%;width:350px}@keyframes float{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(30px,-30px) rotate(5deg)}50%{transform:translate(-20px,20px) rotate(-5deg)}75%{transform:translate(20px,30px) rotate(3deg)}}.gradient-bg{background:radial-gradient(800px circle at 50% 50%,#6366f126,#0000 40%),radial-gradient(600px circle at 80% 20%,#8b5cf61a,#0000 40%),radial-gradient(400px circle at 20% 80%,#a855f714,#0000 40%);background:radial-gradient(800px circle at var(--mouse-x,50%) var(--mouse-y,50%),#6366f126,#0000 40%),radial-gradient(600px circle at 80% 20%,#8b5cf61a,#0000 40%),radial-gradient(400px circle at 20% 80%,#a855f714,#0000 40%);bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;transition:background .3s ease;z-index:0}.glass{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff08;background:var(--glass-bg);border:1px solid #ffffff14;border:1px solid var(--glass-border);box-shadow:0 8px 32px #0000004d;box-shadow:var(--glass-shadow)}.loading-screen{align-items:center;background:#0a0a0f;background:var(--bg-primary);bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:9999}.loading-content{text-align:center;z-index:1}.loading-logo{display:flex;font-size:5rem;font-weight:800;gap:8px;justify-content:center;margin-bottom:40px}.logo-letter{-webkit-text-fill-color:#0000;animation:letterBounce .6s ease-out forwards;background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;opacity:0;transform:translateY(20px)}.logo-letter:first-child{animation-delay:.2s}.logo-letter:nth-child(2){animation-delay:.4s}@keyframes letterBounce{0%{opacity:0;transform:translateY(20px)}50%{transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading-bar{background:#1a1a25;background:var(--bg-tertiary);border-radius:2px;height:4px;margin:0 auto 20px;overflow:hidden;width:200px}.loading-progress{animation:loadingBar 2s ease-in-out forwards;background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);background:var(--accent-gradient);border-radius:2px;box-shadow:0 0 15px #6366f180;height:100%}@keyframes loadingBar{0%{width:0}to{width:100%}}.loading-text{display:flex;gap:4px;justify-content:center}.loading-dot{animation:dotPulse 1.4s ease-in-out infinite;color:#a0a0b0;color:var(--text-secondary);font-size:1.5rem}.loading-dot:first-child{animation-delay:0s}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-8px)}}.loading-shapes{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.loading-shapes .shape{animation:shapeFloat 8s ease-in-out infinite;border-radius:50%;filter:blur(80px);position:absolute}.shape-1{background:#6366f14d;height:300px;left:10%;top:20%;width:300px}.shape-2{animation-delay:-3s;background:#8b5cf640;height:200px;right:20%;top:60%;width:200px}.shape-3{animation-delay:-5s;background:#a855f733;bottom:20%;height:250px;left:40%;width:250px}@keyframes shapeFloat{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-30px) scale(1.1)}}.navbar{align-items:center;border-radius:50px;display:flex;gap:4px;justify-content:center;left:50%;padding:8px 12px;position:fixed;top:20px;transform:translateX(-50%);transition:all .3s ease;transition:all var(--transition-normal);z-index:1000}.nav-link{background:none;border:none;border-radius:50px;color:#a0a0b0;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:all .2s ease;transition:all var(--transition-fast);white-space:nowrap}.nav-link.active,.nav-link:hover{background:#6366f126;color:#fff;color:var(--text-primary)}.nav-home{border-radius:50px 0 0 50px;border-right:1px solid #ffffff14;border-right:1px solid var(--glass-border);font-size:1rem;margin-right:4px;padding:8px 16px 8px 12px}.hero-section{align-items:center;display:flex;gap:60px;justify-content:space-between;margin:0 auto;max-width:1200px;max-width:var(--container-width);min-height:100vh;padding:140px 5% 80px;position:relative}.hero-content{flex:1 1;max-width:600px}.hero-badge{align-items:center;background:#22c55e1a;border:1px solid #22c55e33;border-radius:50px;color:#22c55e;display:inline-flex;font-size:.85rem;font-weight:500;gap:8px;margin-bottom:24px;padding:8px 16px}.badge-dot{animation:pulse 2s ease-in-out infinite;background:#22c55e;border-radius:50%;height:8px;width:8px}.hero-title{margin-bottom:16px}.title-line{color:#a0a0b0;color:var(--text-secondary);display:block;font-size:1.2rem;font-weight:400;margin-bottom:8px}.title-name{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#fff;color:var(--text-primary);font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:600;margin-bottom:12px}.hero-description{color:#a0a0b0;color:var(--text-secondary);font-size:1.1rem;margin-bottom:32px;max-width:500px}.hero-cta{display:flex;gap:16px;margin-bottom:48px}.btn-primary{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);background:var(--accent-gradient);border:none;border-radius:16px;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;padding:14px 28px;transition:all .2s ease;transition:all var(--transition-fast)}.btn-primary:hover{box-shadow:0 10px 30px #6366f166;transform:translateY(-3px)}.glow-effect{overflow:hidden;position:relative}.glow-effect:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.glow-effect:hover:before{left:100%}.btn-primary.large{font-size:1.1rem;padding:18px 36px}.btn-arrow{transition:transform .2s ease;transition:transform var(--transition-fast)}.btn-primary:hover .btn-arrow{transform:translateX(4px)}.btn-secondary{background:#0000;border:2px solid #ffffff14;border:2px solid var(--glass-border);border-radius:16px;border-radius:var(--border-radius);color:#fff;color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;padding:14px 28px;transition:all .2s ease;transition:all var(--transition-fast)}.btn-secondary:hover{background:#6366f11a;border-color:#6366f1;border-color:var(--accent-primary)}.hero-stats{align-items:center;display:flex;gap:32px}.stat-item{text-align:center}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;display:block;font-size:2rem;font-weight:800}.stat-label{color:#a0a0b0;color:var(--text-secondary);font-size:.85rem}.stat-divider{background:#ffffff14;background:var(--glass-border);height:40px;width:1px}.hero-visual{display:flex;flex:1 1;justify-content:center}.code-window{border-radius:16px;border-radius:var(--border-radius);max-width:450px;overflow:hidden;width:100%}.window-header{align-items:center;background:#0003;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--glass-border);display:flex;padding:12px 16px}.window-dots{display:flex;gap:8px;margin-right:16px}.dot{border-radius:50%;height:12px;width:12px}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27ca40}.code-content,.window-title{color:#a0a0b0;color:var(--text-secondary);font-size:.85rem}.code-content{font-family:Fira Code,Monaco,monospace;line-height:1.8;overflow-x:auto;padding:20px}.code-content code{color:#a5d6ff}.scroll-indicator{align-items:center;bottom:40px;cursor:pointer;display:flex;flex-direction:column;gap:12px;left:50%;opacity:.6;position:absolute;transform:translateX(-50%);transition:opacity .2s ease;transition:opacity var(--transition-fast)}.scroll-indicator:hover{opacity:1}.mouse{border:2px solid #a0a0b0;border:2px solid var(--text-secondary);border-radius:15px;height:42px;position:relative;width:26px}.mouse-wheel{animation:mouseScroll 2s ease-in-out infinite;background:#6366f1;background:var(--accent-primary);border-radius:2px;height:8px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:4px}@keyframes mouseScroll{0%,to{opacity:1;transform:translateX(-50%) translateY(0)}50%{opacity:.3;transform:translateX(-50%) translateY(12px)}}.scroll-text{color:#a0a0b0;color:var(--text-secondary);font-size:.75rem;letter-spacing:1px;text-transform:uppercase}.section{margin:0 auto;max-width:1200px;max-width:var(--container-width);padding:120px 0;padding:var(--section-padding);padding-left:5%;padding-right:5%;position:relative}.section-header{margin-bottom:60px;text-align:center}.section-tag{background:#6366f11a;border-radius:50px;color:#6366f1;color:var(--accent-primary);display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:1px;margin-bottom:16px;padding:6px 16px;text-transform:uppercase}.section-title{color:#fff;color:var(--text-primary);font-size:clamp(2rem,4vw,3rem);font-weight:800}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.16,1,.3,1)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.about-content{grid-gap:60px;align-items:start;display:grid;gap:60px;grid-template-columns:1fr 1fr}.about-text{max-width:600px}.about-lead{color:#fff;color:var(--text-primary);font-size:1.25rem;font-weight:500;line-height:1.7;margin-bottom:20px}.about-text p{color:#a0a0b0;color:var(--text-secondary);line-height:1.8;margin-bottom:16px}.education-cards{display:flex;flex-direction:column;gap:20px}.edu-card{border-radius:16px;border-radius:var(--border-radius);display:flex;gap:20px;padding:24px;transition:all .3s ease;transition:all var(--transition-normal)}.edu-card:hover{border-color:#6366f1;border-color:var(--accent-primary);transform:translateX(8px)}.edu-icon{font-size:2rem}.edu-content h4{color:#fff;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:4px}.edu-degree{color:#a0a0b0;color:var(--text-secondary);margin-bottom:8px}.edu-meta{color:#606070;color:var(--text-muted);display:flex;font-size:.85rem;gap:16px}.edu-grade{color:#6366f1;color:var(--accent-primary);font-weight:600}.skills-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(2,1fr);margin-bottom:60px}.skill-category{border-radius:16px;border-radius:var(--border-radius);padding:30px;transition:all .3s ease;transition:all var(--transition-normal)}.skill-category:hover{border-color:#6366f1;border-color:var(--accent-primary);transform:translateY(-5px)}.category-title{color:#fff;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:24px}.skill-tags{display:flex;flex-wrap:wrap;gap:10px}.skill-tag{animation:tagAppear .5s ease forwards;background:#6366f11a;border:1px solid #6366f133;border-radius:50px;color:#a0a0b0;color:var(--text-secondary);font-size:.9rem;font-weight:500;opacity:0;padding:8px 16px;transform:translateY(10px);transition:all .2s ease;transition:all var(--transition-fast)}@keyframes tagAppear{to{opacity:1;transform:translateY(0)}}.skill-tag:hover{background:#6366f133;border-color:#6366f1;border-color:var(--accent-primary);box-shadow:0 4px 15px #6366f14d;color:#fff;color:var(--text-primary);transform:translateY(-2px)}.certifications{text-align:center}.cert-title{color:#fff;color:var(--text-primary);font-size:1.3rem;font-weight:600;margin-bottom:30px}.cert-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.cert-badge{align-items:center;border-radius:16px;border-radius:var(--border-radius);display:flex;gap:10px;padding:12px 20px;transition:all .2s ease;transition:all var(--transition-fast)}.cert-badge:hover{border-color:#6366f1;border-color:var(--accent-primary);transform:translateY(-3px)}.cert-icon{font-size:1.3rem}.cert-name{color:#a0a0b0;color:var(--text-secondary);font-size:.9rem;font-weight:500}.timeline{margin:0 auto;max-width:800px}.timeline-item{display:flex;gap:30px;margin-bottom:40px}.timeline-marker{align-items:center;display:flex;flex-direction:column;flex-shrink:0}.marker-dot{background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);background:var(--accent-gradient);border-radius:50%;box-shadow:0 0 20px #6366f180;height:16px;width:16px}.marker-line{background:#ffffff14;background:var(--glass-border);flex:1 1;margin-top:10px;width:2px}.timeline-content{border-radius:16px;border-radius:var(--border-radius);flex:1 1;padding:24px;transition:all .3s ease;transition:all var(--transition-normal)}.timeline-content:hover{border-color:#6366f1;border-color:var(--accent-primary);transform:translateX(8px)}.exp-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.exp-title{color:#fff;color:var(--text-primary);font-size:1.2rem;font-weight:600}.exp-company{color:#6366f1;color:var(--accent-primary);font-weight:500}.exp-period{background:#1a1a25;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius-sm);color:#606070;color:var(--text-muted);font-size:.85rem;padding:4px 12px}.exp-highlights{list-style:none;margin-bottom:16px}.exp-highlights li{color:#a0a0b0;color:var(--text-secondary);font-size:.95rem;margin-bottom:8px;padding-left:20px;position:relative}.exp-highlights li:before{color:#6366f1;color:var(--accent-primary);content:"▸";left:0;position:absolute}.exp-tags,.project-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background:#6366f11a;border-radius:50px;color:#6366f1;color:var(--accent-primary);font-size:.8rem;font-weight:500;padding:4px 12px}.projects-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.project-card{border-radius:16px;border-radius:var(--border-radius);overflow:hidden;padding:30px;position:relative;transition:all .3s ease;transition:all var(--transition-normal)}.project-card:hover{border-color:#6366f1;border-color:var(--accent-primary);transform:translateY(-8px)}.project-glow{background:radial-gradient(circle,#6366f11a 0,#0000 70%);height:200%;left:-50%;opacity:0;pointer-events:none;position:absolute;top:-50%;transition:opacity .5s ease;width:200%}.project-card:hover .project-glow{opacity:1}.project-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.project-icon{font-size:2.5rem}.project-link{color:#6366f1;color:var(--accent-primary);font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s ease;transition:all var(--transition-fast)}.project-link:hover{text-decoration:underline}.project-name{color:#fff;color:var(--text-primary);font-size:1.4rem;font-weight:700;margin-bottom:8px}.project-period{color:#606070;color:var(--text-muted);font-size:.85rem;margin-bottom:12px}.project-desc{color:#a0a0b0;color:var(--text-secondary);line-height:1.6;margin-bottom:16px}.project-features{list-style:none;margin-bottom:20px}.project-features li{color:#a0a0b0;color:var(--text-secondary);font-size:.9rem;margin-bottom:8px;padding-left:20px;position:relative}.project-features li:before{color:#22c55e;content:"✓";left:0;position:absolute}.coming-soon{align-items:center;background:#0000;border:2px dashed #ffffff14;border:2px dashed var(--glass-border);display:flex;justify-content:center;min-height:300px}.coming-soon-content{text-align:center}.coming-icon{display:block;font-size:3rem;margin-bottom:16px}.coming-soon h3{color:#fff;color:var(--text-primary);font-size:1.2rem;margin-bottom:8px}.coming-soon p{color:#606070;color:var(--text-muted)}.contact-section{padding-bottom:80px;text-align:center}.contact-content{margin:0 auto;max-width:700px}.contact-title{color:#fff;color:var(--text-primary);font-size:clamp(2rem,4vw,3rem);font-weight:800;margin:16px 0 20px}.contact-desc{color:#a0a0b0;color:var(--text-secondary);font-size:1.1rem;line-height:1.7;margin-bottom:40px}.contact-methods{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:40px}.contact-card{align-items:center;border-radius:16px;border-radius:var(--border-radius);display:flex;flex-direction:column;gap:8px;min-width:180px;padding:24px 32px;text-decoration:none;transition:all .3s ease;transition:all var(--transition-normal)}.contact-card:hover{border-color:#6366f1;border-color:var(--accent-primary);transform:translateY(-5px)}.contact-icon{font-size:2rem}.contact-label{color:#606070;color:var(--text-muted);font-size:.85rem;letter-spacing:1px;text-transform:uppercase}.contact-value{color:#fff;color:var(--text-primary);font-size:.95rem;font-weight:500}.contact-cta{margin-top:50px;text-align:center}.cta-text{color:#606070;color:var(--text-muted);font-size:.9rem;letter-spacing:2px;margin-bottom:16px;text-transform:uppercase}.cta-button{align-items:center;background:#0000;border:2px solid #6366f1;border:2px solid var(--accent-primary);border-radius:50px;color:#fff;color:var(--text-primary);display:inline-flex;font-size:1rem;font-weight:600;gap:12px;overflow:hidden;padding:16px 32px;position:relative;text-decoration:none;transition:all .3s ease}.cta-button:before{background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);background:var(--accent-gradient);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%;z-index:-1}.cta-button:hover{border-color:#0000;box-shadow:0 10px 30px #6366f166;transform:translateY(-3px)}.cta-button:hover:before{opacity:1}.cta-icon{font-size:1.2rem}.cta-label{position:relative}.footer{border-top:1px solid #ffffff14;border-top:1px solid var(--glass-border);padding:40px 5%;text-align:center}.footer-content p{color:#606070;color:var(--text-muted);font-size:.9rem}.footer-tagline{color:#a0a0b0;color:var(--text-secondary);margin-top:8px}@media (max-width:1024px){.hero-section{flex-direction:column;padding-top:120px;text-align:center}.hero-content{max-width:100%}.hero-cta,.hero-stats{justify-content:center}.hero-visual{width:100%}.about-content,.skills-grid{grid-template-columns:1fr}}@media (max-width:768px){.navbar{gap:2px;padding:6px 8px}.nav-link{font-size:.75rem;padding:6px 10px}.hero-section{padding:100px 5% 60px}.hero-stats{flex-direction:column;gap:20px}.stat-divider{height:1px;width:40px}.code-window{max-width:100%}.section{padding:80px 5%}.timeline-item{flex-direction:column;gap:16px}.timeline-marker{flex-direction:row;gap:16px}.marker-line{flex:1 1;height:2px;margin:0;width:auto}.contact-methods{align-items:center;flex-direction:column}.contact-card{max-width:300px;width:100%}.projects-grid{grid-template-columns:1fr}}@media (max-width:480px){.hero-badge{font-size:.75rem;padding:6px 12px}.hero-cta{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;width:100%}.cert-grid{flex-direction:column}.cert-badge{justify-content:center}}.valentine-container,.valentine-container *{cursor:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27><text y=%2724%27 font-size=%2724%27>%F0%9F%92%96</text></svg>") 16 16,auto}.valentine-container{align-items:center;animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#ff9a9e,#fecfef 25%,#fda4af 50%,#f472b6 75%,#ec4899);background-size:400% 400%;display:flex;flex-direction:column;font-family:Segoe UI,Comic Sans MS,cursive,sans-serif;justify-content:center;min-height:100vh;position:relative;width:100%}@keyframes gradientShift{0%,to{background-position:0 50%}25%{background-position:100% 50%}50%{background-position:100% 100%}75%{background-position:0 100%}}.floating-hearts-bg{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:1}.floating-heart{animation:floatUp linear infinite;bottom:-50px;filter:drop-shadow(0 0 5px rgba(255,105,180,.5));opacity:.7;position:absolute}@keyframes floatUp{0%{opacity:0;transform:translateY(0) rotate(0deg) scale(1)}10%{opacity:.7}90%{opacity:.7}to{opacity:0;transform:translateY(-110vh) rotate(1turn) scale(.5)}}.music-toggle{background:#ffffffe6;border:2px solid #ff69b4;border-radius:25px;box-shadow:0 4px 15px #ff69b44d;cursor:pointer;font-size:14px;padding:10px 20px;position:fixed;right:20px;top:20px;transition:all .3s ease;z-index:1000}.music-toggle:hover{background:#ff69b4;color:#fff;transform:scale(1.1)}.asking-screen,.catching-screen,.celebration-screen,.intro-screen{max-width:800px;padding:20px;position:relative;text-align:center;width:100%;z-index:10}.asking-title,.main-title{color:#fff;font-size:clamp(2rem,6vw,4rem);line-height:1.3;margin-bottom:30px;text-shadow:0 0 10px #ff69b4,0 0 20px #ff69b4,0 0 30px #ff69b4,0 0 40px #ff1493,3px 3px 0 #d63384}.subtitle{color:#fff;font-size:clamp(1rem,3vw,1.5rem);margin-bottom:40px;text-shadow:2px 2px 4px #0003}.animate-title{animation:titlePulse 2s ease-in-out infinite,titleBounce .5s ease-out}@keyframes titlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes titleBounce{0%{opacity:0;transform:translateY(-50px) scale(.5)}50%{transform:translateY(10px) scale(1.1)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-subtitle{animation:fadeInUp 1s ease-out .5s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.start-button{animation:gradientButton 3s ease infinite;background:linear-gradient(45deg,#ff6b6b,#ff69b4,#ff1493);background-size:200% 200%;border:none;border-radius:50px;box-shadow:0 10px 30px #ff69b466,0 0 0 0 #ff69b4b3;color:#fff;cursor:pointer;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700;letter-spacing:2px;padding:20px 50px;text-transform:uppercase;transition:all .3s ease}@keyframes gradientButton{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.start-button:hover{box-shadow:0 15px 40px #ff69b480,0 0 0 10px #ff69b433;transform:translateY(-5px) scale(1.05)}.bounce-animation{animation:bounce 2s ease infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.catching-screen{align-items:center;display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;padding-top:50px}.catching-title{color:#fff;font-size:clamp(1.5rem,4vw,2.5rem);margin-bottom:20px;text-shadow:2px 2px 4px #0000004d}.hearts-counter{background:#fffffff2;border-radius:20px;box-shadow:0 10px 30px #0003;margin-bottom:30px;padding:20px 40px}.heart-count{color:#ff1493;font-size:3rem;font-weight:700}.heart-total{color:#888;font-size:1.5rem}.progress-bar{background:#f0f0f0;border-radius:10px;height:15px;margin-top:10px;overflow:hidden;width:200px}.progress-fill{background:linear-gradient(90deg,#ff69b4,#ff1493);border-radius:10px;height:100%;transition:width .3s ease}.clickable-heart{background:none;border:none;cursor:pointer;filter:drop-shadow(0 5px 15px rgba(255,105,180,.5));position:absolute;transition:transform .1s ease;z-index:100}.clickable-heart:hover{transform:scale(1.2)}.clickable-heart:active{transform:scale(.9)}.pulse-animation{animation:pulse .6s ease-in-out infinite,fadeInHeart .3s ease-out}.clickable-heart.fast-heart{animation:pulse .4s ease-in-out infinite,jiggle .3s ease-in-out infinite,fadeInHeart .3s ease-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes jiggle{0%,to{translate:0 0}25%{translate:8px -5px}50%{translate:-5px 8px}75%{translate:5px 5px}}@keyframes fadeInHeart{0%{opacity:0;scale:.3}to{opacity:1;scale:1}}.sparkle{animation:sparkleAnim 1s ease-out forwards;pointer-events:none;position:absolute;z-index:200}@keyframes sparkleAnim{0%{opacity:1;transform:scale(0)}50%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(.5) translateY(-30px)}}.asking-screen{flex-direction:column;min-height:100vh}.asking-screen,.buttons-container{align-items:center;display:flex;justify-content:center}.buttons-container{flex-wrap:wrap;gap:30px;margin-top:30px;min-height:200px;position:relative;width:100%}.yes-button{animation:gradientButton 3s ease infinite,bounce 2s ease infinite;background:linear-gradient(45deg,#00c853,#69f0ae,#00e676);background-size:200% 200%;border:none;border-radius:50px;box-shadow:0 10px 30px #00c85366,0 0 20px #00c8534d;color:#fff;cursor:pointer;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;letter-spacing:3px;padding:25px 60px;text-transform:uppercase;transition:all .3s ease}.yes-button:hover{box-shadow:0 15px 40px #00c85399,0 0 40px #00c85366;transform:scale(1.15) translateY(-5px)}.no-button{background:linear-gradient(45deg,#f44,#ff6b6b);border:none;border-radius:50px;box-shadow:0 5px 15px #ff44444d;color:#fff;cursor:not-allowed;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:700;padding:20px 40px;transition:none}.no-button.escaping{pointer-events:auto;transition:left .3s ease-out,top .3s ease-out,transform .3s ease,opacity .3s ease}.escape-message{animation:fadeInUp .5s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border-radius:20px;color:#fff;font-size:clamp(1rem,2.5vw,1.3rem);margin-top:30px;padding:15px 30px;text-shadow:2px 2px 4px #0000004d}.celebration-screen{align-items:center;animation:gradientShift 5s ease infinite;background:linear-gradient(135deg,#ff6b6b,#ff69b4 25%,#ff1493 50%,#e91e63 75%,#d63384);background-size:400% 400%;display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;position:relative;width:100%}.celebration-content{padding:20px;position:relative;text-align:center;z-index:10}.celebration-title{color:#fff;font-size:clamp(2rem,8vw,5rem);margin-bottom:30px;text-shadow:0 0 20px gold,0 0 40px gold,0 0 60px gold,4px 4px 0 #ff6b6b}.animate-celebration{animation:celebrationPulse .5s ease-in-out infinite,rainbowGlow 2s ease-in-out infinite}@keyframes celebrationPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes rainbowGlow{0%,to{text-shadow:0 0 20px red,0 0 40px red,0 0 60px red}33%{text-shadow:0 0 20px gold,0 0 40px gold,0 0 60px gold}66%{text-shadow:0 0 20px #ff69b4,0 0 40px #ff69b4,0 0 60px #ff69b4}}.hearts-explosion{left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.explosion-heart{animation:explode 2s ease-out forwards;font-size:2rem;position:absolute}@keyframes explode{0%{opacity:1;transform:translate(-50%,-50%) rotate(0deg) scale(0)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-200px) scale(1.5)}}.celebration-message{color:#fff;font-size:clamp(1.5rem,4vw,2.5rem);margin:20px 0;text-shadow:2px 2px 4px #0000004d}.celebration-submessage{color:#ffe4ec;font-size:clamp(1rem,3vw,1.5rem);margin-bottom:30px}.animate-message{animation:fadeInUp 1s ease-out .5s both}.animate-submessage{animation:fadeInUp 1s ease-out 1s both}.final-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;box-shadow:0 10px 40px #0003;margin-top:30px;padding:30px 50px}.love-quote{color:#fff;font-size:clamp(1.2rem,3vw,2rem);font-style:italic;text-shadow:1px 1px 3px #0003}.animate-final{animation:fadeInUp 1s ease-out 1.5s both,glow 2s ease-in-out 2s infinite}@keyframes glow{0%,to{box-shadow:0 0 20px #ffffff4d}50%{box-shadow:0 0 40px #fff9}}.floating-emojis-celebration{bottom:0;height:100%;left:0;pointer-events:none;position:fixed;width:100%;z-index:5}.floating-emoji{animation:floatUpEmoji 8s linear infinite;bottom:-50px;font-size:2rem;position:absolute}@keyframes floatUpEmoji{0%{opacity:0;transform:translateY(0) rotate(0deg)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-110vh) rotate(1turn)}}.confetti-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:1000}.confetti-piece{animation:confettiFall linear forwards;position:absolute;top:-20px}.confetti-square{border-radius:2px}.confetti-circle{border-radius:50%}.confetti-heart{background:#0000!important;font-size:12px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:0;transform:translateY(100vh) rotate(2turn)}}.firework{animation:fireworkBurst 2s ease-out forwards;background:var(--fw-color);border-radius:50%;box-shadow:0 0 20px var(--fw-color),0 0 40px var(--fw-color),0 0 60px var(--fw-color);height:10px;position:absolute;width:10px}@keyframes fireworkBurst{0%{opacity:1;transform:scale(0)}50%{opacity:1;transform:scale(3)}to{opacity:0;transform:scale(5)}}@media (max-width:768px){.valentine-container{padding:10px}.buttons-container{flex-direction:column;gap:20px}.no-button,.yes-button{padding:15px 40px}.music-toggle{font-size:12px;padding:8px 15px;right:10px;top:10px}.hearts-counter{padding:15px 30px}.heart-count{font-size:2rem}.final-message{margin:20px;padding:20px 30px}}@media (max-width:480px){.asking-title,.main-title{font-size:1.8rem}.celebration-title{font-size:2rem}.start-button{font-size:1rem;padding:15px 30px}}.valentine-container{bottom:0;right:0}.photo-collage-bg,.valentine-container{left:0;overflow:hidden;position:fixed;top:0}.photo-collage-bg{height:100%;pointer-events:none;width:100%;z-index:5}.collage-photo{animation:photoFloat 8s ease-in-out infinite,photoAppear 1s ease-out forwards;border-radius:15px;box-shadow:0 10px 30px #0006,0 0 0 4px #ffffff80;opacity:0;overflow:hidden;position:absolute}.collage-photo img{height:100%;object-fit:cover;width:100%}.collage-photo .photo-heart{animation:heartPulse 1s ease-in-out infinite;bottom:-5px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:1.5rem;position:absolute;right:-5px}@keyframes photoAppear{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:.9;transform:scale(1) rotate(0deg);transform:scale(1) rotate(var(--rotation,0deg))}}@keyframes photoFloat{0%,to{transform:translateY(0) rotate(0deg);transform:translateY(0) rotate(var(--rotation,0deg))}50%{transform:translateY(-15px) rotate(2deg);transform:translateY(-15px) rotate(calc(var(--rotation, 0deg) + 2deg))}}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.collage-photo.photo-1{--rotation:-8deg;height:180px;left:3%;top:5%;width:140px}.collage-photo.photo-2{--rotation:5deg;height:170px;right:5%;top:8%;width:130px}.collage-photo.photo-3{--rotation:-5deg;bottom:25%;height:150px;left:2%;width:120px}.collage-photo.photo-4{--rotation:10deg;bottom:5%;height:175px;left:15%;width:135px}.collage-photo.photo-5{--rotation:-12deg;bottom:8%;height:160px;right:3%;width:125px}.collage-photo.photo-6{--rotation:7deg;height:145px;left:1%;top:40%;width:115px}.collage-photo.photo-7{--rotation:-3deg;height:165px;right:2%;top:35%;width:130px}@media (max-width:768px){.collage-photo{box-shadow:0 5px 15px #0000004d,0 0 0 3px #fff6}.collage-photo.photo-1{height:130px;left:2%;top:3%;width:100px}.collage-photo.photo-2{height:120px;right:2%;top:5%;width:95px}.collage-photo.photo-3{bottom:30%;height:115px;left:1%;width:90px}.collage-photo.photo-4{bottom:3%;height:125px;left:5%;width:100px}.collage-photo.photo-5{bottom:5%;height:115px;right:2%;width:90px}.collage-photo.photo-6{height:105px;left:0;top:45%;width:85px}.collage-photo.photo-7{height:120px;right:1%;top:40%;width:95px}.collage-photo .photo-heart{font-size:1rem}}*{-webkit-tap-highlight-color:transparent}button{-webkit-appearance:none;appearance:none}
/*# sourceMappingURL=main.fa28adac.css.map*/