@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}:root,[data-theme=dark]{--color-bg-primary: #0F172A;--color-bg-secondary: #1E293B;--color-bg-tertiary: #334155;--color-surface: #1E293B;--color-border: #334155;--color-border-hover: #475569;--color-text-primary: #F1F5F9;--color-text-secondary: #CBD5E1;--color-text-tertiary: #A3B3C3;--color-accent: #60A5FA;--color-accent-hover: #93C5FD;--color-accent-subtle: rgba(96, 165, 250, .1);--color-accent-border: rgba(96, 165, 250, .25);--color-tag-bg: #334155;--color-tag-text: #E2E8F0;--color-tag-border: #475569;--color-header-bg: rgba(15, 23, 42, .85);--color-header-text: #F1F5F9;--color-shadow: rgba(0, 0, 0, .25);--color-shadow-hover: rgba(0, 0, 0, .35);color-scheme:dark}[data-theme=light]{--color-bg-primary: #FFFFFF;--color-bg-secondary: #F8F9FA;--color-bg-tertiary: #F1F3F5;--color-surface: #FFFFFF;--color-border: #E1E4E8;--color-border-hover: #C9CDD3;--color-text-primary: #1A1A2E;--color-text-secondary: #4A5568;--color-text-tertiary: #5B6B7D;--color-accent: #2563EB;--color-accent-hover: #1D4ED8;--color-accent-subtle: #EFF6FF;--color-accent-border: #BFDBFE;--color-tag-bg: #F1F3F5;--color-tag-text: #374151;--color-tag-border: #D1D5DB;--color-header-bg: rgba(255, 255, 255, .85);--color-header-text: #1A1A2E;--color-shadow: rgba(0, 0, 0, .06);--color-shadow-hover: rgba(0, 0, 0, .12);color-scheme:light}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-secondary)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;margin:0;min-width:320px;min-height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}#root{width:100%;min-height:100vh}a{color:var(--color-accent);text-decoration:none;transition:color .2s ease;position:relative}a:hover{color:var(--color-accent-hover)}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}h1{font-size:3rem;line-height:1.1;font-weight:700;letter-spacing:-.025em}h2{font-size:1.75rem;font-weight:600;letter-spacing:-.015em}h3{font-size:1.2rem;font-weight:600}h4{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}button{border-radius:6px;border:1px solid var(--color-border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-surface);color:var(--color-text-primary);cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease}button:hover{border-color:var(--color-accent);transform:translateY(-1px)}button:focus,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:0 0 0 3px var(--color-accent-subtle)}button:active{transform:translateY(0)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes gradientRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes slideWidth{0%{width:0}to{width:40px}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--color-accent),0 0 10px var(--color-accent)}50%{box-shadow:0 0 20px var(--color-accent),0 0 30px var(--color-accent)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--color-accent);z-index:200;transition:width .05s linear;box-shadow:0 0 10px var(--color-accent)}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:90;opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease,background-color .2s ease;pointer-events:none;box-shadow:0 4px 15px #2563eb4d;padding:0}.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:var(--color-accent-hover);transform:translateY(-3px);box-shadow:0 6px 20px #2563eb66}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--color-accent);color:#fff;padding:8px 12px;text-decoration:none;z-index:100;border-radius:0 0 4px;font-weight:500;font-size:.875rem}.skip-to-main:focus{top:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:more){a{text-decoration:underline}button{border-width:2px}}@media(prefers-reduced-transparency:no-preference){button:focus-visible{outline:2px dashed var(--color-accent);outline-offset:2px}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-slide-in-up{animation:slideInUp .6s ease-out forwards}.animate-slide-in-down{animation:slideInDown .6s ease-out forwards}.animate-slide-in-left{animation:slideInLeft .6s ease-out forwards}.animate-slide-in-right{animation:slideInRight .6s ease-out forwards}.animate-scale-in{animation:scaleIn .5s ease-out forwards}.animate-bounce-in{animation:bounceIn .7s ease-out forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.will-animate{will-change:transform,opacity}.optimize-gpu{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.contain-layout{contain:layout style paint}.lazy-load{background:var(--color-bg-tertiary);min-height:200px;animation:shimmer 2s infinite;background-image:linear-gradient(90deg,var(--color-bg-tertiary) 0%,var(--color-border) 50%,var(--color-bg-tertiary) 100%);background-size:200% 100%}.lazy-load.loaded{animation:none;background:none}@media(max-width:1024px){h1{font-size:2.5rem}h2{font-size:1.5rem}.back-to-top{width:40px;height:40px;bottom:1.5rem;right:1.5rem}}@media(max-width:640px){h1{font-size:1.875rem}h2{font-size:1.25rem}h3{font-size:1rem}button{padding:.5em 1rem;font-size:.95em}.back-to-top{width:36px;height:36px;bottom:1rem;right:1rem}}#root{width:100%;margin:0;padding:0}.app{width:100%;overflow-x:hidden}*{margin:0;padding:0;box-sizing:border-box}section{scroll-margin-top:80px}section:not(#home){content-visibility:auto;contain-intrinsic-size:auto 500px}.header{background:var(--color-header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-header-text);padding:1rem 0;position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;will-change:box-shadow}.header-scrolled{padding:.6rem 0;border-bottom-color:var(--color-border);box-shadow:0 4px 20px var(--color-shadow)}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.header-content{display:flex;justify-content:space-between;align-items:center}.logo a{font-size:1.2rem;font-weight:700;color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-accent);border-radius:8px;transition:background-color .2s ease,transform .2s ease;will-change:transform}.logo a:hover{background:var(--color-accent-hover);transform:scale(1.05) rotate(5deg)}.logo a:focus-visible{outline:2px solid var(--color-accent-hover);outline-offset:2px}.nav{display:flex;gap:2rem}.nav a{color:var(--color-header-text);text-decoration:none;font-weight:500;font-size:.9rem;transition:color .2s ease;cursor:pointer;position:relative;padding-bottom:4px}.nav a:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-accent);transition:width .3s ease,left .3s ease;border-radius:1px;will-change:width,left}.nav a:hover{color:var(--color-accent)}.nav a:hover:after{width:100%;left:0}.nav a:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:2px}.nav a.nav-active{color:var(--color-accent)}.nav a.nav-active:after{width:100%;left:0}.header-actions{display:flex;align-items:center;gap:.75rem}.theme-toggle{width:36px;height:36px;border-radius:8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-primary);padding:0;transition:background-color .2s ease,border-color .2s ease,transform .3s ease;will-change:transform}.theme-toggle:hover{border-color:var(--color-accent);background:var(--color-accent-subtle);transform:rotate(15deg) scale(1.05)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu-toggle{display:none;background:none;border:none;color:var(--color-header-text);font-size:1.5rem;cursor:pointer;padding:0;width:36px;height:36px;align-items:center;justify-content:center;transition:color .2s ease,transform .2s ease}.menu-toggle:hover{color:var(--color-accent);transform:scale(1.1)}.menu-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width:768px){.nav{position:absolute;top:60px;left:0;width:100%;flex-direction:column;background:var(--color-header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:0;gap:0;max-height:0;overflow:hidden;transition:max-height .3s ease;border-bottom:1px solid var(--color-border);box-shadow:0 4px 12px var(--color-shadow)}.nav.active{max-height:300px;animation:slideInDown .3s ease}.nav a{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.nav a:after{display:none}.nav a.nav-active{background:var(--color-accent-subtle);color:var(--color-accent)}.menu-toggle{display:flex}}.hero{background:var(--color-bg-secondary);color:var(--color-text-primary);padding:6rem 0;min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;transition:background-color .3s ease}.hero.hero-visible .hero-greeting{animation:slideInUp .35s ease backwards}.hero.hero-visible .hero-title{animation:slideInUp .4s ease .05s backwards}.hero.hero-visible .hero-subtitle{animation:slideInUp .4s ease .1s backwards}.hero.hero-visible .hero-description{animation:slideInUp .4s ease .15s backwards}.hero.hero-visible .hero-buttons{animation:slideInUp .4s ease .2s backwards}.hero.hero-visible .hero-image{animation:slideInRight .5s ease .1s backwards}.hero-content{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;position:relative;z-index:1}.hero-greeting{font-size:1rem;color:var(--color-accent);font-weight:500;margin-bottom:.5rem;letter-spacing:.02em}.hero-text h1{font-size:3.2rem;margin-bottom:.75rem;font-weight:700;letter-spacing:-.03em;color:var(--color-text-primary)}.hero-subtitle{font-size:1.25rem;margin-bottom:1.5rem;color:var(--color-text-secondary);min-height:1.8rem}.typed-text{color:var(--color-accent);font-weight:600;min-width:180px;display:inline-block}.cursor{color:var(--color-accent);font-weight:300;animation:blink .8s infinite;margin-left:1px;will-change:opacity}.hero-description{font-size:.95rem;margin-bottom:2rem;line-height:1.7;color:var(--color-text-secondary);max-width:500px}.hero-description strong{color:var(--color-text-primary)}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:600;font-size:.9rem;transition:all .25s ease;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#fff3;transition:left .3s ease;z-index:0}.btn:hover:before{left:100%}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-3px);box-shadow:0 8px 20px #2563eb66}.btn-primary:active{transform:translateY(-1px)}.btn-primary:focus-visible{outline:2px solid var(--color-accent-hover);outline-offset:2px}.btn-secondary{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-3px);background:var(--color-accent-subtle);box-shadow:0 4px 15px var(--color-shadow)}.btn-secondary:active{transform:translateY(-1px)}.btn-secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.hero-image{display:flex;justify-content:center;align-items:center}.avatar-wrapper{position:relative;width:240px;height:240px;display:flex;align-items:center;justify-content:center}.avatar-ring{position:absolute;inset:-4px;border-radius:50%;background:conic-gradient(var(--color-accent),var(--color-accent-border),transparent,var(--color-accent-border),var(--color-accent));animation:gradientRing 4s linear infinite;opacity:.6;will-change:transform}.avatar-ring:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--color-bg-secondary)}.avatar{width:220px;height:220px;background:var(--color-accent-subtle);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;font-weight:700;color:var(--color-accent);position:relative;z-index:1;animation:float 6s ease-in-out infinite;will-change:transform;transition:box-shadow .3s ease}.avatar:hover{box-shadow:0 0 30px #2563eb4d}@media(max-width:768px){.hero{padding:4rem 0;min-height:auto}.hero-content{grid-template-columns:1fr;gap:2.5rem;text-align:center}.hero-text h1{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-description{max-width:100%}.hero-buttons{justify-content:center}.hero.hero-visible .hero-greeting,.hero.hero-visible .hero-title,.hero.hero-visible .hero-subtitle,.hero.hero-visible .hero-description,.hero.hero-visible .hero-buttons,.hero.hero-visible .hero-image{animation:fadeIn .3s ease forwards}.avatar{width:160px;height:160px;font-size:2.5rem;animation:none}.avatar-ring{animation:none}.avatar-wrapper{width:180px;height:180px}}.custom-cursor{pointer-events:none;position:fixed;top:0;left:0;z-index:9999;opacity:0;transition:opacity .3s ease}.custom-cursor.visible{opacity:1}.cursor-dot{position:fixed;top:-4px;left:-4px;width:8px;height:8px;background:var(--color-accent);border-radius:50%;will-change:translate,scale;transition:scale .2s ease,background-color .2s ease}.cursor-ring{position:fixed;top:-20px;left:-20px;width:40px;height:40px;border:1.5px solid var(--color-accent);border-radius:50%;opacity:.5;will-change:translate,scale;transition:scale .3s ease,opacity .3s ease,border-color .3s ease}.custom-cursor.hovering .cursor-ring{scale:1.4;opacity:.8;border-color:var(--color-accent-hover)}.custom-cursor.hovering .cursor-dot{scale:.5;background:var(--color-accent-hover)}.custom-cursor.clicking .cursor-ring{scale:.75;opacity:.8}.custom-cursor.clicking .cursor-dot{scale:.75}@media(pointer:coarse){.custom-cursor{display:none}}@media(prefers-reduced-motion:reduce){.cursor-ring,.cursor-dot{transition:none}}
