:root{--dark: #0c0f15;--panel: #131722;--accent1: #5c63ff;--accent2: #8265ff;--text: #f5f7fa;--sub: #bdc5d9;--border: rgba(255, 255, 255, .05)}[data-theme=light]{--dark: #f8fafc;--panel: #ffffff;--accent1: #4f46e5;--accent2: #7c3aed;--text: #1e293b;--sub: #64748b;--border: rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background:var(--dark);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1rem 0;background:#0c0f15d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .3s ease}.navbar.scrolled{background:#0c0f15f2;padding:.5rem 0}.nav-wrap{max-width:1100px;margin:auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-weight:700;font-size:1.4rem;background:linear-gradient(135deg,var(--accent1),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-links{display:flex;list-style:none;gap:1.8rem}.nav-link{background:none;border:none;color:var(--text);font-size:.95rem;cursor:pointer;position:relative;transition:color .3s ease;font-family:inherit}.nav-link:hover,.nav-link.active{color:var(--accent1)}.nav-link:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:linear-gradient(135deg,var(--accent1),var(--accent2));transition:width .35s ease}.nav-link:hover:after,.nav-link.active:after{width:100%}.theme-toggle{background:none;border:2px solid var(--accent1);color:var(--accent1);padding:.5rem;border-radius:50%;cursor:pointer;font-size:1rem;transition:all .3s ease}.theme-toggle:hover{background:var(--accent1);color:#fff}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:0 1.5rem;text-align:center;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at top,var(--panel),transparent 70%),radial-gradient(ellipse at bottom,var(--accent2),transparent 70%);animation:bgMove 18s linear infinite alternate;z-index:-1}@keyframes bgMove{to{transform:translate(-8%,6%)}}.hero h1{font-size:clamp(2.6rem,6vw,4.4rem);margin-bottom:.3em;font-weight:700}.accent{background:linear-gradient(90deg,var(--accent1),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.tagline{font-size:clamp(1.1rem,3vw,1.6rem);color:var(--accent2);margin-bottom:1rem}.blurb{max-width:580px;margin:1.4rem auto 2.2rem;color:var(--sub);font-size:1.1rem}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:13px 34px;border-radius:40px;font-weight:600;font-size:.94rem;letter-spacing:.4px;transition:all .25s ease;text-decoration:none;border:none;cursor:pointer;font-family:inherit}.btn.small{padding:8px 20px;font-size:.85rem}.btn.primary{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff}.btn.primary:hover{box-shadow:0 8px 28px #8165ff59;transform:translateY(-3px)}.btn.outline{border:2px solid var(--accent1);color:var(--accent1);background:transparent}.btn.outline:hover{background:var(--accent1);color:#fff;transform:translateY(-3px)}section{padding:110px 0}.container{max-width:1100px;margin:auto;padding:0 2rem;text-align:center}.sec-title{font-size:2.5rem;font-weight:700;margin-bottom:1.4rem;background:linear-gradient(135deg,var(--accent1),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subsection-title{font-size:1.8rem;margin:3rem 0 2rem;color:var(--text)}.about-section{background:var(--panel)}.about-content{max-width:800px;margin:0 auto}.about-content p{color:var(--sub);font-size:1.1rem;margin-bottom:2rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem;margin-top:3rem}.stat{background:#5c63ff1a;padding:2rem 1rem;border-radius:16px;border:1px solid var(--border);transition:all .4s cubic-bezier(.25,.8,.25,1);overflow:hidden}.stat:hover{transform:translateY(-6px);box-shadow:0 18px 34px #05060f8c;border-color:var(--accent1)}.stat h3{font-size:2.5rem;color:var(--accent1);margin-bottom:.5rem}.stat p{color:var(--sub)}.skills-section{padding:110px 0}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.skill-category{background:var(--panel);padding:2rem;border-radius:16px;border:1px solid var(--border);text-align:left;transition:all .4s cubic-bezier(.25,.8,.25,1);overflow:hidden}.skill-category:hover{transform:translateY(-6px);box-shadow:0 18px 34px #05060f8c;border-color:var(--accent1)}.skill-category h3{color:var(--accent1);margin-bottom:1rem;font-size:1.2rem}.skills-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{display:inline-block;padding:6px 14px;border-radius:20px;background:#5c63ff2e;color:var(--accent1);font-size:.85rem;font-weight:500;border:1px solid rgba(92,99,255,.3)}.projects-section{background:var(--panel);padding:110px 0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:3rem}.projects-grid.secondary .card{background:var(--dark)}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:2rem;text-align:left;position:relative;transition:all .4s cubic-bezier(.25,.8,.25,1);overflow:hidden}.card:hover{transform:translateY(-6px);box-shadow:0 18px 34px #05060f8c;border-color:var(--accent1)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.card h3{font-size:1.25rem;color:var(--text);margin:0}.expand-btn{background:none;border:none;color:var(--accent1);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease}.expand-btn:hover{background:#5c63ff1a}.expand-icon{font-weight:700}.tech-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.card-description{color:var(--sub);margin-bottom:1rem}.card-details{overflow:hidden;border-top:1px solid var(--border);padding-top:1rem}.details-list{list-style:none;margin-bottom:1.5rem}.details-list li{color:var(--sub);font-size:.93rem;line-height:1.6;margin-bottom:.5rem;padding-left:1rem;position:relative}.details-list li:before{content:"▸";color:var(--accent1);position:absolute;left:0}.card-links{display:flex;gap:1rem;flex-wrap:wrap}.contact-section{padding:110px 0}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;text-align:left}.contact-info h3{color:var(--accent1);margin-bottom:1rem;font-size:1.5rem}.contact-info p{color:var(--sub);margin-bottom:2rem;line-height:1.6}.contact-details{margin:2rem 0}.contact-item{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;color:var(--sub)}.contact-item span:first-child{font-size:1.2rem}.social-links{display:flex;gap:1rem}.social-links a{color:var(--accent1);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--accent1);border-radius:25px;transition:all .3s ease}.social-links a:hover{background:var(--accent1);color:#fff}.contact-form{background:var(--panel);padding:2rem;border-radius:16px;border:1px solid var(--border)}.form-group{margin-bottom:1.5rem}.form-group input,.form-group textarea{width:100%;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--dark);color:var(--text);font-size:1rem;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent1)}.form-group textarea{resize:vertical;min-height:120px}.footer{padding:3rem 0;background:var(--dark);text-align:center;color:var(--sub);font-size:.9rem;border-top:1px solid var(--border)}.footer p{margin-bottom:.5rem}@media (max-width: 768px){.nav-links{gap:1rem}.hero-buttons{flex-direction:column;align-items:center}.projects-grid{grid-template-columns:1fr}.contact-content{grid-template-columns:1fr;gap:2rem}.skills-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (max-width: 480px){.container,.nav-wrap{padding:0 1rem}section{padding:80px 0}}
