:root{--bg:#070b14;--surface:#10172a;--txt:#eef3ff;--muted:#a8b6d8;--pri:#5a8bff;--sec:#8a5bff;--accent:#15d3ff;--navbg:rgba(8,12,22,.58)}
body.light{--bg:#f5f8ff;--surface:#fff;--txt:#0d1a33;--muted:#566178;--pri:#355ddf;--sec:#6d4df8;--accent:#00a4d6;--navbg:rgba(255,255,255,.6)}
*{box-sizing:border-box;scroll-behavior:smooth}body{margin:0;font-family:Inter,sans-serif;background:var(--bg);color:var(--txt);overflow-x:hidden}.container{width:min(1100px,90%);margin:auto}
#page-loader{position:fixed;inset:0;background:#05070d;display:grid;place-items:center;z-index:10000;transition:.5s}#page-loader.hide{opacity:0;visibility:hidden}.loader-ring{width:56px;height:56px;border:4px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}
.cursor-dot,.cursor-outline{position:fixed;pointer-events:none;z-index:9999;border-radius:50%}.cursor-dot{width:8px;height:8px;background:var(--accent)}.cursor-outline{width:30px;height:30px;border:1px solid #ffffff70;transition:transform .15s}
.particle-bg{position:fixed;inset:0;z-index:-1;opacity:.45;background-image:radial-gradient(circle at 20% 30%,#5a8bff66 0,transparent 50%),radial-gradient(circle at 80% 20%,#8a5bff55 0,transparent 40%),radial-gradient(circle at 80% 80%,#15d3ff44 0,transparent 45%)}
#main-nav{position:sticky;top:0;z-index:1000;height:80px;background:rgba(8,18,38,.70);backdrop-filter:blur(16px) saturate(170%);border-bottom:1px solid #7bddff2a;box-shadow:0 12px 34px #00000038;transition:background .35s, box-shadow .35s}#main-nav.scrolled{background:rgba(10,22,46,.78);box-shadow:0 16px 40px #00000048}
.nav-wrap{height:80px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1rem;padding:0 2.4rem}.brand{font-family:Inter,sans-serif;font-weight:700;text-decoration:none;color:#fff;position:relative;display:inline-flex;align-items:center;gap:.45rem}.brand::after{content:"";position:absolute;left:1.45rem;bottom:-6px;width:64%;height:2px;background:linear-gradient(90deg,#19d6ff,#6ef3ff);opacity:.8}.brand i{display:inline-block;transition:transform .35s;color:#79edff}.brand:hover i{transform:rotate(-15deg) scale(1.1)}
.nav-center{display:flex;justify-content:center}.nav-menu{display:flex;gap:2.8rem;list-style:none;padding:0;margin:0}.nav-menu a{color:#fff;text-decoration:none;position:relative;display:inline-block;font-weight:500;letter-spacing:.1px;transition:.25s}.nav-menu a:hover{transform:translateY(-2px)}.nav-menu a::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-8px;width:0;height:2px;background:linear-gradient(90deg,#6ceeff,#1ed7ff);transition:width .3s}.nav-menu a:hover::after{width:100%}.nav-menu a.active{color:#d7fbff}.nav-menu a.active::after{width:100%;box-shadow:0 0 12px #38e6ff}
#theme-toggle,.menu-toggle{background:rgba(255,255,255,.08);border:1px solid #ffffff2f;color:#fff;padding:.5rem .8rem;border-radius:999px;transition:.25s;box-shadow:inset 0 1px 0 #ffffff22,0 6px 16px #0000002e}#theme-toggle:hover{transform:translateY(-2px)}#theme-toggle i{transition:transform .45s}.rotating{transform:rotate(180deg)}
.menu-toggle{display:none;flex-direction:column;gap:4px}.menu-toggle span{width:18px;height:2px;background:#fff;border-radius:999px;transition:.3s}
.home-hero{min-height:95vh;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#0d1630,#17153f 45%,#1a2957)}.parallax{background-attachment:fixed}.eyebrow{color:var(--accent)}h1,h2,h3{font-family:"Space Grotesk",sans-serif}.typing-text{min-height:1.5rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(90deg,var(--pri),var(--sec));color:#fff;text-decoration:none;padding:.85rem 1.2rem;border-radius:12px;transition:.25s}.btn:hover,button:hover{transform:translateY(-3px)}.btn-outline{background:transparent;border:1px solid #9cb4ff}
section{padding:5rem 0}.timeline{position:relative;max-width:860px;margin:2rem auto}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:#ffffff29}.timeline-item{width:47%;padding:1rem;background:var(--surface);border:1px solid #ffffff14;border-radius:12px;margin:1rem 0;position:relative;transition:.35s}.timeline-item::before{content:"";position:absolute;top:18px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px #36e6ff}.timeline-item:nth-child(odd)::before{right:-30px}.timeline-item:nth-child(even)::before{left:-30px}.timeline-item:hover{transform:translateY(-4px);border-color:#5befff66}.timeline-item:nth-child(odd){margin-right:auto}.timeline-item:nth-child(even){margin-left:auto}
.about-profile{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}.about-photo img{width:180px;height:180px;border-radius:18px;object-fit:cover}.social-icons a{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--surface);color:var(--txt);margin:.2rem;animation:floatIcon 3s ease-in-out infinite}
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}.project-card{position:relative;overflow:hidden;border-radius:16px}.project-card img{width:100%;height:250px;object-fit:cover;transition:.5s}.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,#03050dcc,transparent);display:flex;flex-direction:column;justify-content:flex-end;padding:1rem;transform:translateY(26%);transition:.35s}.project-card:hover img{transform:scale(1.12)}.project-card:hover .project-overlay{transform:translateY(0)}
.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.skill{background:var(--surface);padding:1rem;border-radius:12px}.skill-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.skill-title{display:flex;align-items:center;gap:.55rem}.skill-title img{width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 0 8px #00000055)}.skill-counter{color:#8ef2ff;font-weight:700}.skill-bar-bg{height:10px;background:#233354;border-radius:999px;overflow:hidden}.skill-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--pri));transition:1.3s}
.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.skill{background:var(--surface);padding:1rem;border-radius:12px}.skill-head{display:flex;align-items:center;justify-content:space-between}.skill-counter{color:#8ef2ff;font-weight:700}.skill-bar-bg{height:10px;background:#233354;border-radius:999px;overflow:hidden}.skill-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--pri));transition:1.3s}
.contact-form-wrapper{max-width:640px;margin:auto;background:var(--surface);padding:2rem;border-radius:14px}form{display:grid;gap:1rem}.form-group{position:relative}input,textarea{width:100%;padding:1rem .85rem .4rem;border:1px solid #3b4e7c;background:transparent;color:var(--txt);border-radius:10px}label{position:absolute;left:.8rem;top:.9rem;color:var(--muted);transition:.2s;background:var(--surface)}input:focus+label,textarea:focus+label,input:not(:placeholder-shown)+label,textarea:not(:placeholder-shown)+label{transform:translateY(-1rem) scale(.9);padding:0 .3rem}
button{background:linear-gradient(90deg,var(--pri),var(--sec));border:none;color:#fff;padding:.85rem;border-radius:10px;position:relative;overflow:hidden}.success-message{min-height:1.2rem;color:#3dde95}
.reveal{opacity:0;transform:translateY(20px);transition:.7s}.reveal.in{opacity:1;transform:none}.slide-left{transform:translateX(-30px)}.slide-right{transform:translateX(30px)}.zoom-in{transform:scale(.9)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes floatIcon{50%{transform:translateY(-5px)}}
@media (max-width:820px){.cursor-dot,.cursor-outline{display:none}.nav-wrap{grid-template-columns:auto auto auto;padding:0 .6rem}.nav-center{justify-content:flex-end}.menu-toggle{display:flex}.nav-menu{position:absolute;right:5%;top:80px;display:grid;gap:.8rem;padding:1rem 1.2rem;width:min(260px,88vw);background:var(--navbg);border:1px solid #ffffff2a;border-radius:14px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.3s}.nav-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.timeline:before{left:10px}.timeline-item{width:100%;margin-left:1.5rem}}
