*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--bg:#050508;--bg2:#0a0a0f;--bg3:#0d0d14;
--surface:#111118;--surface2:#16161f;--surface3:#1c1c28;
--border:#ffffff0f;--border2:#ffffff18;--border3:#ffffff25;
--text:#f0f0ff;--text2:#9090b0;--text3:#5a5a7a;
--blue:#3b82f6;--cyan:#06b6d4;--violet:#8b5cf6;--indigo:#6366f1;
--glow-b:#3b82f640;--glow-c:#06b6d430;--glow-v:#8b5cf640;
--font-display:'Syne',sans-serif;--font-body:'Space Grotesk',sans-serif;--font-mono:'JetBrains Mono',monospace;
}
.light{
--bg:#f8f8ff;--bg2:#f0f0fa;--bg3:#e8e8f5;
--surface:#ffffff;--surface2:#f4f4fc;--surface3:#eeeef8;
--border:#00000010;--border2:#00000018;--border3:#00000025;
--text:#0a0a1a;--text2:#404060;--text3:#8080a0;
--glow-b:#3b82f620;--glow-c:#06b6d420;--glow-v:#8b5cf620;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:hidden;transition:background .4s,color .4s}

/* 3D & TILT ANIMATIONS */
.projects-grid,.metrics-grid,.mobile-grid{perspective:1200px}
.project-card,.metric-card,.mobile-card,.lab-card,.arch-card{transform-style:preserve-3d;transition:transform .35s ease,box-shadow .35s ease;border-radius:16px}
.project-card:hover,.metric-card.pop-3d,.mobile-card:hover,.lab-card:hover,.arch-card:hover{transform:translateY(-10px) rotateX(6deg) rotateY(-6deg) translateZ(8px);box-shadow:0 30px 60px rgba(0,0,0,0.45)}
.card-deco{position:absolute;inset:0;border-radius:inherit;pointer-events:none;transform:translateZ(20px)}
.metric-card .metric-num{transform-origin:center;transition:transform .5s cubic-bezier(.2,.9,.3,1)}
.metric-card.pop-3d .metric-num{transform:translateZ(18px) scale(1.03)}

/* SCROLLBAR */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border3);border-radius:2px}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--bg)cc;backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:all .3s}
.nav-logo{font-family:var(--font-display);font-size:18px;font-weight:700;background:linear-gradient(135deg,var(--blue),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.nav-links{display:flex;gap:32px;list-style:none}
.nav-links a{color:var(--text2);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;transition:color .2s}
.nav-links a:hover{color:var(--cyan)}
.nav-actions{display:flex;gap:12px;align-items:center}
.theme-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border2);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;color:var(--text2)}
.theme-btn:hover{border-color:var(--cyan);color:var(--cyan)}
.btn-primary{padding:8px 20px;background:linear-gradient(135deg,var(--blue),var(--violet));border:none;border-radius:8px;color:#fff;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.3px}
.btn-primary:hover{opacity:.85;transform:translateY(-1px)}

/* HERO */
#hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:80px 5% 60px}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(80px);animation:pulse 8s ease-in-out infinite}
.orb1{width:600px;height:600px;background:radial-gradient(circle,#3b82f620 0%,transparent 70%);top:-200px;right:-100px;animation-delay:0s}
.orb2{width:400px;height:400px;background:radial-gradient(circle,#8b5cf630 0%,transparent 70%);bottom:-100px;left:-100px;animation-delay:3s}
.orb3{width:300px;height:300px;background:radial-gradient(circle,#06b6d420 0%,transparent 70%);top:40%;left:30%;animation-delay:1.5s}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%)}
.hero-content{position:relative;z-index:2;max-width:900px;text-align:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border:1px solid var(--border2);border-radius:100px;font-size:12px;font-weight:500;color:var(--cyan);background:var(--surface);margin-bottom:32px;letter-spacing:.5px}
.hero-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:blink 2s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
h1.hero-name{font-family:var(--font-display);font-size:clamp(48px,7vw,96px);font-weight:800;line-height:1;margin-bottom:16px;letter-spacing:-2px}
.name-gradient{background:linear-gradient(135deg,var(--text) 40%,var(--blue) 70%,var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-title{font-family:var(--font-display);font-size:clamp(16px,2.5vw,24px);font-weight:500;color:var(--text2);margin-bottom:24px;letter-spacing:-.3px}
.hero-subtitle{font-size:clamp(14px,1.8vw,17px);color:var(--text3);max-width:600px;margin:0 auto 40px;line-height:1.7}
.tech-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:48px}
.tech-badge{padding:6px 14px;border:1px solid var(--border2);border-radius:100px;font-size:12px;font-weight:500;color:var(--text2);background:var(--surface);transition:all .3s;cursor:default;font-family:var(--font-mono)}
.tech-badge:hover{border-color:var(--blue);color:var(--blue);background:var(--glow-b)}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.cta-primary{padding:14px 32px;background:linear-gradient(135deg,var(--blue),var(--violet));border:none;border-radius:10px;color:#fff;font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:all .25s;letter-spacing:.2px;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.cta-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px var(--glow-b)}
.cta-outline{padding:14px 32px;background:transparent;border:1px solid var(--border3);border-radius:10px;color:var(--text);font-family:var(--font-body);font-size:15px;font-weight:500;cursor:pointer;transition:all .25s;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.cta-outline:hover{border-color:var(--cyan);color:var(--cyan);background:var(--glow-c)}

/* NEURAL VIZ */
.neural-canvas{position:absolute;inset:0;pointer-events:none;z-index:1}

/* SECTION BASE */
section{padding:100px 5%}
.section-label{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);margin-bottom:16px}
.section-label::before{content:'';width:20px;height:1px;background:var(--cyan)}
h2.section-title{font-family:var(--font-display);font-size:clamp(32px,4vw,52px);font-weight:700;line-height:1.1;margin-bottom:16px;letter-spacing:-1px}
.section-desc{font-size:17px;color:var(--text2);max-width:600px;line-height:1.7;margin-bottom:64px}

/* TERMINAL */
#terminal-section{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.terminal-wrap{max-width:800px;margin:0 auto}
.terminal{background:var(--bg3);border:1px solid var(--border2);border-radius:16px;overflow:hidden;font-family:var(--font-mono)}
.terminal-header{display:flex;align-items:center;gap:8px;padding:14px 20px;background:var(--surface);border-bottom:1px solid var(--border)}
.dot{width:12px;height:12px;border-radius:50%}
.dot-r{background:#ff5f57}
.dot-y{background:#ffbd2e}
.dot-g{background:#28c840}
.terminal-title{font-size:12px;color:var(--text3);margin-left:auto;margin-right:auto}
.terminal-body{padding:24px;min-height:300px;max-height:400px;overflow-y:auto}
.terminal-line{font-size:13px;line-height:1.8;margin-bottom:4px}
.prompt{color:var(--cyan)}
.cmd{color:var(--text)}
.output{color:var(--text2)}
.output-highlight{color:var(--blue)}
.terminal-input-row{display:flex;align-items:center;gap:8px;margin-top:16px}
.terminal-input{background:transparent;border:none;outline:none;color:var(--text);font-family:var(--font-mono);font-size:13px;flex:1;caret-color:var(--cyan)}
.terminal-commands{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cmd-btn{padding:6px 14px;border:1px solid var(--border2);border-radius:6px;background:var(--surface);color:var(--cyan);font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:all .2s}
.cmd-btn:hover{background:var(--glow-c);border-color:var(--cyan)}

/* PROJECTS */
#projects{background:var(--bg)}
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px}
.project-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;position:relative;cursor:pointer}
.project-card:hover{border-color:var(--border3);transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.22)}
.project-card.featured:hover{transform:translateY(-4px)}
.project-card.featured{grid-column:span 2}
.project-visual{height:220px;position:relative;overflow:hidden;background:var(--bg3)}
.project-visual.featured{height:280px}
.flow-canvas{width:100%;height:100%;position:absolute;inset:0}
.project-body{padding:24px}
.project-tag{display:inline-block;padding:3px 10px;background:var(--glow-b);border:1px solid var(--blue)40;border-radius:100px;font-size:11px;color:var(--blue);font-weight:600;margin-bottom:12px;letter-spacing:.5px}
.project-card:nth-child(2) .project-tag{background:var(--glow-v);border-color:var(--violet)40;color:var(--violet)}
.project-card:nth-child(3) .project-tag{background:var(--glow-c);border-color:var(--cyan)40;color:var(--cyan)}
h3.project-title{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:10px;line-height:1.2}
.project-desc{font-size:14px;color:var(--text2);line-height:1.65;margin-bottom:20px}
.project-stack{display:flex;flex-wrap:wrap;gap:6px}
.stack-chip{padding:4px 10px;background:var(--bg3);border:1px solid var(--border);border-radius:6px;font-size:11px;color:var(--text3);font-family:var(--font-mono)}
.project-features{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}
.feature-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text2)}
.feature-dot{width:5px;height:5px;border-radius:50%;background:var(--cyan);flex-shrink:0}

/* ARCHITECTURE */
#architecture{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.arch-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.arch-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:32px;position:relative;overflow:hidden}
.arch-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--glow-b) 0%,transparent 60%);pointer-events:none;opacity:0;transition:opacity .4s}
.arch-card:hover::before{opacity:1}
.arch-title{font-family:var(--font-display);font-size:18px;font-weight:700;margin-bottom:8px}
.arch-subtitle{font-size:13px;color:var(--text3);margin-bottom:24px}
.arch-visual{height:160px;background:var(--bg3);border-radius:12px;position:relative;overflow:hidden;margin-bottom:20px}
.arch-nodes{display:flex;flex-wrap:wrap;gap:8px}
.arch-node{padding:6px 14px;border:1px solid var(--border2);border-radius:8px;font-size:12px;color:var(--text2);background:var(--bg3);font-family:var(--font-mono);transition:all .3s}
.arch-node:hover{border-color:var(--blue);color:var(--blue)}

/* SKILLS */
#skills{background:var(--bg)}
.skills-container{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.skill-category h3{font-family:var(--font-display);font-size:20px;font-weight:700;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.skill-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center;transition:all .3s;cursor:default}
.skill-item:hover{border-color:var(--border3);transform:translateY(-2px);background:var(--surface2)}
.skill-icon{font-size:24px;margin-bottom:8px}
.skill-name{font-size:12px;font-weight:600;color:var(--text);margin-bottom:4px}
.skill-level{font-size:11px;color:var(--text3)}
.skill-bar{height:2px;background:var(--border);border-radius:1px;margin-top:8px;overflow:hidden}
.skill-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:1px;transition:width 1.5s ease}

/* METRICS */
#metrics{background:var(--bg3);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.metric-card{text-align:center;padding:40px 20px;background:var(--surface);border:1px solid var(--border);border-radius:20px;transition:all .3s;position:relative;overflow:hidden}
.metric-card::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent)}
.metric-card:hover{transform:translateY(-4px);border-color:var(--border3)}  
.metric-num{font-family:var(--font-display);font-size:48px;font-weight:800;background:linear-gradient(135deg,var(--blue),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.metric-label{font-size:13px;color:var(--text3);margin-top:8px;line-height:1.4;font-weight:500}

/* EXPERIENCE */
#experience{background:var(--bg2);border-top:1px solid var(--border)}
.timeline{position:relative;padding-left:40px}
.timeline::before{content:'';position:absolute;left:12px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--blue),var(--violet),transparent)}
.timeline-item{position:relative;margin-bottom:48px;padding-left:24px}
.timeline-dot{position:absolute;left:-34px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--blue);border:2px solid var(--bg);box-shadow:0 0 12px var(--blue)}
.timeline-date{font-size:12px;color:var(--cyan);font-weight:600;letter-spacing:.5px;margin-bottom:8px;font-family:var(--font-mono)}
.timeline-role{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:4px}
.timeline-company{font-size:14px;color:var(--text2);margin-bottom:16px}
.timeline-desc{font-size:14px;color:var(--text3);line-height:1.7}
.timeline-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.timeline-tag{padding:4px 12px;background:var(--glow-b);border:1px solid var(--blue)30;border-radius:6px;font-size:11px;color:var(--blue);font-family:var(--font-mono)}

/* MOBILE SECTION */
#mobile{background:var(--bg)}
.mobile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mobile-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:all .3s;cursor:pointer}
.mobile-card:hover{transform:translateY(-4px);border-color:var(--border3)}
.mobile-screen{height:200px;background:var(--bg3);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.phone-frame{width:90px;height:160px;border:3px solid var(--border3);border-radius:20px;background:var(--bg2);display:flex;flex-direction:column;overflow:hidden;position:relative}
.phone-screen{flex:1;background:linear-gradient(135deg,var(--glow-b),var(--glow-v));display:flex;align-items:center;justify-content:center;font-size:24px}
.phone-screen .app-preview{width:72%;height:auto;border-radius:8px;display:block}
.mobile-body{padding:20px}
.mobile-title{font-family:var(--font-display);font-size:17px;font-weight:700;margin-bottom:6px}
.mobile-desc{font-size:13px;color:var(--text3);margin-bottom:12px}
.store-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;font-size:11px;color:var(--text2);font-weight:500}

/* CONTACT */
#contact{background:var(--bg2);border-top:1px solid var(--border);text-align:center}
.contact-grid{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:48px}
.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px 40px;display:flex;flex-direction:column;align-items:center;gap:12px;transition:all .3s;text-decoration:none;color:var(--text);min-width:160px}
.contact-card:hover{border-color:var(--border3);transform:translateY(-4px);background:var(--surface2)}
.contact-icon{font-size:32px}
.contact-label{font-size:14px;font-weight:600}
.contact-sublabel{font-size:12px;color:var(--text3)}

