:root{--bg:#000000;--surface:#0c0c0c;--surface-2:#141414;--surface-3:#1b1b1b;--border:#242424;--border-2:#2f2f2f;--text:#f2f2f2;--text-2:#d7d7d7;--text-3:#b1b1b1;--text-4:#7f7f7f;--glow-soft:rgba(255,255,255,.05);--glow-mid:rgba(255,255,255,.1);--glow-strong:rgba(255,255,255,.18)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto;font-size:15px;scrollbar-width:thin;scrollbar-color:var(--border-2) var(--bg)}body{font-family:Manrope,Space Grotesk,system-ui,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;cursor:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}button{border:none;background:none;color:inherit;cursor:none;font-family:inherit}.cursor-dot{position:fixed;top:0;left:0;width:8px;height:8px;background:var(--text);border-radius:50%;pointer-events:none;z-index:10000;transition:transform .15s ease,opacity .15s ease;transform:translate(-50%,-50%)}.cursor-ring{position:fixed;top:0;left:0;width:36px;height:36px;border:1.5px solid rgba(255,255,255,.35);border-radius:50%;pointer-events:none;z-index:10000;transition:transform .08s ease,width .3s ease,height .3s ease,border-color .3s ease,box-shadow .3s ease;transform:translate(-50%,-50%)}.cursor-ring.hover{width:56px;height:56px;border-color:#ffffffbf;box-shadow:0 0 30px #ffffff14}.mouse-glow{position:fixed;top:0;left:0;width:600px;height:600px;pointer-events:none;z-index:1;background:radial-gradient(300px,rgba(255,255,255,.06),transparent 70%);transform:translate(-50%,-50%);transition:opacity .3s}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.app{position:relative;min-height:100vh;isolation:isolate}.section{padding:84px 0;position:relative}.container{max-width:1120px;margin:0 auto;padding:0 22px}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:12px 20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#000000b3;border-bottom:1px solid rgba(255,255,255,.08);transition:all .3s ease}.nav.nav-scrolled{box-shadow:0 10px 30px #ffffff0f}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:10px;font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:.02em}.nav-logo-text{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.nav-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;border:1px solid var(--border);background:var(--surface);box-shadow:0 0 0 1px #ffffff0d;transition:transform .4s ease,box-shadow .4s ease}.nav-avatar img{width:100%;height:100%;object-fit:cover;filter:brightness(1.03) contrast(1.05) saturate(1.02);transition:transform 1s ease}.nav-logo:hover .nav-avatar{transform:translateY(-1px);box-shadow:0 0 0 6px #ffffff0a}.nav-logo:hover .nav-avatar img{transform:scale(1.05)}.nav-links{display:flex;gap:8px}.nav-link{padding:7px 14px;border-radius:8px;font-size:.82rem;font-weight:500;color:var(--text-3);transition:all .25s ease;position:relative}.nav-link:hover,.nav-link.active{color:var(--text);background:#ffffff0f}.nav-link.active:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:16px;height:2px;background:var(--text);border-radius:1px}.hero{min-height:92vh;display:flex;align-items:center;padding-top:72px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:52px;align-items:center}.hero-content{position:relative;z-index:2}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:100px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);font-size:.8rem;color:var(--text-2);margin-bottom:24px;font-weight:500}.hero-badge-dot{width:6px;height:6px;background:var(--text);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero-name{font-family:Space Grotesk,sans-serif;font-size:clamp(2.3rem,4.5vw,3.6rem);font-weight:800;line-height:1.1;margin-bottom:8px}.hero-name-gradient{background:linear-gradient(135deg,#fff,#d1d1d1,#9b9b9b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title{font-size:1.15rem;color:var(--text-2);font-weight:600;margin-bottom:14px;font-family:Space Grotesk,sans-serif}.hero-age{font-size:.85rem;color:var(--text-4);margin-bottom:18px;font-family:JetBrains Mono,monospace}.hero-desc{font-size:.98rem;line-height:1.75;color:var(--text-3);max-width:500px;margin-bottom:28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:12px;font-size:.85rem;font-weight:600;transition:all .3s ease;position:relative;overflow:hidden}.btn-primary{background:#ffffff2e;color:var(--text);border:1px solid rgba(255,255,255,.35);box-shadow:0 6px 24px #ffffff1f}.btn-primary:hover{transform:translateY(-2px);background:#ffffff47;box-shadow:0 10px 30px #ffffff2e}.btn-secondary{border:1px solid var(--border-2);color:var(--text-2);background:#ffffff0a}.btn-secondary:hover{border-color:#fff6;color:var(--text);background:#ffffff14;transform:translateY(-2px)}.hero-visual{display:flex;justify-content:flex-start;align-items:center;position:relative}.profile-wrapper{position:relative;width:320px;height:320px}.profile-ring{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;border:2px solid rgba(255,255,255,.12);animation:spin-slow 20s linear infinite}.profile-ring-2{position:absolute;top:-28px;right:-28px;bottom:-28px;left:-28px;border-radius:50%;border:1px solid rgba(255,255,255,.06);animation:spin-slow 30s linear infinite reverse}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.profile-glow{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%);animation:glow-pulse 4s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.profile-image{width:320px;height:320px;border-radius:50%;overflow:hidden;position:relative;z-index:2;border:3px solid rgba(255,255,255,.2);background:#ffffff05;box-shadow:0 0 60px #ffffff26,0 0 120px #ffffff14}.profile-image img{width:100%;height:100%;object-fit:cover;transition:transform 6s cubic-bezier(.25,.1,.25,1);filter:brightness(1.04) contrast(1.06) saturate(1.02)}.profile-image:hover img{transform:scale(1.08)}.profile-float-badge{position:absolute;z-index:3;padding:8px 14px;border-radius:10px;background:#000000d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);font-size:.75rem;font-weight:500;color:var(--text);white-space:nowrap;animation:float 6s ease-in-out infinite}.profile-float-badge.badge-1{top:30px;right:-20px;animation-delay:0s}.profile-float-badge.badge-2{bottom:60px;left:-30px;animation-delay:2s}.profile-float-badge.badge-3{bottom:10px;right:10px;animation-delay:4s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.stat-card{padding:18px;border-radius:14px;background:#ffffff05;border:1px solid var(--border);transition:all .3s ease;text-align:center}.stat-card:hover{border-color:#ffffff40;background:#ffffff0a;transform:translateY(-4px)}.stat-value{font-family:Space Grotesk,sans-serif;font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,#fff,#cfcfcf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.8rem;color:var(--text-3);margin-top:4px;font-weight:500}.stat-desc{font-size:.7rem;color:var(--text-4);margin-top:6px;line-height:1.4}.section-header{margin-bottom:32px;text-align:center}.section-label{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;font-family:JetBrains Mono,monospace}.section-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.75rem,3.6vw,2.6rem);font-weight:800;margin-bottom:14px}.section-desc{font-size:.98rem;color:var(--text-3);max-width:560px;margin:0 auto;line-height:1.7}.text-highlight{background:linear-gradient(90deg,#ffffff24,#ffffff0a);background-size:0% 100%;background-repeat:no-repeat;border-radius:6px;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .2em;transition:background-size .35s ease,color .35s ease}.section-desc:hover .text-highlight,.hero-desc:hover .text-highlight,.contact-desc:hover .text-highlight{background-size:100% 100%;color:var(--text)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project-card{position:relative;padding:26px;border-radius:18px;background:#ffffff05;border:1px solid var(--border);transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden;isolation:isolate}.project-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;opacity:0;transition:opacity .4s ease;background:var(--card-gradient);z-index:0;pointer-events:none}.project-card>*{position:relative;z-index:1}.project-card:hover{border-color:#fff3;transform:translateY(-6px);box-shadow:0 20px 60px #ffffff0f}.project-card:hover:before{opacity:.12}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.project-icon{font-size:2rem;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#ffffff0f}.project-status{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:100px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.project-status.live{background:#ffffff1f;color:var(--text);border:1px solid rgba(255,255,255,.2)}.project-status.in-progress{background:#ffffff0f;color:var(--text-2);border:1px solid rgba(255,255,255,.12)}.project-status.archived{background:#ffffff0a;color:var(--text-3);border:1px solid rgba(255,255,255,.1)}.project-title{font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:700;margin-bottom:8px}.project-desc{font-size:.85rem;color:var(--text-3);line-height:1.7;margin-bottom:18px}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.project-tag{padding:4px 10px;border-radius:6px;font-size:.72rem;font-weight:500;background:#ffffff0d;color:var(--text-2);border:1px solid rgba(255,255,255,.12);font-family:JetBrains Mono,monospace}.project-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{padding:12px;border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);text-align:center}.metric-value{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700;color:var(--text)}.metric-change{font-size:.7rem;color:var(--text-2);margin-left:4px}.metric-label{font-size:.7rem;color:var(--text-4);margin-top:2px}.project-links{display:flex;gap:8px;margin-top:16px}.project-link{padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:500;border:1px solid var(--border-2);color:var(--text-3);transition:all .25s ease}.project-link:hover{border-color:#fff6;color:var(--text)}.timeline{position:relative;padding-left:40px}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#ffffff80,#ffffff0d)}.timeline-item{position:relative;margin-bottom:40px;padding:24px;border-radius:16px;background:#ffffff05;border:1px solid var(--border);transition:all .3s ease}.timeline-item:hover{border-color:#fff3;transform:translate(8px)}.timeline-dot{position:absolute;left:-49px;top:32px;width:16px;height:16px;border-radius:50%;background:var(--text);border:3px solid var(--bg);box-shadow:0 0 20px #fff3}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;flex-wrap:wrap;gap:8px}.timeline-role{font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700}.timeline-type{padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.timeline-type.work{background:#ffffff14;color:var(--text-2);border:1px solid rgba(255,255,255,.12)}.timeline-type.freelance{background:#ffffff1f;color:var(--text);border:1px solid rgba(255,255,255,.18)}.timeline-type.open-source{background:#ffffff0f;color:var(--text-2);border:1px solid rgba(255,255,255,.1)}.timeline-company{font-size:.9rem;color:var(--text-2);font-weight:500;margin-bottom:4px}.timeline-duration{font-size:.8rem;color:var(--text-4);font-family:JetBrains Mono,monospace;margin-bottom:12px}.timeline-desc{font-size:.85rem;color:var(--text-3);line-height:1.7;margin-bottom:16px}.timeline-achievements{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.achievement{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--text-2);line-height:1.6}.achievement:before{content:"▸";color:var(--text);font-weight:700;flex-shrink:0;margin-top:1px}.timeline-techs{display:flex;flex-wrap:wrap;gap:6px}.timeline-tech{padding:3px 8px;border-radius:4px;font-size:.7rem;background:#ffffff0a;color:var(--text-3);font-family:JetBrains Mono,monospace;border:1px solid var(--border)}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.skill-category{padding:24px;border-radius:16px;background:#ffffff05;border:1px solid var(--border);transition:all .3s ease}.skill-category:hover{border-color:#fff3}.skill-category-title{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700;margin-bottom:18px;color:var(--text)}.skill-item{display:flex;align-items:center;gap:12px;margin-bottom:16px}.skill-item:last-child{margin-bottom:0}.skill-icon{font-size:1.2rem;width:32px;text-align:center;flex-shrink:0}.skill-info{flex:1}.skill-row{display:flex;justify-content:space-between;margin-bottom:4px}.skill-name{font-size:.85rem;font-weight:500}.skill-level{font-size:.75rem;color:var(--text-4);font-family:JetBrains Mono,monospace}.skill-bar{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.skill-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#fff,#bdbdbd);transition:width 1.5s cubic-bezier(.4,0,.2,1)}.hobbies-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hobby-card{padding:24px;border-radius:16px;background:#ffffff05;border:1px solid var(--border);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;isolation:isolate}.hobby-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .4s;background:var(--hobby-glow);z-index:0;pointer-events:none}.hobby-card>*{position:relative;z-index:1}.hobby-card:hover{transform:translateY(-6px);border-color:#fff3}.hobby-card:hover:before{opacity:.1}.hobby-icon{font-size:2rem;margin-bottom:14px;display:block}.hobby-name{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700;margin-bottom:8px}.hobby-desc{font-size:.8rem;color:var(--text-3);line-height:1.7}.contact{text-align:center;padding:76px 0 52px}.contact-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:800;margin-bottom:14px}.contact-desc{font-size:.95rem;color:var(--text-3);max-width:480px;margin:0 auto 34px;line-height:1.7}.contact-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.contact-link{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:12px;border:1px solid var(--border);font-size:.85rem;font-weight:500;color:var(--text-3);transition:all .3s ease;background:#ffffff05}.contact-link:hover{border-color:#fff6;color:var(--text);transform:translateY(-3px);box-shadow:0 10px 30px #ffffff0f}.contact-icon{font-size:1.1rem}.footer{padding:32px 0;border-top:1px solid var(--border);text-align:center}.footer-text{font-size:.8rem;color:var(--text-4)}.footer-text span{color:var(--text-2)}.fade-in{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-delay-1{transition-delay:.1s}.fade-in-delay-2{transition-delay:.2s}.fade-in-delay-3{transition-delay:.3s}.fade-in-delay-4{transition-delay:.4s}@media(max-width:1024px){.hero-grid{grid-template-columns:1fr;text-align:center;gap:40px}.hero-visual{order:-1}.hero-desc{margin:0 auto 32px}.hero-actions{justify-content:center}.stats-row{grid-template-columns:repeat(2,1fr)}.projects-grid,.skills-grid{grid-template-columns:1fr}.nav-links{display:none}}@media(max-width:768px){.section{padding:56px 0}.hobbies-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.profile-wrapper,.profile-image{width:240px;height:240px}.project-metrics{grid-template-columns:1fr}.timeline{padding-left:30px}}@media(max-width:480px){.stats-row{grid-template-columns:1fr}.container{padding:0 16px}.contact-links{flex-direction:column;align-items:center}}@media(pointer:coarse){body,button,a{cursor:auto}.cursor-dot,.cursor-ring{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-in{transition:none;transform:none}.profile-ring,.profile-ring-2,.profile-glow,.profile-float-badge{animation:none}}
