:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--border: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--accent: #58a6ff;--accent-hover: #79b8ff;--accent-dim: rgba(88, 166, 255, .12);--accent-dim-hover: rgba(88, 166, 255, .2);--green: #3fb950;--purple: #bc8cff;--orange: #ffa657;--red: #f85149;--gradient-1: linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%);--gradient-hero: linear-gradient(135deg, #58a6ff 0%, #79c0ff 40%, #bc8cff 100%);--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--shadow-glow: 0 0 24px rgba(88, 166, 255, .18);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--nav-height: 64px;--transition: .25s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-primary: #f6f8fa;--bg-secondary: #ffffff;--bg-tertiary: #eaeef2;--border: #d0d7de;--text-primary: #1f2328;--text-secondary: #57606a;--text-muted: #6e7781;--accent: #0969da;--accent-hover: #0550ae;--accent-dim: rgba(9, 105, 218, .1);--accent-dim-hover: rgba(9, 105, 218, .18);--green: #1a7f37;--purple: #8250df;--orange: #bc4c00;--red: #cf222e;--gradient-1: linear-gradient(135deg, #0969da 0%, #8250df 100%);--gradient-hero: linear-gradient(135deg, #0969da 0%, #218bff 40%, #8250df 100%);--shadow-sm: 0 1px 3px rgba(0,0,0,.1);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.15);--shadow-glow: 0 0 24px rgba(9, 105, 218, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background var(--transition),color var(--transition);overflow-x:hidden}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.container{max-width:1100px;margin:0 auto;padding:0 24px}.section{padding:96px 0}.section-label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.section-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;color:var(--text-primary);margin-bottom:16px;line-height:1.2}.section-subtitle{font-size:1rem;color:var(--text-secondary);max-width:560px;margin-bottom:56px}@keyframes fadeUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(1.5);opacity:0}}.fade-up{opacity:0;transform:translateY(32px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.fade-up.visible{opacity:1;transform:translateY(0)}.fade-up:nth-child(2){transition-delay:.1s}.fade-up:nth-child(3){transition-delay:.2s}.fade-up:nth-child(4){transition-delay:.3s}.fade-up:nth-child(5){transition-delay:.4s}.fade-up:nth-child(6){transition-delay:.5s}.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:100;display:flex;align-items:center;transition:background var(--transition),border-color var(--transition),backdrop-filter var(--transition)}.navbar.scrolled{background:#0d1117d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}[data-theme=light] .navbar.scrolled{background:#f6f8fad9}.navbar__inner{display:flex;align-items:center;justify-content:space-between;width:100%}.navbar__logo{font-size:1.1rem;font-weight:800;background:var(--gradient-hero);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease infinite;cursor:pointer}.navbar__links{display:flex;align-items:center;gap:32px;list-style:none}.navbar__links a{font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:color var(--transition)}.navbar__links a:hover{color:var(--text-primary)}.navbar__right{display:flex;align-items:center;gap:12px}.theme-toggle{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all var(--transition)}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.navbar__menu-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:1.4rem;cursor:pointer;padding:4px}.navbar__mobile-menu{display:none;position:fixed;top:var(--nav-height);left:0;right:0;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:16px 24px 24px;flex-direction:column;gap:16px;z-index:99}.navbar__mobile-menu.open{display:flex}.navbar__mobile-menu a{font-size:1rem;font-weight:500;color:var(--text-secondary);padding:8px 0;border-bottom:1px solid var(--border)}.navbar__mobile-menu a:last-child{border-bottom:none}@media (max-width: 768px){.navbar__links{display:none}.navbar__menu-btn{display:flex}}.hero{min-height:100vh;display:flex;align-items:center;padding-top:var(--nav-height);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-20%;left:50%;transform:translate(-50%);width:800px;height:800px;background:radial-gradient(ellipse at center,rgba(88,166,255,.08) 0%,transparent 70%);pointer-events:none}[data-theme=light] .hero:before{background:radial-gradient(ellipse at center,rgba(9,105,218,.06) 0%,transparent 70%)}.hero__grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:64px}.hero__badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--accent-dim);border:1px solid rgba(88,166,255,.25);border-radius:100px;font-size:.8rem;font-weight:600;color:var(--accent);margin-bottom:24px;animation:fadeUp .6s .1s both;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition);text-decoration:none}.hero__badge:hover{background:var(--accent-dim-hover);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-2px)}[data-theme=light] .hero__badge{border-color:#0969da33}.hero__badge-dot{width:8px;height:8px;background:var(--green);border-radius:50%;position:relative}.hero__badge-dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:var(--green);animation:pulse-ring 1.5s ease-out infinite}.hero__name{font-size:clamp(3rem,8vw,5.5rem);font-weight:900;line-height:1.05;margin-bottom:16px;background:var(--gradient-hero);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 6s ease infinite,fadeUp .7s .2s both}.hero__title{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:500;color:var(--text-secondary);margin-bottom:24px;animation:fadeUp .7s .3s both}.hero__title span{color:var(--text-primary);font-weight:600}.hero__desc{font-size:1rem;color:var(--text-secondary);max-width:520px;line-height:1.8;margin-bottom:36px;animation:fadeUp .7s .4s both}.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px;animation:fadeUp .7s .5s both}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition);border:none;font-family:inherit}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-glow);color:#fff}.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);transform:translateY(-2px)}.hero__socials{display:flex;gap:12px;animation:fadeUp .7s .6s both}.social-link{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1.2rem;transition:all var(--transition)}.social-link:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim);transform:translateY(-3px)}.hero__avatar-wrap{animation:fadeUp .8s .3s both}.hero__avatar-ring{width:260px;height:260px;border-radius:50%;padding:4px;background:var(--gradient-hero);animation:float 4s ease-in-out infinite}.hero__avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--bg-primary)}@media (max-width: 768px){.hero__grid{grid-template-columns:1fr;text-align:center;gap:40px}.hero__avatar-wrap{order:-1;display:flex;justify-content:center}.hero__avatar-ring{width:180px;height:180px}.hero__cta,.hero__socials{justify-content:center}.hero__desc{margin:0 auto 36px}}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.about__text p{color:var(--text-secondary);line-height:1.85;margin-bottom:16px;font-size:1rem}.about__stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;transition:all var(--transition)}.stat-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow-md)}.stat-card__icon{font-size:1.5rem;margin-bottom:8px}.stat-card__value{font-size:1.4rem;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:4px}.stat-card__label{font-size:.78rem;color:var(--text-muted);font-weight:500;letter-spacing:.03em}@media (max-width: 768px){.about__grid{grid-template-columns:1fr;gap:40px}.about__stats{grid-template-columns:1fr 1fr}}.timeline{position:relative;padding-left:32px}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent),var(--purple),transparent);border-radius:2px}.timeline-item{position:relative;margin-bottom:48px}.timeline-item:before{content:"";position:absolute;left:-38px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--bg-primary);box-shadow:0 0 0 2px var(--accent)}.timeline-item:last-child{margin-bottom:0}.timeline-item__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;flex-wrap:wrap;gap:8px}.timeline-item__company{font-size:1.2rem;font-weight:800;color:var(--text-primary)}.timeline-item__company a{color:var(--text-primary)}.timeline-item__company a:hover{color:var(--accent)}.timeline-item__period{font-size:.8rem;font-weight:600;color:var(--accent);background:var(--accent-dim);padding:4px 10px;border-radius:100px;white-space:nowrap}.timeline-item__role{font-size:.95rem;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.timeline-item__bullets{list-style:none;display:flex;flex-direction:column;gap:8px}.timeline-item__bullets li{font-size:.9rem;color:var(--text-secondary);padding-left:16px;position:relative;line-height:1.6}.timeline-item__bullets li:before{content:"▸";position:absolute;left:0;color:var(--accent);font-size:.75rem;top:1px}.projects__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.project-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:all var(--transition);cursor:default}.project-card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.project-card__preview{position:relative;width:100%;height:180px;overflow:hidden;background:var(--bg-tertiary);border-bottom:1px solid var(--border);flex-shrink:0}.project-card__preview img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-card__preview img{transform:scale(1.06)}.project-card__preview--white{background:#fff!important;padding:24px}.project-card__preview--white img{object-fit:contain!important}.featured-badge{position:absolute;top:10px;left:10px;font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:100px;background:#0d1117bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(88,166,255,.5);color:var(--accent);letter-spacing:.06em;text-transform:uppercase}[data-theme=light] .featured-badge{background:#000;color:#fff;border-color:#000}.project-card__body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1}.project-card__top{display:flex;justify-content:space-between;align-items:flex-start}.project-card__emoji{font-size:1.5rem}.project-card__links{display:flex;gap:8px}.project-card__link{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.95rem;transition:all var(--transition)}.project-card__link:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.project-card__name{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.project-card__desc{font-size:.875rem;color:var(--text-secondary);line-height:1.7;flex:1}.project-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.tag{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:100px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-muted);letter-spacing:.02em;transition:all var(--transition)}.project-card:hover .tag{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.skills__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.skills-group{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:all var(--transition)}.skills-group:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.skills-group__title{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;display:flex;align-items:center;gap:8px}.skills-group__items{display:flex;flex-wrap:wrap;gap:8px}.skill-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition)}.skill-badge:hover{color:var(--text-primary);border-color:var(--accent);background:var(--accent-dim);transform:translateY(-2px)}.achievements__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.achievement-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;display:flex;align-items:flex-start;gap:16px;transition:all var(--transition)}.achievement-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow-md)}.achievement-card__icon{font-size:1.5rem;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);border-radius:var(--radius-sm)}.achievement-card__text{font-size:.9rem;color:var(--text-secondary);line-height:1.55}.achievement-card__text strong{color:var(--text-primary);font-weight:600}.contact__inner{text-align:center;max-width:600px;margin:0 auto}.contact__links{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:36px}.contact-link{display:flex;align-items:center;gap:10px;padding:14px 24px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:all var(--transition)}.contact-link:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim);transform:translateY(-3px);box-shadow:var(--shadow-md)}.contact-link svg{font-size:1.2rem}.footer{border-top:1px solid var(--border);padding:32px 0;text-align:center;color:var(--text-muted);font-size:.82rem}.footer span{color:var(--accent)}