/* FOOTER */
footer{padding:40px 5%;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--bg)}
.footer-brand{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text2)}
.footer-copy{font-size:13px;color:var(--text3)}

/* ANIMATIONS */
.fade-up{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.23,1,.32,1)}
.fade-up.visible{opacity:1;transform:translateY(0)}
.stagger-1{transition-delay:.1s}
.stagger-2{transition-delay:.2s}
.stagger-3{transition-delay:.3s}
.stagger-4{transition-delay:.4s}

/* GLOW LINE */
.glow-divider{height:1px;background:linear-gradient(90deg,transparent,var(--blue)50,var(--cyan),var(--violet)50,transparent);margin:0;opacity:.6}

/* LAB */
#lab{background:var(--bg3);border-top:1px solid var(--border)}
.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lab-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;transition:all .3s;position:relative;overflow:hidden}
.lab-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--cyan));transform:scaleX(0);transform-origin:left;transition:transform .4s}
.lab-card:hover::before{transform:scaleX(1)}
.lab-card:hover{border-color:var(--border3);transform:translateY(-2px)}
.lab-icon{font-size:28px;margin-bottom:12px}
.lab-title{font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:8px}
.lab-desc{font-size:13px;color:var(--text3);line-height:1.6}
.lab-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--cyan);margin-top:12px;font-family:var(--font-mono)}
.lab-status::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--cyan);animation:blink 2s infinite}

/* RESPONSIVE */
@media(max-width:768px){
.nav-links{display:none}
.projects-grid{grid-template-columns:1fr}
.project-card.featured{grid-column:span 1}
.arch-grid{grid-template-columns:1fr}
.skills-container{grid-template-columns:1fr}
.metrics-grid{grid-template-columns:repeat(2,1fr)}
.mobile-grid{grid-template-columns:1fr}
.contact-grid{flex-direction:column}
.footer{flex-direction:column;gap:16px;text-align:center}
}