:root{--bg: #0b0b12;--surface: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .12);--text-primary: #eaeaf0;--text-muted: #a1a1b3;--accent: #8b7cff}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100%;background:radial-gradient(1200px 600px at 50% -200px,rgba(139,124,255,.18),var(--bg));color:var(--text-primary);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}section{padding:6rem 0}.centered{text-align:center}.section-subtitle{margin-top:.6rem;color:var(--text-muted);max-width:620px;margin-left:auto;margin-right:auto}.premium-grid{display:grid;gap:2.5rem;margin-top:3.5rem}.premium-card{background:linear-gradient(180deg,#ffffff1a,#ffffff05);border:1px solid var(--border);border-radius:22px;padding:2.5rem;transition:all .4s ease}.premium-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 0 0 1px #8b7cff66,0 30px 90px #8b7cff73}.navbar{position:fixed;top:22px;left:50%;transform:translate(-50%);z-index:1000;background:#0f0f16a6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:22px;padding:.6rem 1.4rem}.navbar ul{list-style:none;display:flex;gap:1.4rem}.navbar a{font-size:.85rem;padding:.45rem .9rem;border-radius:14px;color:var(--text-muted);transition:all .3s ease;text-decoration:none}.navbar a:hover{color:var(--text-primary)}.navbar a.active{color:#050508;background:linear-gradient(135deg,#7c7cff,#9b9bff);box-shadow:0 10px 40px #8b7cff8c}.hero-btn{padding:.9rem 1.6rem;border-radius:16px;font-weight:600;font-size:.95rem;transition:all .35s ease;border:1px solid var(--border);text-decoration:none}.hero-btn.primary{background:linear-gradient(135deg,#7c7cff,#9b9bff);color:#050508;box-shadow:0 15px 50px #8b7cff73}.hero-btn.primary:hover{transform:translateY(-4px);box-shadow:0 25px 70px #8b7cffa6}.hero-btn.secondary{background:#ffffff0a;color:var(--text-primary)}.hero-btn.secondary:hover{transform:translateY(-4px);box-shadow:0 20px 60px #8b7cff4d}@media(max-width:768px){html,body,#root{background:radial-gradient(800px 500px at 50% -180px,rgba(139,124,255,.22),var(--bg))}section{padding:5rem 0}}.skill-icon{font-size:2.2rem;color:var(--accent);opacity:.9;transition:all .35s ease}.skill-card{position:relative;animation:skillFloat 6s ease-in-out infinite}.skill-card:hover .skill-icon{transform:scale(1.25) rotate(-3deg);color:#9b9bff;opacity:1}.tooltip{position:absolute;bottom:-42px;left:50%;transform:translate(-50%) translateY(6px);padding:6px 12px;border-radius:10px;font-size:.7rem;white-space:nowrap;background:#0f0f16f2;color:var(--text-primary);border:1px solid var(--border);box-shadow:0 10px 40px #0009;opacity:0;pointer-events:none;transition:all .25s ease}@keyframes skillFloat{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.skill-icon{font-size:2.3rem;background:linear-gradient(135deg,#8b7cff,#bca9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:.9;transition:all .4s ease}.skill-card{position:relative;animation:floatY var(--ft) ease-in-out infinite,floatX calc(var(--ft) * 1.2) ease-in-out infinite;transform:translate(var(--fx),var(--fy))}.skill-card:hover .skill-icon{transform:scale(1.3) rotate(-4deg);background:linear-gradient(135deg,#8b7cff,#ff8df0,#8bffd6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px rgba(139,124,255,.7));opacity:1}.tooltip-wrapper{overflow:visible}.tooltip{position:absolute;bottom:-44px;left:50%;transform:translate(-50%) translateY(6px);padding:6px 12px;border-radius:10px;font-size:.7rem;white-space:nowrap;background:#0f0f16f2;color:var(--text-primary);border:1px solid var(--border);box-shadow:0 10px 40px #0009;opacity:0;pointer-events:none;transition:all .25s ease}.tooltip-wrapper:hover .tooltip{opacity:1;transform:translate(-50%) translateY(0)}@keyframes floatY{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes floatX{0%{transform:translate(0)}50%{transform:translate(6px)}to{transform:translate(0)}}.project-card{width:100%;max-width:420px;padding:2.6rem;border-radius:24px;background:linear-gradient(180deg,#ffffff1a,#ffffff05);border:1px solid var(--border);color:var(--text-primary);text-decoration:none;position:relative;animation:projectFloatY var(--ft) ease-in-out infinite,projectFloatX calc(var(--ft) * 1.2) ease-in-out infinite;transform:translate(var(--fx),var(--fy));transition:all .4s ease}.project-card:hover{transform:translate(var(--fx),calc(var(--fy) - 12px)) scale(1.03);box-shadow:0 0 0 1px #8b7cff73,0 35px 100px #8b7cff73}.project-card h3{margin-bottom:.8rem}.project-desc{color:var(--text-muted);font-size:.95rem;line-height:1.6}.project-tech{margin-top:1.2rem;font-size:.8rem;color:var(--accent)}.project-cta{display:inline-block;margin-top:1.6rem;font-size:.85rem;color:var(--accent)}@keyframes projectFloatY{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes projectFloatX{0%{transform:translate(0)}50%{transform:translate(8px)}to{transform:translate(0)}}.contact-icon{font-size:2.6rem;color:#b4b4c88c;transition:all .4s ease}.contact-card:hover .contact-icon{color:#bca9ff;transform:scale(1.25) rotate(-4deg);filter:drop-shadow(0 0 22px rgba(139,124,255,.75))}.contact-card{position:relative;animation:contactFloatY var(--ft) ease-in-out infinite,contactFloatX calc(var(--ft) * 1.2) ease-in-out infinite;transform:translate(var(--fx),var(--fy))}.contact-card:hover .contact-icon{color:var(--brand);transform:scale(1.25) rotate(-4deg);filter:drop-shadow(0 0 22px var(--brand))}.contact-card,.resume-card{position:relative;animation:contactFloatY var(--ft) ease-in-out infinite,contactFloatX calc(var(--ft) * 1.2) ease-in-out infinite;transform:translate(var(--fx, 0),var(--fy, 0))}.contact-icon{font-size:2.8rem;color:#b4b4c873;transition:all .4s ease}.contact-card:hover .contact-icon,.resume-card:hover .contact-icon{color:var(--brand);transform:scale(1.25) rotate(-4deg);filter:drop-shadow(0 0 22px var(--brand))}@keyframes contactFloatY{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes contactFloatX{0%{transform:translate(0)}50%{transform:translate(8px)}to{transform:translate(0)}}.site-footer{margin-top:6rem;padding:3rem 1.5rem 2.5rem;text-align:center;border-top:1px solid var(--border)}.footer-icons{display:flex;justify-content:center;gap:1.6rem;margin-bottom:1.8rem}.footer-icon{position:relative;font-size:1.9rem;color:#b4b4c873;animation:footerFloatY var(--ft) ease-in-out infinite,footerFloatX calc(var(--ft) * 1.2) ease-in-out infinite;transform:translate(var(--fx),var(--fy));transition:all .4s ease}.footer-icon:hover{color:var(--brand);transform:scale(1.2) rotate(-4deg);filter:drop-shadow(0 0 18px var(--brand))}.footer-text{font-size:.75rem;color:var(--text-muted)}@keyframes footerFloatY{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes footerFloatX{0%{transform:translate(0)}50%{transform:translate(5px)}to{transform:translate(0)}}.code-card{position:relative;background:linear-gradient(180deg,#ffffff14,#ffffff05);border:1px solid var(--border);border-radius:20px;padding:2.2rem;font-family:JetBrains Mono,monospace;font-size:.85rem;color:#d7d7ff;box-shadow:0 20px 60px #00000073,inset 0 0 0 1px #8b7cff26;animation:codeFloat 7s ease-in-out infinite}.code-card pre{margin:0;line-height:1.7;white-space:pre-wrap}.cursor{position:absolute;bottom:24px;right:24px;color:var(--accent);animation:blink 1.1s steps(2) infinite}@keyframes codeFloat{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@media(max-width:900px){#hero .container{grid-template-columns:1fr;text-align:center}.code-card{margin-top:3rem;font-size:.8rem}}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}.hero-text{text-align:left}.hero-subtitle{margin-top:1.6rem;max-width:540px;color:var(--text-muted);font-size:1.05rem;line-height:1.7}.hero-actions{margin-top:2.8rem;display:flex;gap:1.2rem}.code-terminal{background:radial-gradient(circle at top,#9b82ff2e,#000000d9);border:1px solid rgba(155,130,255,.25);border-radius:22px;overflow:hidden;box-shadow:0 40px 120px #0009,inset 0 0 0 1px #9b82ff26;animation:terminalFloat 8s ease-in-out infinite}.terminal-header{display:flex;gap:8px;padding:14px 18px;background:#00000059;border-bottom:1px solid rgba(255,255,255,.06)}.dot{width:11px;height:11px;border-radius:50%}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27c93f}.terminal-body{padding:1.8rem;font-family:JetBrains Mono,monospace;font-size:.88rem;color:#e6e4ff;line-height:1.75}.code-line{opacity:0;animation:fadeIn .35s ease forwards}.typing-cursor{display:inline-block;margin-left:2px;color:var(--accent);animation:blink 1.1s steps(2) infinite}@keyframes terminalFloat{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}@keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-text{text-align:center}.code-terminal{margin-top:3rem}}.ambient-wrapper{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--bg)}.ambient-blob{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(140px);opacity:.35;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.blob-1{background:radial-gradient(circle,#8b7cff,transparent 60%);top:-10%;left:-10%;animation:blobFloat1 42s infinite}.blob-2{background:radial-gradient(circle,#5f9cff,transparent 60%);top:30%;right:-15%;animation:blobFloat2 55s infinite}.blob-3{background:radial-gradient(circle,#b18cff,transparent 60%);bottom:-20%;left:25%;animation:blobFloat3 65s infinite}@keyframes blobFloat1{0%{transform:translate(0) scale(1)}50%{transform:translate(120px,80px) scale(1.1)}to{transform:translate(0) scale(1)}}@keyframes blobFloat2{0%{transform:translate(0) scale(1)}50%{transform:translate(-140px,-60px) scale(1.15)}to{transform:translate(0) scale(1)}}@keyframes blobFloat3{0%{transform:translate(0) scale(1)}50%{transform:translate(80px,-120px) scale(1.12)}to{transform:translate(0) scale(1)}}@media(max-width:768px){.ambient-blob{width:360px;height:360px;filter:blur(120px);opacity:.28}}.hero-glow{transition:all .4s ease}.hero-glow:hover{color:#fff;text-shadow:0 0 20px rgba(139,124,255,.8),0 0 40px rgba(139,124,255,.6)}#hero .container{animation:heroFloat 10s ease-in-out infinite}@keyframes heroFloat{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.hero-name{transition:all .4s ease;text-shadow:0 0 20px rgba(139,124,255,.4),0 0 40px rgba(139,124,255,.25)}.hero-name:hover{text-shadow:0 0 30px rgba(139,124,255,.9),0 0 70px rgba(139,124,255,.6)}#hero .container{animation:heroFloat 9s ease-in-out infinite}@keyframes heroFloat{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:3.5rem}.project-card{background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid var(--border);border-radius:20px;padding:2rem;cursor:pointer;transition:all .35s ease;box-shadow:0 20px 60px #00000059}.project-card:hover{border-color:#8b7cff80}.project-card.open{box-shadow:0 30px 80px #00000080}.project-card h3{margin-bottom:.6rem}.project-context{color:var(--text-muted);font-size:.95rem}.project-details{margin-top:1.6rem;font-size:.95rem;line-height:1.75}.project-details p{margin-bottom:1.2rem}.project-link{display:inline-block;margin-top:.6rem;font-weight:500;color:var(--accent);text-decoration:none}.project-link:hover{text-decoration:underline}@media(max-width:768px){.project-card{padding:1.6rem}}
