:root{--font-heading: "Inter", "Segoe UI", system-ui, sans-serif;--font-body: "Inter", "Segoe UI", system-ui, sans-serif;--bg: #09090b;--bg-elevated: #111113;--surface: #15151a;--surface-2: #1b1b23;--border: #4a4a4a;--text-primary: #f5f5f7;--text-secondary: #b6b6c4;--text-muted: #6d6d7e;--primary: #ff3b3b;--primary-strong: #ff1f1f;--primary-soft: rgba(255, 59, 77, .18);--secondary: #ff6b7a;--success: #2ad17c;--shadow-1: 0 10px 30px rgba(0, 0, 0, .35);--shadow-2: 0 18px 45px rgba(255, 59, 77, .18);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-pill: 999px;--motion-fast: .18s;--motion-base: .3s;--motion-slow: .52s;--motion-ease-out: cubic-bezier(.22, 1, .36, 1);--motion-ease-emphasis: cubic-bezier(.19, 1, .22, 1)}:root body,:root #root{background-color:transparent!important}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-body);background:radial-gradient(circle at 20% 10%,rgba(255,59,77,.16),transparent 40%),radial-gradient(circle at 80% 15%,rgba(255,107,122,.12),transparent 35%),var(--bg);color:var(--text-primary);line-height:1.55}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}.app{overflow-x:hidden}.container{max-width:1120px;margin:0 auto;padding:0 24px}section{padding:96px 0}.navbar{position:fixed;inset:0 0 auto 0;z-index:1000;padding:18px 0;transition:all var(--motion-base) var(--motion-ease-out)}.navbar.scrolled{background:#0a0a0f8c;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:12px 0}.nav-content{max-width:1120px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-heading);font-size:1.8rem;font-weight:900;letter-spacing:.03em;background:linear-gradient(120deg,var(--text-primary),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-links{display:flex;gap:28px;align-items:center;justify-content:center}.nav-links{gap:16px}.nav-links button{padding:10px 16px;border:0;border-radius:10px;background:none;color:var(--text-secondary);font-size:.95rem;font-family:var(--font-body);cursor:pointer;position:relative;isolation:isolate;overflow:hidden;transition:color var(--motion-fast) var(--motion-ease-out),transform var(--motion-fast) var(--motion-ease-out)}.nav-links button:has(~button:hover),.nav-links button:has(~button:focus-visible){transform:translate(-8px)}.nav-links button:before,.nav-links button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;opacity:0;transform:perspective(700px) rotateY(75deg) rotateX(20deg) skew(18deg) scale(.35) translate(60%);filter:blur(8px) saturate(160%);transform-origin:right center;transition:transform .24s var(--motion-ease-out),opacity .18s var(--motion-ease-out),filter .24s var(--motion-ease-out)}.nav-links button:before{background:linear-gradient(135deg,#ff3b4d33,#ff6b7a14)}.nav-links button:after{box-shadow:inset 0 0 0 1px #ff6b7a8c,0 8px 20px #ff3b4d38}.nav-links button:hover,.nav-links button:focus-visible{color:var(--text-primary);transform:translateY(-1px);letter-spacing:.01em}.nav-links button:hover:before,.nav-links button:hover:after,.nav-links button:focus-visible:before,.nav-links button:focus-visible:after{opacity:1;transform:perspective(700px) rotateY(0) rotateX(0) skew(0) scale(1) translate(0);filter:blur(0) saturate(100%)}.nav-links button:hover~button,.nav-links button:focus-visible~button{transform:translate(8px)}.hamburger{display:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:none;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger span{display:block;width:100%;height:2px;background:var(--text-secondary);transition:transform .3s ease,opacity .3s ease;transform-origin:center}.hamburger:hover span{background:var(--text-primary)}.hamburger.open span:nth-child(1){transform:translateY(9px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#09090beb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;justify-content:center;align-items:center;gap:24px;transform:translateY(-100%);opacity:0;transition:transform .3s ease,opacity .3s ease;z-index:999}.mobile-menu.open{transform:translateY(0);opacity:1}.mobile-menu button{border:0;background:none;color:var(--text-secondary);font-size:1.4rem;font-family:var(--font-body);cursor:pointer;position:relative;transition:color var(--motion-fast) var(--motion-ease-out)}.mobile-menu button:hover,.mobile-menu button:focus-visible{color:var(--text-primary)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding-top:78px}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0}.shape{position:absolute;border-radius:50%;opacity:.16;filter:blur(68px)}.shape-1{width:420px;height:420px;top:6%;left:8%;background:var(--primary);animation:float 9s var(--motion-ease-emphasis) infinite}.shape-2{width:320px;height:320px;right:10%;bottom:16%;background:var(--secondary);animation:float 7s var(--motion-ease-emphasis) infinite reverse}.shape-3{width:230px;height:230px;right:32%;top:46%;background:linear-gradient(135deg,var(--primary),var(--secondary));animation:float 11s var(--motion-ease-emphasis) infinite}@keyframes float{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,-18px,0) scale(1.04)}}.hero-content{position:relative;z-index:1;text-align:center;padding:0 24px}.hero-content h1{margin:0 0 14px;font-size:clamp(2.6rem,7vw,5.4rem);line-height:1.05;letter-spacing:-.02em;background:linear-gradient(130deg,#fff 10%,#ffbec6 42%,#ff4054);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.typing-text{margin:0 0 34px;font-size:clamp(1rem,2.4vw,1.35rem);color:var(--text-secondary);min-height:30px}.cursor{color:var(--primary);animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.cta-button{border:0;border-radius:var(--radius-pill);padding:14px 34px;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(120deg,#ff5a66,#ff2f44 38%,#ff1633 72%,#ff6b7a);background-size:180% 180%;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;letter-spacing:.015em;transition:transform var(--motion-fast) var(--motion-ease-out),box-shadow var(--motion-base) var(--motion-ease-out),filter var(--motion-base) var(--motion-ease-out),background-position var(--motion-base) var(--motion-ease-out);box-shadow:0 14px 30px #ff233861,0 0 0 1px #ffb4be38 inset;animation:cta-gradient-shift 3.2s ease-in-out infinite,cta-breathe 2.4s cubic-bezier(.37,0,.63,1) infinite;will-change:transform,box-shadow,filter}.cta-button:before,.cta-button:after{content:"";position:absolute;pointer-events:none}.cta-button:before{top:-130%;right:-45%;bottom:-130%;left:-45%;z-index:-1;background:conic-gradient(from 20deg,transparent 0deg,rgba(255,255,255,.16) 95deg,transparent 180deg,rgba(255,255,255,.2) 280deg,transparent 360deg);animation:cta-orbit 2.8s linear infinite}.cta-button:after{top:0;left:-35%;width:36%;height:100%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:skew(-20deg) translate(-140%);opacity:0}.cta-button:hover,.cta-button:focus-visible{transform:translateY(-3px) scale(1.02);filter:saturate(128%) brightness(1.06);background-position:100% 50%;box-shadow:0 20px 46px #ff243e7a,0 0 0 1px #ffced557 inset,0 0 36px #ff40546b}.cta-button:hover:after,.cta-button:focus-visible:after{opacity:1;animation:cta-sheen .3s linear 1 both}.cta-button:focus-visible{outline:2px solid rgba(255,170,180,.8);outline-offset:3px}@keyframes cta-gradient-shift{0%,to{background-position:0% 50%}25%{background-position:42% 44%}50%{background-position:100% 50%}75%{background-position:58% 56%}}@keyframes cta-breathe{0%,to{box-shadow:0 14px 30px #ff233861,0 0 0 1px #ffb4be38 inset}20%{box-shadow:0 15px 31px #ff233866,0 0 0 1px #ffb4be3d inset,0 0 12px #ff476029}40%{box-shadow:0 17px 34px #ff233873,0 0 0 1px #ffb4be47 inset,0 0 22px #ff476047}60%{box-shadow:0 18px 36px #ff23387a,0 0 0 1px #ffb4be4d inset,0 0 28px #ff476057}80%{box-shadow:0 15px 31px #ff233866,0 0 0 1px #ffb4be3d inset,0 0 10px #ff476024}}@keyframes cta-orbit{0%{transform:rotate(0)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(360deg)}}@keyframes cta-sheen{0%{transform:skew(-20deg) translate(-140%)}to{transform:skew(-20deg) translate(380%)}}.section-title{margin:0 0 46px;text-align:center;font-size:clamp(2rem,5vw,2.6rem);letter-spacing:-.01em;position:relative}.section-title:after{content:"";position:absolute;left:50%;bottom:-14px;transform:translate(-50%);width:74px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary))}.about-card,.skill-card,.project-card,.stat-card,.social-button{background:linear-gradient(180deg,#2d2d3759,#14141973);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #0003,inset 0 1px 1px #ffffff0d}.about-card{max-width:900px;margin:0 auto;border-radius:var(--radius-lg);padding:40px;display:flex;gap:34px;position:relative;overflow:hidden;transition:transform var(--motion-base) var(--motion-ease-out),border-color var(--motion-base) var(--motion-ease-out),box-shadow var(--motion-base) var(--motion-ease-out)}.about-card:hover{transform:translateY(-4px);border-color:#ff3b4d66;box-shadow:0 15px 40px #0000004d,inset 0 1px 2px #ffffff1a}.about-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;padding:1px;background:linear-gradient(130deg,rgba(255,59,77,.45),rgba(255,107,122,.2),transparent 60%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor}.avatar{width:110px;height:110px;min-width:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800;color:#fff;background:linear-gradient(120deg,var(--primary),var(--secondary))}.about-content p{margin:0 0 14px;color:var(--text-secondary)}.about-meta{margin-top:16px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}.location{color:var(--text-secondary)}.badge.available{font-size:.88rem;border-radius:var(--radius-pill);padding:7px 13px;border:1px solid rgba(42,209,124,.4);color:var(--success);background:#2ad17c1f}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.skill-card{border-radius:var(--radius-md);padding:26px;transition:transform var(--motion-fast) var(--motion-ease-out),border-color var(--motion-base) var(--motion-ease-out),box-shadow var(--motion-base) var(--motion-ease-out)}.skill-card:hover{transform:translateY(-6px) scale(1.02);border-color:#ff3b4d99;box-shadow:0 15px 40px #ff3b4d26,inset 0 1px 2px #ffffff26}.skill-card h3{margin:0 0 16px;color:#ffd3d8}.skill-tags{display:flex;gap:10px;flex-wrap:wrap}.skill-tag{border:1px solid rgba(255,59,77,.3);background:var(--primary-soft);color:var(--text-primary);font-size:.88rem;border-radius:var(--radius-pill);padding:8px 14px;transition:transform var(--motion-fast) var(--motion-ease-out),background var(--motion-base) var(--motion-ease-out)}.skill-tag:hover{transform:translateY(-2px);background:#ff3b4d42}.projects-note{margin:-16px 0 30px;text-align:center;color:var(--text-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.project-card{border-radius:var(--radius-md);padding:24px;display:flex;flex-direction:column;gap:14px;transition:transform var(--motion-fast) var(--motion-ease-out),border-color var(--motion-base) var(--motion-ease-out),box-shadow var(--motion-base) var(--motion-ease-out)}.project-card:hover{transform:translateY(-8px) scale(1.02);border-color:#ff3b4d99;box-shadow:0 15px 40px #ff3b4d26,inset 0 1px 2px #ffffff26}.project-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-header h3{margin:0;font-size:1.15rem}.relevance-chip,.type-chip{font-size:.76rem;letter-spacing:.01em;border-radius:var(--radius-pill);padding:6px 10px;border:1px solid rgba(255,59,77,.4);background:#ff3b4d29;color:#ffe3e6}.project-card p{margin:0;color:var(--text-secondary);min-height:64px}.project-meta{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.86rem}.language{display:inline-flex;align-items:center;gap:8px}.lang-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(120deg,var(--primary),var(--secondary))}.project-footer-meta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-muted)}.type-chip.product{border-color:#ff3b4d8c}.type-chip.tool{border-color:#ff6b7a8c}.type-chip.library{border-color:#ff58918c}.type-chip.practice{border-color:#ba62ff8c}.type-chip.unknown{border-color:#78788c8c;background:#78788c29;color:#e4e4ee}.stats-grid{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;margin-bottom:24px}.stat-card{min-width:180px;border-radius:var(--radius-lg);text-align:center;padding:24px 28px;transition:transform var(--motion-fast) var(--motion-ease-out),border-color var(--motion-base) var(--motion-ease-out)}.stat-card:hover{transform:translateY(-6px) scale(1.04);border-color:#ff3b4d99;box-shadow:0 15px 40px #ff3b4d26,inset 0 1px 2px #ffffff26}.stat-value{display:block;font-family:var(--font-heading);font-size:2.6rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(120deg,#ffd9de,#ff3b4d);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stat-label,.stats-note,.contact-text{color:var(--text-secondary)}.stats-note{text-align:center}.stats-note a{color:var(--primary);transition:color .3s ease}.stats-note a:hover{color:var(--secondary)}.contact-text{text-align:center;justify-content:center;color:var(--text-secondary);font-size:1.1rem;margin-bottom:40px;color:#ff9aa4}.social-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.social-button{border-radius:var(--radius-pill);padding:13px 22px;display:inline-flex;align-items:center;gap:8px;transition:transform var(--motion-fast) var(--motion-ease-out),border-color var(--motion-base) var(--motion-ease-out),background var(--motion-base) var(--motion-ease-out)}.social-button:hover{transform:translateY(-4px) scale(1.05);border-color:#ff3b4d99;background:#ff3b4d26;box-shadow:0 10px 25px #ff3b4d33,inset 0 1px 2px #ffffff1a}.social-icon{font-size:1.2rem}.footer{text-align:center;padding:34px 18px 40px;border-top:1px solid var(--border);color:var(--text-muted)}.reveal{opacity:0;transform:translate3d(0,14px,0) scale(.99);transition:opacity var(--motion-slow) var(--motion-ease-emphasis),transform var(--motion-slow) var(--motion-ease-emphasis)}.reveal.is-visible{opacity:1;transform:translateZ(0) scale(1)}@media(max-width:860px){section{padding:82px 0}.nav-links:not(.mobile-menu){display:none}.hamburger,.mobile-menu{display:flex}.about-card{padding:26px;flex-direction:column;align-items:center;text-align:center}.about-meta{justify-content:center}.projects-grid{grid-template-columns:1fr}}@media(max-width:580px){.container,.nav-content{padding:0 18px}.hero-content h1{font-size:clamp(2.2rem,11vw,3rem)}.stat-card{min-width:140px}.social-button{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
