@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Poppins:wght@400;500;600;700;800;900&display=swap";:root{--bg-primary: #0a0a0f;--bg-secondary: #11111b;--primary-color: #8b5cf6;--secondary-color: #ec4899;--accent-color: #06b6d4;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--font-primary: "Inter", sans-serif;--font-heading: "Poppins", sans-serif;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-primary);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(pointer:fine){body,a,button,input,textarea,select{cursor:none}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary-color),var(--secondary-color));border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--secondary-color),var(--primary-color))}::selection{background:var(--primary-color);color:#fff}::-moz-selection{background:var(--primary-color);color:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.text-gradient{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-effect{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}@media(max-width:768px){html{font-size:14px}}@media(max-width:480px){html{font-size:13px}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 2rem;transition:all .3s ease;background:transparent}.navbar.scrolled{background:#11111bcc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 30px #0000004d;padding:1rem 2rem}.nav-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-logo{cursor:pointer;transition:transform .3s ease}.nav-logo:hover{transform:scale(1.05)}.logo-text{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.hamburger{display:flex;flex-direction:column;gap:4px;width:28px}.hamburger span{display:block;width:100%;height:2px;background:var(--text-primary);transition:all .3s ease;border-radius:2px}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.nav-links{display:flex;gap:2.5rem;list-style:none;margin:0;padding:0}.nav-link{background:none;border:none;color:var(--text-secondary);font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 0;transition:all .3s ease;position:relative;text-transform:capitalize}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));transition:width .3s ease}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link:hover:after,.nav-link.active:after{width:100%}@media(max-width:768px){.mobile-menu-toggle{display:block}.nav-links{position:fixed;top:70px;right:-100%;flex-direction:column;gap:0;width:250px;background:#11111bf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:12px;box-shadow:0 8px 32px #00000080;transition:right .3s ease}.nav-links.mobile-active{right:2rem}.nav-link{width:100%;text-align:left;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.nav-link:last-child{border-bottom:none}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:6rem 2rem 2rem}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:float 20s infinite ease-in-out}.orb-1{width:600px;height:600px;background:radial-gradient(circle,var(--primary-color),transparent);top:-300px;left:-200px}.orb-2{width:500px;height:500px;background:radial-gradient(circle,var(--secondary-color),transparent);bottom:-250px;right:-100px;animation-delay:7s}.orb-3{width:400px;height:400px;background:radial-gradient(circle,var(--accent-color),transparent);top:40%;right:20%;animation-delay:14s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.hero-container{max-width:1300px;width:100%;display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:center;padding:0 2rem}.hero-left{display:flex;justify-content:center;align-items:center}.profile-wrapper{position:relative;width:350px;height:350px}.profile-image-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.profile-avatar{width:280px;height:280px;border-radius:50%;object-fit:cover;border:5px solid rgba(255,255,255,.1);position:relative;z-index:2;transition:transform .4s ease,box-shadow .4s ease}.profile-avatar:hover{transform:scale(1.05);box-shadow:0 0 60px #8b5cf680}.avatar-ring{position:absolute;width:320px;height:320px;border-radius:50%;border:3px dashed rgba(139,92,246,.4);z-index:1;animation:ring-spin 20s linear infinite}.avatar-glow{position:absolute;width:340px;height:340px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));z-index:0;opacity:.2;filter:blur(30px);animation:pulse-glow 3s ease-in-out infinite}@keyframes ring-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.35;transform:scale(1.05)}}.floating-badge{position:absolute;display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:50px;font-size:.85rem;font-weight:500;color:var(--text-primary);z-index:3;animation:badge-float 4s ease-in-out infinite}.badge-icon{font-size:1rem}.badge-1{top:10%;right:-10%;animation-delay:0s}.badge-2{bottom:20%;left:-15%;animation-delay:1.5s}.badge-3{bottom:5%;right:0%;animation-delay:3s}@keyframes badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-right{display:flex;flex-direction:column}.hero-content{text-align:left}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:50px;font-size:.85rem;color:#22c55e;margin-bottom:1.5rem;animation:fadeInUp 1s ease-out backwards}.status-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:status-pulse 2s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.5}}.greeting{display:flex;align-items:center;gap:.8rem;font-size:1.2rem;color:var(--text-secondary);margin-bottom:.5rem;animation:fadeInUp 1s ease-out .1s backwards}.wave{display:inline-block;animation:wave 2s infinite;transform-origin:70% 70%}@keyframes wave{0%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-name{font-size:clamp(2.8rem,6vw,4.5rem);font-weight:800;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;line-height:1.1;animation:fadeInUp 1s ease-out .2s backwards}.hero-tagline{font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--text-primary);margin-bottom:1.5rem;min-height:2rem;animation:fadeInUp 1s ease-out .3s backwards}.typing-text{font-weight:500}.cursor{animation:blink 1s infinite;color:var(--primary-color)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.hero-description{font-size:1.05rem;color:var(--text-secondary);line-height:1.7;max-width:550px;margin-bottom:2rem;animation:fadeInUp 1s ease-out .4s backwards}.hero-stats{display:flex;align-items:center;gap:2rem;margin-bottom:2rem;animation:fadeInUp 1s ease-out .5s backwards}.stat-item{display:flex;flex-direction:column}.stat-number{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.stat-label{font-size:.85rem;color:var(--text-secondary);margin-top:.3rem}.stat-divider{width:1px;height:40px;background:#ffffff1a}.hero-buttons{display:flex;gap:1rem;margin-bottom:2rem;animation:fadeInUp 1s ease-out .6s backwards}.hero-buttons .btn{display:inline-flex;align-items:center;gap:.5rem}.hero-buttons .btn-primary svg{transition:transform .3s ease}.hero-buttons .btn-primary:hover svg{transform:translate(5px)}.social-links{display:flex;gap:.8rem;animation:fadeInUp 1s ease-out .7s backwards}.social-link{width:44px;height:44px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .3s ease}.social-link:hover{background:#ffffff1a;border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-3px)}.social-link-more{font-size:1.2rem;font-weight:600;background:linear-gradient(135deg,#8b5cf633,#ec489933);border-color:#8b5cf64d}.social-link-more:hover{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border-color:transparent}@media(max-width:1024px){.hero-container{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-left{order:1}.hero-right{order:2}.hero-content{text-align:center;align-items:center}.profile-wrapper{width:280px;height:280px}.profile-avatar{width:220px;height:220px}.avatar-ring{width:260px;height:260px}.avatar-glow{width:280px;height:280px}.floating-badge{display:none}.hero-stats,.hero-buttons,.social-links{justify-content:center}.hero-description,.status-badge{margin-left:auto;margin-right:auto}.greeting{justify-content:center}}@media(max-width:768px){.hero{padding:5rem 1.5rem 2rem}.profile-wrapper{width:220px;height:220px}.profile-avatar{width:180px;height:180px}.avatar-ring{width:210px;height:210px}.avatar-glow{width:220px;height:220px}.hero-stats{gap:1.5rem}.stat-number{font-size:1.5rem}.stat-divider{height:30px}.hero-buttons{flex-direction:column;width:100%;max-width:300px;margin-left:auto;margin-right:auto}.hero-buttons .btn{width:100%;justify-content:center}.social-links{flex-wrap:wrap;max-width:280px;margin:0 auto}}.about{padding:6rem 2rem;background:var(--bg-secondary);position:relative}.about-content{max-width:900px;margin:0 auto}.about-text p{font-size:1.1rem;line-height:1.8;color:var(--text-secondary);margin-bottom:1.5rem}.about-intro{font-size:1.3rem!important;color:var(--text-primary)!important;margin-bottom:2rem!important}.highlight{color:var(--primary-color);font-weight:600}.about-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin:3rem 0;padding:2rem 0}.highlight-item{text-align:center;padding:2rem;background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;transition:all .3s ease}.highlight-item:hover{transform:translateY(-10px);background:#ffffff0d;border-color:var(--primary-color);box-shadow:0 10px 30px #8b5cf633}.highlight-number{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.highlight-label{font-size:1rem;color:var(--text-secondary);font-weight:500}.about-quote{margin-top:3rem;padding:2rem;background:#8b5cf61a;border-left:4px solid var(--primary-color);border-radius:8px}.about-quote p{font-size:1.2rem;font-style:italic;color:var(--text-primary);margin:0}@media(max-width:768px){.about{padding:4rem 1.5rem}.about-text p{font-size:1rem}.about-intro{font-size:1.1rem!important}.about-highlights{grid-template-columns:1fr;gap:1.5rem}.highlight-number{font-size:2.5rem}}.skills-section{padding:8rem 2rem;background:var(--bg-primary);position:relative;overflow:hidden}.skills-content-wrapper{display:flex;flex-wrap:wrap;gap:4rem;max-width:1200px;margin:0 auto;align-items:center}.radar-chart-section{flex:1;min-width:350px;display:flex;justify-content:center}.chart-glass-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:24px;padding:2.5rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);width:100%;max-width:500px;position:relative;box-shadow:0 10px 40px #0000004d}.chart-title{text-align:center;font-size:1.5rem;font-weight:700;margin-bottom:2rem;font-family:var(--font-heading);background:linear-gradient(135deg,#fff,#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.radar-container{position:relative;width:100%;aspect-ratio:1 / 1;margin-top:1rem}.radar-svg{width:100%;height:100%;overflow:visible}.radar-grid-polygon{fill:#ffffff05;stroke:#ffffff1a;stroke-width:1}.radar-axis{stroke:#ffffff1a;stroke-width:1;stroke-dasharray:4,4}.radar-data-polygon{fill:url(#polygonGradient);stroke:#38bdf8;stroke-width:2;filter:drop-shadow(0 0 8px rgba(56,189,248,.5));transition:all .3s ease}.radar-data-polygon:hover{fill-opacity:.9;filter:drop-shadow(0 0 12px rgba(56,189,248,.8))}.radar-data-point{fill:var(--bg-primary);stroke:#8b5cf6;stroke-width:2;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.radar-data-point.hovered{fill:#38bdf8;stroke:#fff;stroke-width:3;r:7;filter:drop-shadow(0 0 10px rgba(139,92,246,.8))}.radar-data-point-group{cursor:pointer}.radar-label{fill:var(--text-secondary);font-size:13px;font-weight:500;transition:all .3s ease;-webkit-user-select:none;user-select:none}.radar-label.highlighted{fill:#fff;font-weight:700;text-shadow:0 0 8px rgba(139,92,246,1);font-size:14px}.radar-tooltip{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);background:#0f172ad9;border:1px solid rgba(139,92,246,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;border-radius:12px;width:250px;text-align:center;box-shadow:0 10px 25px #00000080,0 0 15px #8b5cf633;animation:tooltipFadeIn .3s forwards;z-index:10}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.tooltip-title{color:#38bdf8;font-weight:700;margin-bottom:.5rem;font-size:1.1rem}.tooltip-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.4;margin:0}.secondary-skills-section{flex:1;min-width:300px;display:flex;flex-direction:column}.secondary-title{font-size:1.3rem;color:var(--text-primary);margin-bottom:2.5rem;position:relative;display:inline-block;font-family:var(--font-heading)}.secondary-title:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;background:linear-gradient(90deg,#8b5cf6,#38bdf8);border-radius:2px}.circular-skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:2rem}.circular-skill-card{display:flex;flex-direction:column;align-items:center;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:20px;padding:1.5rem 1rem;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.circular-skill-card:hover{transform:translateY(-8px);background:#ffffff0a;border-color:#8b5cf64d;box-shadow:0 15px 30px #0003,0 0 15px #38bdf81a}.circular-progress-container{position:relative;width:100px;height:100px;margin-bottom:1.2rem}.circular-progress-svg{width:100%;height:100%;transform:rotate(-90deg)}.circle-bg{fill:none;stroke:#ffffff0d;stroke-width:6}.circle-progress{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.175,.885,.32,1.275);filter:drop-shadow(0 0 4px rgba(56,189,248,.4))}.circular-label-inner{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.proficiency-label{font-size:.8rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#fff,#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.circular-skill-name{font-size:.95rem;font-weight:500;color:var(--text-secondary);text-align:center;margin:0;transition:color .3s ease}.circular-skill-card:hover .circular-skill-name{color:var(--text-primary)}.bg-glow{position:absolute;filter:blur(100px);opacity:.3;border-radius:50%;z-index:0;pointer-events:none}.bg-glow.blob-1{width:500px;height:500px;background:#8b5cf633;top:-100px;right:-200px;animation:pulseGlow 15s infinite alternate}.bg-glow.blob-2{width:400px;height:400px;background:#38bdf826;bottom:-150px;left:-100px;animation:pulseGlow 20s infinite alternate-reverse}@keyframes pulseGlow{0%{transform:scale(1) translate(0)}to{transform:scale(1.1) translate(-50px,50px)}}@media(max-width:900px){.skills-content-wrapper{gap:3rem}}@media(max-width:600px){.skills-section{padding:5rem 1.5rem}.chart-glass-card{padding:1.5rem}.radar-tooltip{bottom:-70px;width:220px;padding:.8rem}}.vertical-journey-section{padding:8rem 2rem;background:var(--bg-primary);overflow:hidden}.vt-timeline-container{max-width:1000px;margin:4rem auto 0;position:relative}.vt-line{position:absolute;left:50%;transform:translate(-50%);top:10px;bottom:20px;width:2px;background:#ffffff0d;z-index:1}.vt-line-progress{width:100%;height:100%;background:linear-gradient(180deg,var(--primary-color),var(--secondary-color),transparent);border-radius:2px;box-shadow:0 0 10px var(--primary-color)}.vt-nodes{display:flex;flex-direction:column;align-items:center;gap:2rem;position:relative;z-index:2;width:100%}.vt-node{width:50%;position:relative;padding-bottom:1.5rem}.node-left{align-self:flex-start;padding-right:40px;padding-left:0;text-align:right}.node-right{align-self:flex-end;padding-left:40px;padding-right:0;text-align:left}.node-left .vt-dot{right:-12px;left:auto}.node-right .vt-dot{left:-12px;right:auto}.vt-dot{position:absolute;top:14px;width:24px;height:24px;border-radius:50%;background:var(--bg-primary);border:3px solid rgba(255,255,255,.2);cursor:pointer;box-shadow:0 0 0 4px var(--bg-primary);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:3}.vt-node:hover .vt-dot{border-color:#8b5cf699;transform:scale(1.1)}.vt-dot-glow{position:absolute;inset:-3px;border-radius:50%;background:var(--primary-color);box-shadow:0 0 15px #8b5cf6cc,0 0 30px #3b82f699;z-index:-1}.node-left:before{content:"";position:absolute;right:12px;top:25px;width:28px;height:2px;background:#ffffff1a;z-index:1;transition:background .3s ease}.node-right:before{content:"";position:absolute;left:12px;top:25px;width:28px;height:2px;background:#ffffff1a;z-index:1;transition:background .3s ease}.vt-node.active:before{background:#8b5cf699}.vt-header{cursor:pointer;display:inline-flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.8rem 1.2rem;border-radius:12px;transition:all .2s ease;border:1px solid transparent}.node-left .vt-header{justify-content:flex-end}.node-right .vt-header{justify-content:flex-start}.vt-header:hover{background:#ffffff08;border-color:#ffffff0d}.vt-node.active .vt-header{background:#8b5cf61a;border-color:#8b5cf633}.vt-role{font-size:1rem;font-weight:500;color:#fffc;margin:0;font-family:var(--font-heading);line-height:1.4}.vt-company{color:var(--primary-color);font-size:1.5rem;font-weight:700;display:block;margin-bottom:.2rem}.vt-duration-opposite{position:absolute;top:9px}.node-left .vt-duration-opposite{right:-30px;transform:translate(100%);text-align:left}.node-right .vt-duration-opposite{left:-30px;transform:translate(-100%);text-align:right}.duration-text{font-size:.9rem;color:var(--text-secondary);background:#0f172a99;padding:.4rem 1rem;border-radius:20px;display:inline-block;border:1px solid rgba(255,255,255,.1);white-space:nowrap;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.vt-node:hover .duration-text{border-color:#8b5cf666;background:#8b5cf60d;color:#fff}.vt-node.active .duration-text{border-color:var(--primary-color);background:#8b5cf61a;color:var(--primary-color);box-shadow:0 0 15px #8b5cf633}.vt-duration-mobile{display:none;font-size:.85rem;color:var(--text-secondary);background:#ffffff0d;padding:.25rem .8rem;border-radius:20px;margin-top:.3rem}.terminal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:2rem}.terminal-modal{width:100%;max-width:720px;max-height:85vh;overflow-y:auto}.terminal-modal::-webkit-scrollbar{width:6px}.terminal-modal::-webkit-scrollbar-track{background:transparent}.terminal-modal::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.terminal-modal::-webkit-scrollbar-thumb:hover{background:#ffffff40}.terminal-window{border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0d1117;display:flex;flex-direction:column}.terminal-window.crt-effect{box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d,inset 0 1px #ffffff0d,0 0 40px #7ee7870f,0 0 80px #79c0ff0a}.terminal-header{display:flex;align-items:center;gap:.8rem;padding:.65rem 1rem;background:#161b22;border-bottom:1px solid rgba(255,255,255,.08)}.terminal-buttons{display:flex;align-items:center;gap:7px}.terminal-btn{width:12px;height:12px;border-radius:50%;display:inline-block}.terminal-btn.close{background:#ff5f57;box-shadow:0 0 6px #ff5f5766;cursor:pointer;transition:transform .15s ease}.terminal-btn.close:hover{transform:scale(1.3)}.terminal-btn.minimize{background:#febc2e;box-shadow:0 0 6px #febc2e66}.terminal-btn.maximize{background:#28c840;box-shadow:0 0 6px #28c84066}.terminal-title{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:.75rem;color:#fff6;flex:1;text-align:center;letter-spacing:.5px}.terminal-body{position:relative;padding:1.2rem 1.4rem;font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:.85rem;line-height:1.7;flex:1;overflow-y:auto;max-height:55vh}.scanlines{position:absolute;inset:0;pointer-events:none;z-index:10;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px);animation:scanline-flicker 8s ease-in-out infinite}@keyframes scanline-flicker{0%,to{opacity:.4}50%{opacity:.25}}.terminal-block{margin-bottom:1rem;position:relative;z-index:1}.terminal-block:last-child{margin-bottom:0}.terminal-line{display:flex;align-items:center;gap:0;flex-wrap:wrap}.terminal-line .prompt{color:#7ee787;font-weight:600;white-space:nowrap}.terminal-line .command{color:#79c0ff;font-weight:400}.terminal-output{color:#ffffffb3;padding:.4rem 0 .2rem;font-size:.82rem;line-height:1.65}.inline-cursor{color:#7ee787;font-weight:700;animation:blink .7s step-end infinite;margin-left:1px}.inline-cursor.hidden{display:none}.terminal-results{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.terminal-results li{color:#ffffffbf;font-size:.82rem;display:flex;align-items:flex-start;gap:.5rem}.success-arrow{color:#7ee787;font-weight:700;flex-shrink:0}.result-item{opacity:0;transform:translateY(6px);filter:blur(3px);transition:all .35s ease}.result-item.visible{opacity:1;transform:translateY(0);filter:blur(0)}.tools-list{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.5rem}.terminal-tool-tag{font-size:.75rem;padding:.3rem .75rem;border:1px solid rgba(121,192,255,.25);border-radius:6px;color:#79c0ff;background:#79c0ff14;font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;transition:all .2s ease}.terminal-tool-tag:hover{background:#79c0ff2e;border-color:#79c0ff80;color:#fff}.run-command{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;margin-left:4px}.run-text{color:#febc2e;font-weight:500;transition:color .2s ease;animation:pulse-glow 2s ease-in-out infinite}.run-command:hover .run-text{color:#fff}.run-hint{font-size:.7rem;color:#ffffff40;background:#ffffff0f;padding:.15rem .45rem;border-radius:4px;border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.run-command:hover .run-hint{background:#febc2e26;border-color:#febc2e4d;color:#febc2e}@keyframes pulse-glow{0%,to{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 8px rgba(254,188,46,.5)}}.typing-indicator{display:inline-flex;align-items:center;margin-left:6px}.dot-pulse{display:inline-flex;gap:3px}.dot-pulse:before,.dot-pulse:after,.dot-pulse{position:relative}.dot-pulse:before{content:"•••";letter-spacing:2px;color:#7ee78799;animation:dot-blink 1.4s ease-in-out infinite}@keyframes dot-blink{0%,to{opacity:.3}50%{opacity:1}}.cursor-blink{color:#7ee787;font-weight:700;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.mt-2{margin-top:.25rem}.terminal-statusbar{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1rem;background:#161b22;border-top:1px solid rgba(255,255,255,.08);font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:.7rem;color:#fff6}.status-left{display:flex;align-items:center;gap:.4rem}.status-icon{font-size:.75rem}.status-right{display:flex;align-items:center}.status-badge{padding:.15rem .6rem;border-radius:10px;background:#febc2e1a;border:1px solid rgba(254,188,46,.2);color:#febc2e;transition:all .3s ease}.status-badge.done{background:#7ee7871a;border-color:#7ee78740;color:#7ee787}@media(max-width:900px){.vt-duration-opposite{display:none}.vt-duration-mobile{display:inline-block}.vt-line{left:20px;transform:none}.vt-node{width:100%;align-self:flex-start}.node-left,.node-right{padding-left:50px;padding-right:0;text-align:left}.node-left .vt-dot,.node-right .vt-dot{left:-11px;right:auto}.node-left:before,.node-right:before{left:13px;right:auto}.node-left .vt-header,.node-right .vt-header{justify-content:flex-start}.terminal-overlay{padding:.75rem}.terminal-modal{max-height:85vh}.terminal-body{padding:1rem;font-size:.78rem;max-height:50vh}.terminal-line .prompt,.terminal-line .command{font-size:.72rem}.terminal-statusbar{font-size:.65rem;padding:.35rem .8rem}.vt-header{padding:.5rem}.vt-role{font-size:1.15rem}}.certifications{padding:6rem 2rem;background:var(--bg-primary)}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.cert-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem;background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:20px;text-decoration:none;color:inherit;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;cursor:pointer}.cert-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color),var(--accent-color));opacity:0;transition:opacity .3s ease}.cert-card:hover{transform:translateY(-8px);background:#ffffff0f;border-color:#8b5cf64d;box-shadow:0 15px 40px #8b5cf626}.cert-card:hover:before{opacity:1}.cert-image-container{width:100%;height:220px;border-radius:12px;overflow:hidden;margin-bottom:1.5rem;box-shadow:0 4px 15px #0003;position:relative}.cert-image{width:100%;height:100%;object-fit:contain;background:#ffffff05;transition:transform .5s ease}.cert-card:hover .cert-image{transform:scale(1.05)}.cert-info{flex:1;margin-bottom:1.5rem}.cert-title{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.cert-issuer{font-size:.95rem;color:var(--text-secondary);margin-bottom:.5rem}.cert-date{font-size:.85rem;color:var(--primary-color);font-weight:500}.cert-view{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:10px;background:#8b5cf61a;color:var(--primary-color);font-size:.9rem;font-weight:500;transition:all .3s ease}.cert-card:hover .cert-view{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}.cert-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:modalFadeIn .3s ease forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.cert-modal-content{position:relative;max-width:900px;width:100%;max-height:90vh;background:var(--bg-primary, #0f172a);border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;box-shadow:0 25px 50px -12px #00000080;border:1px solid rgba(255,255,255,.1);animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.cert-modal-close{position:absolute;top:1rem;right:1.5rem;background:#ffffff1a;border:none;color:#fff;font-size:2rem;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .3s ease;z-index:10;line-height:1}.cert-modal-close:hover{background:#f009}.cert-modal-image{max-width:100%;max-height:calc(90vh - 120px);object-fit:contain;border-radius:10px;margin-bottom:1rem}.cert-modal-title{color:var(--text-primary, #fff);font-size:1.5rem;font-family:var(--font-heading);margin:0;text-align:center}@media(max-width:768px){.certifications{padding:4rem 1.5rem}.cert-grid{grid-template-columns:1fr;gap:1.5rem}.cert-card{padding:1.5rem}.cert-modal{padding:1rem}.cert-modal-close{top:.5rem;right:.5rem}}.projects{padding:6rem 2rem;background:var(--bg-secondary)}.project-filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.8rem 2rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:30px;color:var(--text-secondary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.filter-btn:hover{background:#ffffff1a;border-color:var(--primary-color);color:var(--text-primary)}.filter-btn.active{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-color:transparent;color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;max-width:1400px;margin:0 auto}.project-card{background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-10px);background:#ffffff0d;border-color:var(--primary-color);box-shadow:0 15px 40px #8b5cf633}.project-image-container{position:relative;width:100%;height:200px;overflow:hidden}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-image{transform:scale(1.08)}.project-image-overlay{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(10,10,15,.9),transparent);pointer-events:none}.project-content{display:flex;flex-direction:column;height:100%;padding:1.5rem 2rem 2rem}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.project-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.featured-badge{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.project-description{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1.5rem;flex-grow:1}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-tag{background:#8b5cf633;color:var(--primary-color);padding:.4rem .8rem;border-radius:8px;font-size:.85rem;font-weight:500;border:1px solid rgba(139,92,246,.3)}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.project-tag{color:var(--text-secondary);font-size:.85rem}.project-footer{margin-top:auto;display:flex;gap:.8rem;flex-wrap:wrap}.project-link{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-primary);text-decoration:none;font-weight:500;transition:all .3s ease}.project-link:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translate(5px)}.project-link.demo-link{background:#ec48991a;border-color:#ec48994d;color:var(--secondary-color)}.project-link.demo-link:hover{background:linear-gradient(135deg,var(--secondary-color),var(--primary-color));border-color:transparent;color:#fff}.project-link svg{transition:transform .3s ease}.project-link:hover svg{transform:scale(1.1)}@media(max-width:768px){.projects{padding:4rem 1.5rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-content{padding:1.2rem 1.5rem 1.5rem}.project-title{font-size:1.3rem}.project-header{flex-direction:column;gap:.5rem}.project-image-container{height:160px}}.contact{padding:6rem 2rem 0;background:var(--bg-primary)}.contact-content{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;max-width:1200px;margin:0 auto}.contact-info{display:flex;flex-direction:column;gap:1.5rem}.info-card{background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;transition:all .3s ease}.info-card:hover{transform:translate(10px);background:#ffffff0d;border-color:var(--primary-color)}.info-icon{font-size:2.5rem;margin-bottom:1rem}.info-card h3{font-size:1.2rem;color:var(--text-primary);margin-bottom:.5rem}.info-card p{color:var(--text-secondary);margin-bottom:.8rem;font-size:.95rem}.info-link{color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .3s ease;word-break:break-all}.info-link:hover{color:var(--secondary-color)}.contact-form{background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:var(--text-primary);font-weight:500;margin-bottom:.5rem;font-size:1rem}.form-group input,.form-group textarea{width:100%;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;background:#ffffff14;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b5cf61a}.form-group input.error,.form-group textarea.error{border-color:#ef4444}.error-message{display:block;color:#ef4444;font-size:.85rem;margin-top:.5rem}.submit-btn{width:100%;padding:1rem 2rem;font-size:1.1rem;margin-top:1rem}.footer{margin-top:4rem;padding:2rem 0;border-top:1px solid rgba(255,255,255,.1);background:#0003}.all-socials{margin-top:4rem;text-align:center}.socials-title{font-size:1.5rem;color:var(--text-primary);margin-bottom:2rem;font-weight:600}.socials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;max-width:800px;margin:0 auto}.social-card{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:1.5rem 1rem;background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;color:var(--text-secondary);text-decoration:none;transition:all .3s ease}.social-card:hover{transform:translateY(-5px);background:#ffffff14;border-color:var(--primary-color);color:var(--primary-color);box-shadow:0 10px 30px #8b5cf633}.social-card span{font-size:.9rem;font-weight:500}.social-card.linktree{background:linear-gradient(135deg,#8b5cf61a,#ec48991a);border-color:#8b5cf64d}.social-card.linktree:hover{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-content p{color:var(--text-secondary);margin:0}.footer-links{display:flex;gap:2rem}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:var(--primary-color)}@media(max-width:968px){.contact-content{grid-template-columns:1fr;gap:2rem}.contact-info{grid-row:2}.info-card:hover{transform:translateY(-5px)}}@media(max-width:768px){.contact{padding:4rem 1.5rem 0}.contact-form{padding:2rem 1.5rem}.footer-content{flex-direction:column;text-align:center}.footer-links{gap:1.5rem}}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:10000;transition:opacity .7s ease,visibility .7s ease}.loading-screen.fade-out{opacity:0;visibility:hidden}.loading-content{text-align:center;animation:loadingPulse 1.5s ease-in-out infinite alternate}@keyframes loadingPulse{0%{transform:scale(.98)}to{transform:scale(1.02)}}.loading-logo{width:120px;height:120px;margin:0 auto 1.5rem;position:relative;display:flex;align-items:center;justify-content:center}.loading-logo-text{font-family:var(--font-heading);font-size:3rem;font-weight:900;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;z-index:2}.loading-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid transparent;border-top-color:var(--primary-color);border-right-color:var(--secondary-color);animation:loadingRingSpin 1.2s linear infinite}.loading-ring.ring-2{width:90%;height:90%;border-top-color:var(--secondary-color);border-right-color:var(--accent-color);animation-duration:1.8s;animation-direction:reverse}@keyframes loadingRingSpin{to{transform:rotate(360deg)}}.loading-name{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.loading-tagline{font-size:1rem;color:var(--text-secondary);margin-bottom:2rem}.loading-bar{width:200px;height:3px;background:#ffffff1a;border-radius:3px;margin:0 auto;overflow:hidden}.loading-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:3px;animation:loadingBarFill 1.8s ease-out forwards}@keyframes loadingBarFill{to{width:100%}}.logo-image{width:110px;height:110px;object-fit:contain;border-radius:50%}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:999;opacity:0;visibility:hidden;transform:translateY(20px) scale(.8);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #8b5cf666;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.scroll-to-top:hover{transform:translateY(-4px) scale(1.1);box-shadow:0 8px 30px #8b5cf699}.scroll-to-top:active{transform:translateY(-2px) scale(1.05)}.scroll-to-top svg{transition:transform .3s ease}.scroll-to-top:hover svg{transform:translateY(-2px)}@media(max-width:768px){.scroll-to-top{bottom:1.5rem;right:1.5rem;width:44px;height:44px}}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:99999;opacity:0;transition:opacity .3s ease;will-change:transform}.cursor-dot.visible,.cursor-ring.visible{opacity:1}.cursor-dot{width:8px;height:8px;margin-left:-4px;margin-top:-4px;background:#fff;border-radius:50%;transition:width .3s ease,height .3s ease,margin .3s ease,opacity .3s ease,background .3s ease}.cursor-dot.hovering{width:12px;height:12px;margin-left:-6px;margin-top:-6px;background:var(--primary-color)}.cursor-ring{width:40px;height:40px;margin-left:-20px;margin-top:-20px;border:2px solid rgba(139,92,246,.5);border-radius:50%;transition:width .4s ease,height .4s ease,margin .4s ease,opacity .3s ease,border-color .3s ease,background .3s ease}.cursor-ring.hovering{width:60px;height:60px;margin-left:-30px;margin-top:-30px;border-color:#8b5cf64d;background:#8b5cf614}@media(pointer:coarse),(max-width:768px){.cursor-dot,.cursor-ring{display:none!important}}.App{position:relative;overflow-x:hidden}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;color:var(--text-primary);margin-bottom:1rem}.title-underline{width:100px;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));margin:0 auto 1.5rem;border-radius:2px}.section-subtitle{font-size:1.2rem;color:var(--text-secondary);max-width:700px;margin:0 auto;line-height:1.6}.btn{padding:1rem 2.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 4px 15px #8b5cf64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.btn-secondary{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1);color:var(--text-primary)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--primary-color);transform:translateY(-2px)}.animate-in{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}.animate-visible{opacity:1;transform:translateY(0)}.stat-loading{animation:statPulse 1.2s ease-in-out infinite}@keyframes statPulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out forwards}@media(max-width:768px){.container{padding:0 1.5rem}.section-header{margin-bottom:3rem}.section-subtitle{font-size:1rem}.btn{padding:.9rem 2rem;font-size:.95rem}}
