*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root[data-theme=dark]{--bg:#08080f;--bg2:#0f0f1a;--bg3:#161624;--card:#111120;--accent:#7c6fff;--accent2:#ff6b6b;--accent3:#43e8a0;--text:#f0f0f8;--text2:#c8c8e0;--muted:#7878a0;--border:#7c6fff2e;--border2:#7c6fff52;--shadow:#7c6fff26;--nav-bg:#08080fe0;--pill-bg:#7c6fff1f;--pill-color:#b0a8ff;--pill-border:#7c6fff40;--hero-overlay:linear-gradient(90deg, #08080f 45%, #08080fb3 70%, #08080f00 100%);--grid-line:#7c6fff0a;--stat-border:#7c6fff2e;--toggle-bg:#1e1e32;--toggle-icon:"☀";--skill-alt:#ffffff0a;--contact-glow:linear-gradient(90deg, transparent, #7c6fff99, transparent)}:root[data-theme=light]{--bg:#f5f4ff;--bg2:#eeedf8;--bg3:#e8e7f5;--card:#fff;--accent:#5a4fff;--accent2:#e04444;--accent3:#1db87a;--text:#0d0d1a;--text2:#2a2a45;--muted:#6060888;--border:#5a4fff26;--border2:#5a4fff4d;--shadow:#5a4fff1f;--nav-bg:#f5f4ffeb;--pill-bg:#5a4fff14;--pill-color:#4a3fd8;--pill-border:#5a4fff33;--hero-overlay:linear-gradient(90deg, #f5f4ff 45%, #f5f4ffbf 70%, #f5f4ff00 100%);--grid-line:#5a4fff0d;--stat-border:#5a4fff26;--toggle-bg:#e0deff;--toggle-icon:"☾";--skill-alt:#00000008;--contact-glow:linear-gradient(90deg, transparent, #5a4fff80, transparent)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;line-height:1.7;transition:background .35s,color .35s;overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:10px}nav{z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 3rem;transition:background .35s;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{color:var(--accent);letter-spacing:-.5px;font-family:Poppins,sans-serif;font-size:1.35rem;font-weight:800}.nav-right{align-items:center;gap:2.5rem;display:flex}.nav-links{gap:2rem;display:flex}.nav-links a{color:var(--muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text)}.theme-toggle{background:var(--toggle-bg);border:1px solid var(--border2);cursor:pointer;border-radius:100px;align-items:center;width:44px;height:24px;padding:2px;transition:background .3s;display:flex;position:relative}.toggle-thumb{background:var(--accent);width:18px;height:18px;box-shadow:0 0 8px var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:10px;transition:transform .3s,background .3s;display:flex}[data-theme=light] .toggle-thumb{transform:translate(20px)}.hero{align-items:center;min-height:100vh;padding:7rem 3rem 4rem;display:flex;position:relative;overflow:hidden}.hero-bg-grid{z-index:0;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:60px 60px;position:absolute;inset:0}.hero-photo-wrap{z-index:1;justify-content:flex-end;align-items:flex-end;width:52%;height:100%;display:flex;position:absolute;bottom:0;right:0}.hero-photo{object-fit:contain;height:90%;max-height:700px;position:absolute;bottom:0;right:0}.hero-photo-overlay{background:var(--hero-overlay);z-index:2;position:absolute;inset:0}.hero-glow{background:radial-gradient(circle, var(--shadow) 0%, transparent 70%);z-index:1;pointer-events:none;border-radius:50%;width:380px;height:380px;position:absolute;bottom:5%;right:15%}.hero-content{z-index:3;max-width:620px;position:relative}.hero-tag{background:var(--pill-bg);border:1px solid var(--pill-border);color:var(--pill-color);border-radius:100px;align-items:center;gap:8px;margin-bottom:1.5rem;padding:6px 16px;font-size:.78rem;font-weight:500;display:inline-flex}.hero-tag:before{content:"";background:var(--accent3);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.hero h1{letter-spacing:-2px;margin-bottom:.4rem;font-family:Poppins,sans-serif;font-size:clamp(3rem,7vw,5.5rem);font-weight:800;line-height:1}.hero h1 .accent{color:var(--accent)}.hero-subtitle{color:var(--muted);letter-spacing:.5px;margin-bottom:1.25rem;font-size:1.1rem;font-weight:300}.hero-desc{color:var(--text2);max-width:480px;margin-bottom:2.25rem;font-size:.95rem;line-height:1.85}.hero-cta{flex-wrap:wrap;gap:1rem;display:flex}.btn{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:.75rem 1.75rem;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 20px var(--shadow);border:none}.btn-primary:hover{filter:brightness(1.12);transform:translateY(-2px)}.btn-outline{color:var(--text);border:1px solid var(--border2);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--pill-bg)}.hero-stats{border-top:1px solid var(--stat-border);gap:2.5rem;margin-top:3rem;padding-top:2rem;display:flex}.stat-num{color:var(--accent);font-family:Poppins,sans-serif;font-size:1.9rem;font-weight:800}.stat-label{color:var(--muted);margin-top:2px;font-size:.78rem}section{padding:5.5rem 3rem}.section-tag{letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;font-size:.72rem;font-weight:600}.section-title{letter-spacing:-1px;color:var(--text);margin-bottom:.75rem;font-family:Poppins,sans-serif;font-size:clamp(1.9rem,4vw,3rem);font-weight:800}.section-sub{color:var(--muted);text-align:center;font-size:.95rem}#about{background:var(--bg2);transition:background .35s}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;margin-top:3rem;display:grid}@media (width<=768px){.about-grid{grid-template-columns:1fr;gap:2rem}}.about-text p{color:var(--text2);margin-bottom:1rem;font-size:.95rem;line-height:1.9}.about-info{flex-direction:column;gap:.7rem;margin-top:1.5rem;display:flex}.info-row{align-items:center;gap:1rem;font-size:.875rem;display:flex}.info-row span:first-child{color:var(--muted);min-width:75px;font-size:.8rem}.info-row a{color:var(--accent);text-decoration:none}.info-row a:hover{text-decoration:underline}.exp-card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:1rem;padding:1.3rem 1.5rem;transition:border-color .2s,box-shadow .2s}.exp-card:hover{border-color:var(--border2);box-shadow:0 8px 30px var(--shadow)}.exp-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.exp-company{color:var(--text);font-family:Poppins,sans-serif;font-size:1rem;font-weight:700}.exp-period{color:var(--accent3);white-space:nowrap;background:#43e8a01a;border-radius:100px;padding:3px 10px;font-size:.72rem}[data-theme=light] .exp-period{color:#1db87a;background:#1db87a1a}.exp-role{color:var(--muted);margin:5px 0 12px;font-size:.8rem}.exp-pills{flex-wrap:wrap;gap:6px;display:flex}.pill{background:var(--pill-bg);border:1px solid var(--pill-border);color:var(--pill-color);border-radius:100px;padding:3px 10px;font-size:.72rem;transition:all .15s}.pill:hover{background:var(--border)}.pill.g{color:var(--accent3);background:#43e8a014;border-color:#43e8a033}[data-theme=light] .pill.g{color:#1db87a}.edu-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.3rem 1.5rem}.edu-title{color:var(--muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:.75rem;font-size:.72rem;font-weight:600}#skills{background:var(--bg);transition:background .35s}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:3rem;display:grid}.skill-cat{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.75rem;transition:transform .25s,border-color .25s,box-shadow .25s}.skill-cat:hover{border-color:var(--border2);box-shadow:0 12px 40px var(--shadow);transform:translateY(-4px)}.skill-cat-title{color:var(--muted);text-transform:uppercase;letter-spacing:2.5px;margin-bottom:1.25rem;font-family:Poppins,sans-serif;font-size:.8rem;font-weight:700}.skill-tags{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{cursor:default;border-radius:8px;padding:5px 14px;font-size:.8rem;font-weight:500;transition:all .15s}.skill-tag:hover{transform:scale(1.06)}.st-react{color:#61dafb;background:#61dafb1a;border:1px solid #61dafb33}.st-node{color:#83cd29;background:#68a0631a;border:1px solid #68a06340}.st-go{color:#00add8;background:#00add81a;border:1px solid #00add840}.st-mongo{color:#4fb360;background:#4fb3601a;border:1px solid #4fb36040}.st-gql{color:#e535ab;background:#e535ab1a;border:1px solid #e535ab33}.st-ts{color:#3178c6;background:#3178c61a;border:1px solid #3178c640}.st-aws{color:#f90;background:#ff99001a;border:1px solid #f903}.st-gen{background:var(--pill-bg);color:var(--pill-color);border:1px solid var(--pill-border)}[data-theme=light] .st-react{color:#0ea5e9;background:#0ea5e914;border-color:#0ea5e933}[data-theme=light] .st-node{color:#3a7d34;background:#3a7d3414;border-color:#3a7d3433}[data-theme=light] .st-go{color:#007eb0;background:#007eb014;border-color:#007eb033}[data-theme=light] .st-mongo{color:#1e7e34;background:#1e7e3414;border-color:#1e7e3433}[data-theme=light] .st-gql{color:#b91a82;background:#b91a8212;border-color:#b91a822e}[data-theme=light] .st-ts{color:#1d4ed8;background:#1d4ed812;border-color:#1d4ed82e}[data-theme=light] .st-aws{color:#c27803;background:#c2780314;border-color:#c2780333}#projects{background:var(--bg2);transition:background .35s}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:3rem;display:grid}.project-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:18px;transition:transform .25s,border-color .25s,box-shadow .25s;overflow:hidden}.project-card:hover{border-color:var(--border2);box-shadow:0 20px 50px var(--shadow);transform:translateY(-6px)}.project-thumb{justify-content:center;align-items:center;height:175px;display:flex;position:relative;overflow:hidden}.project-body{padding:1.5rem}.project-title{color:var(--text);margin-bottom:.5rem;font-family:Poppins,sans-serif;font-size:1.05rem;font-weight:700}.project-desc{color:var(--muted);margin-bottom:1.25rem;font-size:.85rem;line-height:1.75}.project-stack{flex-wrap:wrap;gap:6px;margin-bottom:1.25rem;display:flex}.project-link{color:var(--accent);align-items:center;gap:6px;font-size:.82rem;font-weight:500;text-decoration:none;transition:gap .2s;display:inline-flex}.project-link:hover{gap:10px}#contact{background:var(--bg);text-align:center;transition:background .35s}.contact-wrap{max-width:560px;margin:0 auto}.contact-card{background:var(--card);border:1px solid var(--border);border-radius:22px;margin-top:2.5rem;padding:3rem 2.5rem;position:relative;overflow:hidden}.contact-card:before{content:"";background:var(--contact-glow);width:60%;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.contact-card p{color:var(--muted);margin-bottom:0;font-size:.9rem}.contact-links{flex-direction:column;gap:.875rem;margin-top:1.75rem;display:flex}.contact-link{background:var(--skill-alt);border:1px solid var(--border);color:var(--text);border-radius:12px;align-items:center;gap:1rem;padding:.875rem 1.25rem;font-size:.9rem;text-decoration:none;transition:all .2s;display:flex}.contact-link:hover{border-color:var(--accent);background:var(--pill-bg)}.contact-icon{background:var(--pill-bg);border:1px solid var(--pill-border);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:flex}.contact-info{text-align:left}.contact-label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:.7rem}.contact-val{color:var(--text);font-size:.9rem;font-weight:500}footer{text-align:center;border-top:1px solid var(--border);color:var(--muted);background:var(--bg);padding:1.5rem 3rem;font-size:.8rem;transition:background .35s}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-links{gap:1rem;display:flex}.footer-links a{color:var(--muted);font-size:.8rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--accent)}@media (width<=768px){.footer-content{text-align:center;flex-direction:column}nav{padding:1rem 1.5rem}.nav-links{display:none}.hero{padding:6rem 1.5rem 3rem}.hero-photo-wrap{opacity:.25;width:100%}section{padding:4rem 1.5rem}.hero-stats{gap:1.5rem}.hero-photo-wrap{justify-content:center;align-items:center;width:100%;height:auto;margin-top:20px;display:flex}.hero-photo,.hero-photo-overlay{display:none}}
