*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0c0c14;--bg-secondary:#111120;--bg-card:#16162a;--bg-card-hover:#1c1c34;--border:#ffffff12;--accent:#7c6fff;--accent-alt:#00d4aa;--accent-glow:#7c6fff40;--gradient:linear-gradient(135deg, #7c6fff, #00d4aa);--text-primary:#e8e8f4;--text-secondary:#8888b0;--text-muted:#55557a;--radius:12px;--radius-sm:6px;--transition:.2s ease}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font:inherit;background:0 0;border:none}#root{min-height:100svh}.portfolio{flex-direction:column;display:flex}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 24px}.section{padding:96px 0}.section-alt{background-color:var(--bg-secondary)}.btn{border-radius:var(--radius-sm);transition:all var(--transition);white-space:nowrap;align-items:center;gap:8px;padding:11px 24px;font-size:15px;font-weight:500;display:inline-flex}.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 0 24px var(--accent-glow)}.btn-primary:hover{opacity:.88;box-shadow:0 0 36px var(--accent-glow);transform:translateY(-1px)}.btn-outline{border:1px solid var(--border);color:var(--text-primary);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{color:var(--text-primary);border-color:#fff3}.btn-lg{padding:14px 32px;font-size:16px}.section-eyebrow{letter-spacing:.1em;text-transform:uppercase;background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:13px;font-weight:600}.section-title{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:48px;font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.2}.center{text-align:center}.tag{color:var(--accent);transition:all var(--transition);background:#7c6fff1a;border:1px solid #7c6fff33;border-radius:100px;padding:6px 12px;font-size:13px;font-weight:500}.tag:hover{background:#7c6fff33}a.tag{cursor:pointer}a.tag:hover{background:#7c6fff4d;border-color:#7c6fff80}.tag-sm{border:1px solid var(--border);color:var(--text-secondary);background:#ffffff0d;padding:4px 10px;font-size:12px}a.tag-sm:hover{color:var(--text-primary);background:#ffffff1a;border-color:#fff3}.icon-link{color:var(--text-secondary);transition:color var(--transition);font-size:14px;font-weight:500}.icon-link:hover{color:var(--accent)}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}@media (width<=900px){.section{padding:64px 0}}@media (prefers-reduced-motion:reduce){.reveal,.hero-eyebrow,.hero-title,.hero-subtitle,.hero-actions{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}.lang-switcher{position:relative}.lang-btn{border-radius:var(--radius-sm);letter-spacing:.05em;color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.lang-btn:hover{color:var(--text-primary);border-color:#fff3}.lang-caret{transition:transform var(--transition);font-size:10px;display:inline-block}.lang-caret--open{transform:rotate(180deg)}.lang-dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:200;min-width:120px;padding:4px;list-style:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0006}.lang-option{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:4px;padding:8px 12px;font-size:13px;font-weight:500;display:block}.lang-option:hover{color:var(--text-primary);background:#ffffff0d}.lang-option--active{color:var(--accent)}.nav{top:0;z-index:100;align-items:center;gap:40px;padding:20px 40px;transition:all .3s;display:flex;position:fixed;inset-inline:0}.nav--scrolled{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#0c0c14d9;padding:14px 40px}.nav-logo{letter-spacing:-.02em;color:var(--text-primary);margin-right:auto;font-size:20px;font-weight:700}.nav-logo .accent{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.nav-links{gap:32px;list-style:none;display:flex}.nav-links a{color:var(--text-secondary);transition:color var(--transition);font-size:14px}.nav-links a:hover{color:var(--text-primary)}@media (width<=900px){.nav{padding:16px 20px}.nav--scrolled{padding:12px 20px}.nav-links{display:none}}.hero{align-items:center;min-height:100svh;padding:120px 0 80px;display:flex;position:relative;overflow:hidden}.hero-bg{pointer-events:none;background-image:radial-gradient(60% 50% at 50% 0,#7c6fff26 0%,#0000 70%),radial-gradient(40% 30% at 80% 60%,#00d4aa14 0%,#0000 60%);animation:8s ease-in-out infinite alternate heroPulse;position:absolute;inset:0}@keyframes heroPulse{0%{opacity:.7}to{opacity:1}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.hero-bg:before{content:"";background-image:radial-gradient(circle,#ffffff0a 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%)}.hero .container{position:relative}.hero-eyebrow{color:var(--accent-alt);background:#00d4aa1a;border:1px solid #00d4aa33;border-radius:100px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;font-size:13px;font-weight:500;animation:.6s 50ms both heroFadeUp;display:inline-flex}.hero-eyebrow:before{content:"";background:var(--accent-alt);width:6px;height:6px;box-shadow:0 0 8px var(--accent-alt);border-radius:50%}.hero-title{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:24px;font-size:clamp(44px,7vw,80px);font-weight:800;line-height:1.05;animation:.7s .18s both heroFadeUp}.gradient-text{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);max-width:520px;margin-bottom:40px;font-size:clamp(16px,2vw,18px);line-height:1.7;animation:.7s .34s both heroFadeUp}.hero-actions{flex-wrap:wrap;gap:12px;margin-bottom:64px;animation:.7s .5s both heroFadeUp;display:flex}@media (width<=600px){.hero-title{font-size:clamp(36px,10vw,56px)}}.about-grid{grid-template-columns:auto 1fr;align-items:center;gap:80px;display:grid}.about-avatar{flex-shrink:0}.avatar-img{object-fit:cover;border:2px solid var(--border);width:200px;height:200px;box-shadow:0 0 40px var(--accent-glow);border-radius:50%}.about-text{color:var(--text-secondary);margin-bottom:16px;font-size:16px;line-height:1.8}.about-links{flex-wrap:wrap;align-items:center;gap:20px;margin-top:32px;display:flex}@media (width<=900px){.about-grid{text-align:center;grid-template-columns:1fr;gap:40px}.about-links{justify-content:center}.avatar-placeholder{margin:0 auto}}.skills-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.skill-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition), transform var(--transition);padding:28px}.skill-card:hover{border-color:#7c6fff4d;transform:translateY(-2px)}.skill-category{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;font-size:13px;font-weight:600}.skill-tags{flex-wrap:wrap;gap:8px;display:flex}@media (width<=900px){.skills-grid{grid-template-columns:repeat(2,1fr)}}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));justify-content:center;gap:24px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition), transform var(--transition);flex-direction:column;display:flex;overflow:hidden}.project-card:hover{border-color:#7c6fff4d;transform:translateY(-4px)}.project-header{height:140px}.project-header--0{background:linear-gradient(135deg,#7c6fff22,#7c6fff88);border-bottom:1px solid #7c6fff33}.project-header--1{background:linear-gradient(135deg,#00d4aa22,#00d4aa88);border-bottom:1px solid #00d4aa33}.project-header--2{background:linear-gradient(135deg,#ff6b6b22,#ff6b6b88);border-bottom:1px solid #ff6b6b33}.project-body{flex-direction:column;flex:1;gap:12px;padding:24px;display:flex}.project-title{color:var(--text-primary);margin-bottom:4px;font-size:18px;font-weight:600}.project-company{color:var(--accent-alt);letter-spacing:.03em;font-size:12px;font-weight:500}.project-desc{color:var(--text-secondary);flex:1;font-size:14px;line-height:1.7}.project-tags{flex-wrap:wrap;gap:6px;display:flex}.project-links{gap:16px;padding-top:4px;display:flex}@media (width<=900px){.projects-grid{grid-template-columns:1fr}}.contact-card{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:600px;margin:0 auto;display:flex}.contact-desc{color:var(--text-secondary);margin-bottom:16px;font-size:16px;line-height:1.7}.social-links{gap:24px;margin-top:8px;display:flex}.social-link{color:var(--text-muted);transition:color var(--transition);font-size:14px}.social-link:hover{color:var(--text-primary)}.footer{border-top:1px solid var(--border);text-align:center;padding:32px 0}.footer p{color:var(--text-muted);font-size:13px}
