:root{--bg-primary: #0a0a0f;--bg-secondary: #111118;--bg-card: #16161e;--bg-card-hover: #1c1c28;--bg-glass: rgba(22, 22, 30, .7);--text-primary: #e8e8ed;--text-secondary: #9999aa;--text-muted: #666677;--accent-cyan: #00f0ff;--accent-cyan-dim: rgba(0, 240, 255, .15);--accent-purple: #a855f7;--accent-purple-dim: rgba(168, 85, 247, .15);--accent-green: #00ff88;--accent-green-dim: rgba(0, 255, 136, .15);--accent-orange: #ff8c00;--gradient-hero: linear-gradient(135deg, #00f0ff 0%, #a855f7 50%, #ff8c00 100%);--gradient-card: linear-gradient(135deg, var(--bg-card) 0%, var(--bg-secondary) 100%);--gradient-border: linear-gradient(135deg, var(--accent-cyan) 0%, var(--accent-purple) 100%);--border-subtle: 1px solid rgba(255, 255, 255, .06);--border-glow: 1px solid rgba(0, 240, 255, .2);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Fira Code", "Cascadia Code", "JetBrains Mono", monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fs-3xl: 2rem;--fs-4xl: 2.5rem;--fs-5xl: 3.5rem;--fs-6xl: 4.5rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--max-width: 1200px;--nav-height: 70px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--shadow-glow-cyan: 0 0 20px rgba(0, 240, 255, .15);--shadow-glow-purple: 0 0 20px rgba(168, 85, 247, .15);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height);font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-cyan);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-purple)}img{max-width:100%;display:block}ul,ol{list-style:none}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl)}.section{padding:var(--space-4xl) 0;position:relative}.section-title{font-size:var(--fs-3xl);font-weight:800;margin-bottom:var(--space-md);letter-spacing:-.02em}.section-title .accent{background:var(--gradient-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{font-size:var(--fs-lg);color:var(--text-secondary);margin-bottom:var(--space-3xl);max-width:600px}.mono{font-family:var(--font-mono)}.text-gradient{background:var(--gradient-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-card{background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.glass-card:hover{border-color:#00f0ff26;background:var(--bg-card-hover);box-shadow:var(--shadow-glow-cyan);transform:translateY(-4px)}.tag{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:1px solid}.tag--cyan{color:var(--accent-cyan);background:var(--accent-cyan-dim);border-color:#00f0ff40}.tag--purple{color:var(--accent-purple);background:var(--accent-purple-dim);border-color:#a855f740}.tag--green{color:var(--accent-green);background:var(--accent-green-dim);border-color:#00ff8840}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:600;letter-spacing:.03em;cursor:pointer;border:none;transition:all var(--transition-base);text-transform:uppercase}.btn--primary{background:var(--gradient-hero);color:var(--bg-primary)}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00f0ff4d;color:var(--bg-primary)}.btn--outline{background:transparent;color:var(--text-primary);border:1px solid rgba(255,255,255,.15)}.btn--outline:hover{border-color:var(--accent-cyan);background:var(--accent-cyan-dim);color:var(--accent-cyan);transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px #00f0ff1a}50%{box-shadow:0 0 30px #00f0ff40}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--accent-cyan)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-in{animation:fadeInUp .6s ease forwards;opacity:0}.animate-in-delay-1{animation-delay:.1s}.animate-in-delay-2{animation-delay:.2s}.animate-in-delay-3{animation-delay:.3s}.animate-in-delay-4{animation-delay:.4s}.animate-in-delay-5{animation-delay:.5s}.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width: 768px){:root{--fs-5xl: 2.5rem;--fs-6xl: 3rem;--fs-3xl: 1.75rem;--fs-4xl: 2rem;--space-4xl: 4rem}.container{padding:0 var(--space-md)}}@media (max-width: 480px){:root{--fs-5xl: 2rem;--fs-6xl: 2.5rem;--fs-3xl: 1.5rem}}.navbar{position:fixed;top:0;left:0;width:100%;height:var(--nav-height);z-index:1000;transition:all var(--transition-base)}.navbar--scrolled{background:#0a0a0fd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:var(--border-subtle);box-shadow:var(--shadow-sm)}.navbar__inner{display:flex;align-items:center;justify-content:space-between;height:100%}.navbar__logo{font-size:var(--fs-xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.navbar__logo:hover{color:var(--text-primary)}.navbar__links{display:flex;gap:var(--space-lg)}.navbar__link{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;padding:var(--space-xs) 0;position:relative;transition:color var(--transition-fast)}.navbar__link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--gradient-hero);transition:width var(--transition-base)}.navbar__link:hover,.navbar__link--active{color:var(--accent-cyan)}.navbar__link--active:after,.navbar__link:hover:after{width:100%}.navbar__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.navbar__burger span{width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--transition-base)}.navbar__burger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navbar__burger.active span:nth-child(2){opacity:0}.navbar__burger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding-top:var(--nav-height)}.hero__content{position:relative;z-index:2}.hero__orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.15;animation:float 8s ease-in-out infinite}.hero__orb--1{width:500px;height:500px;background:var(--accent-cyan);top:-10%;right:-5%;animation-delay:0s}.hero__orb--2{width:400px;height:400px;background:var(--accent-purple);bottom:-5%;left:-5%;animation-delay:2s}.hero__orb--3{width:300px;height:300px;background:var(--accent-orange);top:40%;left:40%;animation-delay:4s;opacity:.08}.hero__greeting{font-size:var(--fs-lg);color:var(--text-secondary);margin-bottom:var(--space-md)}.hero__name{font-size:var(--fs-6xl);font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-bottom:var(--space-lg)}.hero__title-wrapper{display:flex;align-items:center;gap:4px;font-size:var(--fs-2xl);margin-bottom:var(--space-xl);flex-wrap:wrap}.hero__title-static{color:var(--text-muted)}.hero__title-dynamic{color:var(--accent-cyan);font-family:var(--font-mono);font-weight:600}.hero__cursor{color:var(--accent-cyan);font-family:var(--font-mono);animation:blink-caret .75s step-end infinite}.hero__description{font-size:var(--fs-lg);color:var(--text-secondary);max-width:600px;margin-bottom:var(--space-2xl);line-height:1.8}.hero__actions{display:flex;gap:var(--space-md);margin-bottom:var(--space-4xl);flex-wrap:wrap}.hero__scroll-hint{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);animation:float 3s ease-in-out infinite}.hero__scroll-mouse{width:24px;height:38px;border:2px solid var(--text-muted);border-radius:12px;display:flex;justify-content:center;padding-top:8px}.hero__scroll-dot{width:4px;height:8px;background:var(--accent-cyan);border-radius:4px;animation:fadeInUp 1.5s ease infinite}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:start}.about__text p{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:var(--fs-base);line-height:1.85}.about__text strong{color:var(--text-primary)}.about__highlights{display:flex;flex-direction:column;gap:var(--space-md)}.about__highlight-card{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg)!important}.about__highlight-icon{font-size:var(--fs-2xl);flex-shrink:0}.experience__timeline{display:flex;flex-direction:column;gap:var(--space-xl)}.experience__item{display:flex;gap:var(--space-xl)}.experience__dot-line{display:flex;flex-direction:column;align-items:center;padding-top:var(--space-lg);flex-shrink:0}.experience__dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.experience__dot--cyan{background:var(--accent-cyan);box-shadow:0 0 12px #00f0ff66}.experience__dot--purple{background:var(--accent-purple);box-shadow:0 0 12px #a855f766}.experience__dot--green{background:var(--accent-green);box-shadow:0 0 12px #0f86}.experience__line{width:2px;flex-grow:1;background:linear-gradient(to bottom,rgba(255,255,255,.1),transparent);margin-top:var(--space-sm)}.experience__content{flex:1}.experience__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md);flex-wrap:wrap;gap:var(--space-sm)}.experience__company{font-size:var(--fs-xl);font-weight:700;color:var(--text-primary)}.experience__role{color:var(--accent-cyan);font-size:var(--fs-sm);font-weight:500}.experience__meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.experience__bullets{margin-bottom:var(--space-md)}.experience__bullets li{color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.8;margin-bottom:var(--space-xs)}.experience__tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.skills__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl)}.skills__category-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.skills__category-icon{font-size:var(--fs-2xl)}.skills__category-title{font-size:var(--fs-lg);font-weight:700}.skills__bars{display:flex;flex-direction:column;gap:var(--space-md)}.skill-bar__header{display:flex;justify-content:space-between;margin-bottom:4px}.skill-bar__name{font-size:var(--fs-sm);color:var(--text-secondary)}.skill-bar__level{font-size:var(--fs-xs);color:var(--text-muted)}.skill-bar__track{height:6px;background:#ffffff0f;border-radius:var(--radius-full);overflow:hidden}.skill-bar__fill{height:100%;border-radius:var(--radius-full);width:var(--target-width);transition:width 1.2s cubic-bezier(.34,1.56,.64,1)}.skill-bar__fill--cyan{background:linear-gradient(90deg,var(--accent-cyan),rgba(0,240,255,.5))}.skill-bar__fill--purple{background:linear-gradient(90deg,var(--accent-purple),rgba(168,85,247,.5))}.skill-bar__fill--green{background:linear-gradient(90deg,var(--accent-green),rgba(0,255,136,.5))}.projects__loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-4xl) 0}.projects__spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent-cyan);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.projects__featured{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl);margin-bottom:var(--space-2xl)}.projects__filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xl)}.projects__filter-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans)}.projects__filter-pill:hover,.projects__filter-pill.active{border-color:var(--accent-cyan);color:var(--accent-cyan);background:var(--accent-cyan-dim)}.projects__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.project-card{display:flex;flex-direction:column;cursor:pointer;color:var(--text-primary);min-height:200px}.project-card:hover{color:var(--text-primary)}.project-card--featured{border:1px solid rgba(0,240,255,.15);animation:pulse-glow 4s ease infinite}.project-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.project-card__icon{font-size:var(--fs-2xl)}.project-card__title{font-size:var(--fs-lg);font-weight:700;margin-bottom:var(--space-sm);text-transform:capitalize}.project-card__desc{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.6;flex-grow:1;margin-bottom:var(--space-md)}.project-card__footer{display:flex;justify-content:space-between;align-items:center}.project-card__lang{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-muted)}.project-card__lang-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.project-card__stats{display:flex;gap:var(--space-md);font-size:var(--fs-xs);color:var(--text-muted)}.contact__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.contact__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm);cursor:pointer;position:relative;color:var(--text-primary)}.contact__card:hover{color:var(--text-primary)}.contact__icon{font-size:var(--fs-3xl)}.contact__label{font-weight:600;font-size:var(--fs-sm)}.contact__value{font-size:var(--fs-xs);color:var(--text-secondary);word-break:break-all}.contact__copied{position:absolute;top:8px;right:8px;animation:fadeIn .3s ease}.hint-card{position:fixed;bottom:24px;right:24px;z-index:999;animation:fadeInUp .5s ease forwards}.hint-card__content{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.2);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-glow-cyan);display:flex;flex-direction:column;gap:var(--space-md);max-width:320px}.hint-card__message{font-size:var(--fs-sm);color:var(--text-primary);line-height:1.5}.hint-card__actions{display:flex;align-items:center;gap:var(--space-md)}.hint-card__dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--fs-lg);padding:4px;transition:color var(--transition-fast)}.hint-card__dismiss:hover{color:var(--text-primary)}.footer{padding:var(--space-2xl) 0;border-top:var(--border-subtle)}@media (max-width: 1024px){.skills__grid{grid-template-columns:1fr}.projects__grid,.contact__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.navbar__links{display:none;position:fixed;top:var(--nav-height);left:0;width:100%;background:#0a0a0ff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;padding:var(--space-xl);gap:var(--space-md);border-bottom:var(--border-subtle)}.navbar__links--open,.navbar__burger{display:flex}.hero__name{font-size:var(--fs-4xl)}.hero__title-wrapper{font-size:var(--fs-lg)}.about__grid{grid-template-columns:1fr}.experience__dot-line{display:none}.projects__featured,.projects__grid,.contact__grid{grid-template-columns:1fr}.hint-card{bottom:12px;right:12px;left:12px}.hint-card__content{max-width:none}}
