@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Sora:wght@300;400;500;600&display=swap";:root{--bg-base: #080810;--bg-surface: #0e0e18;--bg-elevated: #13131f;--bg-overlay: #1a1a28;--border-faint: rgba(255,255,255,.04);--border-subtle: rgba(255,255,255,.08);--border-default: rgba(255,255,255,.13);--border-strong: rgba(255,255,255,.22);--text-primary: #eeeef5;--text-secondary: #8888a8;--text-muted: #44445a;--text-code: #7dd3fc;--accent: #3b82f6;--accent-hover: #2563eb;--accent-dim: rgba(59,130,246,.1);--accent-glow: rgba(59,130,246,.22);--teal: #2dd4bf;--teal-dim: rgba(45,212,191,.09);--amber: #f59e0b;--amber-dim: rgba(245,158,11,.09);--green: #4ade80;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-body: "Sora", system-ui, sans-serif;--radius-xs: 3px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--ease: cubic-bezier(.22, 1, .36, 1);--fast: .15s cubic-bezier(.4,0,.2,1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}a{text-decoration:none;color:inherit}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);min-height:100vh;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse 55% 35% at 15% 5%,rgba(59,130,246,.07) 0%,transparent 70%),radial-gradient(ellipse 45% 28% at 85% 95%,rgba(45,212,191,.055) 0%,transparent 70%);pointer-events:none}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}::selection{background:var(--accent-glow);color:var(--text-primary)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.navbar{position:sticky;top:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:0 2.5rem;height:54px;background:#080810d9;border-bottom:1px solid var(--border-faint);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6)}.navbar-brand-with-img{display:flex;align-items:center;gap:.7rem}.navbar-profile-img{width:30px;height:30px;border-radius:50%;border:1px solid var(--border-default);object-fit:cover;display:block}.navbar-title{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.navbar-title:after{content:"_";color:var(--accent);animation:blink 1s step-end infinite}.navbar ul{list-style:none;display:flex;gap:.15rem}.navbar a{font-family:var(--font-mono);font-size:.75rem;font-weight:400;color:var(--text-secondary);padding:.38rem .72rem;border-radius:var(--radius-xs);transition:color var(--fast),background var(--fast);letter-spacing:.03em}.navbar a:hover{color:var(--text-primary);background:var(--bg-overlay)}.hero{padding:5.5rem 2.5rem 4rem;max-width:900px;margin:0 auto;animation:fadeUp .6s var(--ease) both}.hero-tag{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.71rem;font-weight:500;color:var(--green);background:#4ade8014;border:1px solid rgba(74,222,128,.18);padding:.22rem .65rem;border-radius:999px;margin-bottom:1.6rem;letter-spacing:.06em}.hero-tag:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green);animation:pulse 2s ease-in-out infinite}.hero h1{font-family:var(--font-body);font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:600;letter-spacing:-.04em;line-height:1.08;color:var(--text-primary);margin-bottom:1rem;border:none;white-space:normal;overflow:visible;animation:none}.hero h1 span,.hero h1 .highlight{color:var(--accent)}.hero p,.hero-sub{font-family:var(--font-mono);font-size:.85rem;color:var(--text-secondary);margin-bottom:2.25rem;letter-spacing:.04em;line-height:1.75;max-width:520px}.hero-sub span{color:var(--text-muted);margin:0 .4em}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn,.btn-primary{display:inline-flex;align-items:center;gap:.4rem;padding:.58rem 1.35rem;background:var(--accent);color:#fff!important;font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.03em;border:none;border-radius:var(--radius-xs);cursor:pointer;transition:background var(--fast),transform var(--fast),box-shadow var(--fast)}.btn:hover,.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 18px var(--accent-glow)}.btn-outline,.btn-ghost{display:inline-flex;align-items:center;gap:.4rem;padding:.58rem 1.35rem;background:transparent;color:var(--text-secondary)!important;font-family:var(--font-mono);font-size:.78rem;font-weight:400;letter-spacing:.03em;border:1px solid var(--border-default);border-radius:var(--radius-xs);cursor:pointer;transition:color var(--fast),border-color var(--fast),background var(--fast)}.btn-outline:hover,.btn-ghost:hover{color:var(--text-primary)!important;border-color:var(--border-strong);background:var(--bg-elevated)}section,.section-wrap{margin:1.25rem auto;padding:2.25rem 2.5rem;max-width:900px;background:var(--bg-surface);border:1px solid var(--border-faint);border-radius:var(--radius-lg);transition:border-color .2s,transform .35s var(--ease);animation:fadeUp .55s var(--ease) both}section:hover,.section-wrap:hover{border-color:var(--border-subtle);transform:translateY(-2px)}section h2,.section-label{display:flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.68rem;font-weight:500;color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.75rem}section h2:before,.section-label:before{content:"//";color:var(--accent);font-size:.78em}section h2:after,.section-label:after{content:"";flex:1;height:1px;background:var(--border-faint);margin-left:.5rem}.about-animated-text,.about-text{font-size:1rem;color:var(--text-secondary);line-height:1.85;max-width:680px}.about-animated-text strong,.about-text strong{color:var(--text-primary);font-weight:500}.section-animated-header{font-family:var(--font-mono);font-size:.68rem;font-weight:500;color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase}.typing-caret{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink .8s step-end infinite}.skills ul,.skills-grid{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:0}.skills li,.skill-pill{font-family:var(--font-mono);font-size:.75rem;font-weight:400;padding:.32rem .8rem;border-radius:var(--radius-xs);cursor:default;transition:transform var(--fast),background var(--fast);letter-spacing:.02em}.skills li:hover,.skill-pill:hover{transform:translateY(-2px)}.skills li,.skill-pill.blue{color:var(--text-code);background:var(--accent-dim);border:1px solid rgba(59,130,246,.18)}.skills li:hover,.skill-pill.blue:hover{background:#3b82f62e;border-color:#3b82f659}.skills li:nth-child(3n+2),.skill-pill.teal{color:var(--teal);background:var(--teal-dim);border:1px solid rgba(45,212,191,.18)}.skills li:nth-child(3n+2):hover,.skill-pill.teal:hover{background:#2dd4bf29;border-color:#2dd4bf59}.skills li:nth-child(3n+3),.skill-pill.amber{color:var(--amber);background:var(--amber-dim);border:1px solid rgba(245,158,11,.18)}.skills li:nth-child(3n+3):hover,.skill-pill.amber:hover{background:#f59e0b29;border-color:#f59e0b59}.projects ul,.projects-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.1rem}.projects li,.project-card{background:var(--bg-elevated);border:1px solid var(--border-faint);border-radius:var(--radius-md);padding:1.35rem 1.6rem;position:relative;transition:border-color var(--fast),background var(--fast);overflow:hidden}.projects li:before,.project-card:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--accent);border-radius:0 2px 2px 0;opacity:0;transition:opacity var(--fast)}.projects li:hover,.project-card:hover{border-color:var(--border-subtle);background:var(--bg-overlay)}.projects li:hover:before,.project-card:hover:before{opacity:1}.projects li b,.projects li strong,.project-card h3{font-family:var(--font-body);font-size:.98rem;font-weight:600;color:var(--text-primary);display:block;margin-bottom:.45rem;letter-spacing:-.01em}.projects li>div:nth-child(2),.project-desc{font-size:.86rem;color:var(--text-secondary);line-height:1.65;margin-bottom:.6rem}.projects li>div:nth-child(3){font-family:var(--font-mono);font-size:.73rem;color:var(--text-muted);margin-bottom:.85rem;letter-spacing:.02em}.project-stack{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.stack-tag{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);background:var(--bg-base);border:1px solid var(--border-faint);padding:.18rem .55rem;border-radius:var(--radius-xs);letter-spacing:.03em}.projects li a,.project-links a,.project-link{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-mono);font-size:.73rem;font-weight:500;color:var(--accent);letter-spacing:.02em;transition:color var(--fast);text-decoration:none}.projects li a:hover,.project-link:hover{color:#93c5fd}.project-links{display:flex;gap:.75rem;align-items:center}.project-link.code-link{color:var(--text-secondary)}.project-link.code-link:hover{color:var(--text-primary)}.link-sep{width:3px;height:3px;border-radius:50%;background:var(--text-muted);display:inline-block}.contact p,.contact-intro{font-size:.95rem;color:var(--text-secondary);line-height:1.75;margin-bottom:1.25rem}.contact-row{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.75rem}.contact-item{display:flex;align-items:center;gap:.65rem;font-family:var(--font-mono);font-size:.8rem}.contact-key{color:var(--text-muted);min-width:72px;letter-spacing:.06em;font-size:.72rem}.contact a,.contact-val{color:var(--accent);border-bottom:1px solid rgba(59,130,246,.25);padding-bottom:1px;font-family:var(--font-mono);font-size:.85rem;transition:color var(--fast),border-color var(--fast);text-decoration:none}.contact a:hover,.contact-val:hover{color:#93c5fd;border-color:#93c5fd73}.resume-download-btn,.resume-btn{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.5rem;padding:.58rem 1.35rem;font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.03em;background:transparent;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xs);cursor:pointer;transition:color var(--fast),border-color var(--fast),background var(--fast),transform var(--fast);text-decoration:none}.resume-download-btn:before,.resume-btn:before{content:"↓";color:var(--accent)}.resume-download-btn:hover,.resume-btn:hover{color:var(--text-primary);border-color:var(--accent);background:var(--accent-dim);transform:translateY(-1px)}.status-badge{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.71rem;font-weight:500;color:var(--green);background:#4ade8014;border:1px solid rgba(74,222,128,.18);padding:.22rem .65rem;border-radius:999px;letter-spacing:.05em;margin-top:1.25rem}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green);animation:pulse 2s ease-in-out infinite}.reveal{opacity:0;transform:translateY(20px);transition:opacity .55s var(--ease),transform .55s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width: 640px){.navbar{padding:0 1.25rem}.hero{padding:3.5rem 1.25rem 2.5rem}.hero h1{font-size:2rem}section,.section-wrap{padding:1.5rem 1.25rem}.project-card,.projects li{padding:1.1rem 1.25rem}.hero-actions{flex-direction:column}.btn,.btn-primary,.btn-outline,.btn-ghost{width:100%;justify-content:center}}
