body{margin:0;padding:0}:root{--primary-color:#1371f6;--primary-dark:#0f1419;--primary-light:#2d3748;--secondary-color:#4a5568;--accent-color:#00d4ff;--accent-warm:#ff6b35;--accent-green:#00f5a0;--success-color:#48bb78;--warning-color:#ed8936;--error-color:#f56565;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--font-family-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-family-mono:"Fira Code","Monaco","Cascadia Code","Segoe UI Mono",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--radius-sm:0.125rem;--radius-base:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:300ms cubic-bezier(0.4,0,0.2,1);--transition-slow:500ms cubic-bezier(0.4,0,0.2,1);--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px}[data-theme=dark]{--primary-color:#5792e5;--primary-dark:#2f65d8;--primary-light:#8b5cf6;--accent-color:#06b6d4;--accent-warm:#f59e0b;--accent-green:#10b981;--white:#0a0a0b;--gray-50:#161618;--gray-100:#1f1f23;--gray-200:#27272a;--gray-300:#3f3f46;--gray-400:#71717a;--gray-500:#a1a1aa;--gray-600:#d4d4d8;--gray-700:#e4e4e7;--gray-800:#f4f4f5;--gray-900:#fff;--slate-50:#0f0f11;--slate-100:#18181b;--slate-200:#27272a;--slate-300:#3f3f46;--slate-400:#52525b;--slate-500:#71717a;--slate-600:#a1a1aa;--slate-700:#d4d4d8;--slate-800:#e4e4e7;--slate-900:#f8fafc;--surface-primary:#18181b;--surface-secondary:#27272a;--surface-elevated:#3f3f46;--border-subtle:#27272a;--border-default:#3f3f46;--shadow-dark-sm:0 1px 2px 0 #0003;--shadow-dark-md:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;--shadow-dark-lg:0 10px 15px -3px #0006,0 4px 6px -2px #0003;--shadow-dark-xl:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--white);color:#334155;color:var(--gray-700);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family-primary);font-size:1rem;font-size:var(--text-base);line-height:1.6}h1,h2,h3,h4,h5,h6{color:#0f172a;color:var(--gray-900);font-weight:600;line-height:1.2;margin-bottom:1rem;margin-bottom:var(--spacing-4)}h1{font-size:2.25rem;font-size:var(--text-4xl)}h2{font-size:1.875rem;font-size:var(--text-3xl)}h3{font-size:1.5rem;font-size:var(--text-2xl)}h4{font-size:1.25rem;font-size:var(--text-xl)}h5{font-size:1.125rem;font-size:var(--text-lg)}h6{font-size:1rem;font-size:var(--text-base)}p{margin-bottom:1rem;margin-bottom:var(--spacing-4)}a{color:#1371f6;color:var(--primary-color);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:#0f1419;color:var(--primary-dark)}.container{margin:0 auto;max-width:1280px;max-width:var(--container-xl);padding:0 1rem;padding:0 var(--spacing-4);width:100%}.section{padding:3rem 0;padding:var(--spacing-12) 0}.section-title{margin-bottom:4rem;margin-bottom:var(--spacing-16);position:relative;text-align:center}.section-title:after{background:#00d4ff;background:var(--accent-color);border-radius:9999px;border-radius:var(--radius-full);bottom:-var(--spacing-3);content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.tech-primary{background:#1371f6;background:var(--primary-color);color:#fff;color:var(--white)}.tech-accent{background:#00d4ff;background:var(--accent-color);color:#1371f6;color:var(--primary-color)}.tech-text-highlight{color:#00d4ff;color:var(--accent-color);font-weight:600}.tech-border{border:2px solid #00d4ff;border:2px solid var(--accent-color)}.tech-border-subtle{border:1px solid var(--border-default)}.tech-glow{box-shadow:0 0 15px #6366f114}[data-theme=dark] .tech-glow{box-shadow:0 0 20px #6366f11f}.tech-card{background:#fff;background:var(--white);border:1px solid var(--border-default);border-radius:.5rem;border-radius:var(--radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.tech-card:hover{border-color:#cbd5e1;border-color:var(--gray-300);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md)}[data-theme=dark] .tech-card{background:var(--surface-secondary);border-color:var(--border-subtle);box-shadow:var(--shadow-dark-sm)}[data-theme=dark] .tech-card:hover{background:var(--surface-elevated);border-color:var(--border-default);box-shadow:var(--shadow-dark-md)}.btn{align-items:center;border:none;border-radius:.5rem;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:1rem;font-size:var(--text-base);font-weight:500;gap:.5rem;gap:var(--spacing-2);justify-content:center;padding:.75rem 1.5rem;padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background-color:#1371f6;background-color:var(--primary-color);color:#fff;color:var(--white)}.btn-primary:hover{background-color:#0f1419;background-color:var(--primary-dark);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background-color:initial;border:2px solid #1371f6;border:2px solid var(--primary-color);color:#1371f6;color:var(--primary-color)}.btn-secondary:hover{background-color:#1371f6;background-color:var(--primary-color);color:#fff;color:var(--white);transform:translateY(-2px)}[data-theme=dark] .btn-primary{background:#1371f6;background:var(--primary-color);border:2px solid #1371f6;border:2px solid var(--primary-color);box-shadow:var(--shadow-dark-sm)}[data-theme=dark] .btn-primary:hover{background:#0f1419;background:var(--primary-dark);border-color:#0f1419;border-color:var(--primary-dark);box-shadow:var(--shadow-dark-md);color:#fff;color:var(--white)}[data-theme=dark] .btn-secondary{background-color:initial;border-color:#1371f6;border-color:var(--primary-color);color:#1371f6;color:var(--primary-color)}[data-theme=dark] .btn-secondary:hover{background:#1371f6;background:var(--primary-color);border-color:#1371f6;border-color:var(--primary-color);color:#fff;color:var(--white)}.btn-lg{font-size:1.125rem;font-size:var(--text-lg);padding:1rem 2rem;padding:var(--spacing-4) var(--spacing-8)}.card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);padding:1.5rem;padding:var(--spacing-6);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.card:hover{border-color:#cbd5e1;border-color:var(--gray-300);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-2px)}[data-theme=dark] .card{background:var(--surface-secondary);border-color:var(--border-subtle);box-shadow:var(--shadow-dark-sm)}[data-theme=dark] .card:hover{background:var(--surface-elevated);border-color:var(--border-default);box-shadow:var(--shadow-dark-lg);transform:translateY(-2px)}.grid{grid-gap:1.5rem;grid-gap:var(--spacing-6);display:grid;gap:1.5rem;gap:var(--spacing-6)}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width:768px){:root{--text-4xl:2rem;--text-3xl:1.5rem;--text-2xl:1.25rem;--spacing-20:3rem;--spacing-16:2rem}.container{padding:0 .75rem;padding:0 var(--spacing-3)}.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}@media (min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.lg\\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in-left{animation:fadeInLeft .6s ease-out}.animate-fade-in-right{animation:fadeInRight .6s ease-out}.skeleton{animation:loading 1.5s infinite;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}:focus,a:focus,button:focus{outline:2px solid #1371f6;outline:2px solid var(--primary-color);outline-offset:2px}.header{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#fffffff2;border-bottom:1px solid #0000;left:0;position:fixed;right:0;top:0;transition:all var(--transition-base);z-index:1000}.header--scrolled{background-color:#fffffffa;border-bottom-color:var(--gray-200);box-shadow:var(--shadow-sm)}[data-theme=dark] .header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#0a0a0bf2}[data-theme=dark] .header--scrolled{background-color:#0a0a0bfa;border-bottom-color:var(--border-subtle);box-shadow:0 1px 3px #0006,0 1px 2px #0000004d}.header__content{align-items:center;display:flex;height:80px;justify-content:space-between;position:relative}.header__logo{flex-shrink:0}.header__logo a{align-items:center;color:var(--gray-900);display:flex;font-size:var(--text-xl);font-weight:700;text-decoration:none}.header__logo-text{color:var(--accent-color);font-weight:700}.header__nav{display:block}.header__nav-list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-4);list-style:none;margin:0;padding:0}.header__nav-item{position:relative}.header__nav-link{color:var(--gray-700);display:block;font-size:var(--text-sm);font-weight:500;padding:var(--spacing-2) var(--spacing-3);position:relative;text-decoration:none;transition:color var(--transition-fast)}.header__nav-link:hover{color:var(--primary-color)}.header__nav-link:after{background:var(--accent-color);bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-base);width:0}.header__nav-link:hover:after{width:100%}.header__actions{align-items:center;display:flex;gap:var(--spacing-3)}.header__mobile-menu-toggle,.header__theme-toggle{align-items:center;background-color:initial;border:none;border-radius:var(--radius-lg);color:var(--gray-700);cursor:pointer;display:flex;font-size:var(--text-lg);height:44px;justify-content:center;transition:all var(--transition-fast);width:44px}.header__mobile-menu-toggle:hover,.header__theme-toggle:hover{background-color:var(--gray-100);color:var(--primary-color)}[data-theme=dark] .header__mobile-menu-toggle:hover,[data-theme=dark] .header__theme-toggle:hover{background-color:var(--surface-elevated);color:var(--primary-color)}.header__mobile-menu-toggle{display:none}.header__mobile-menu{background-color:var(--white);border-bottom:1px solid var(--gray-200);border-top:1px solid var(--gray-200);box-shadow:var(--shadow-lg);left:0;overflow:hidden;position:absolute;right:0;top:100%}[data-theme=dark] .header__mobile-menu{background-color:var(--surface-primary);border-color:var(--border-subtle);box-shadow:0 4px 6px #0000004d,0 2px 4px #0003}.header__mobile-menu--open{display:block}.header__mobile-nav-list{list-style:none;margin:0;padding:var(--spacing-4) 0}.header__mobile-nav-item{border-bottom:1px solid var(--gray-100)}[data-theme=dark] .header__mobile-nav-item{border-bottom-color:var(--border-subtle)}.header__mobile-nav-item:last-child{border-bottom:none}.header__mobile-nav-link{color:var(--gray-700);display:block;font-weight:500;padding:var(--spacing-4) var(--spacing-4);text-decoration:none;transition:all var(--transition-fast)}.header__mobile-nav-link:hover{background-color:var(--gray-50);color:var(--primary-color);padding-left:var(--spacing-6)}[data-theme=dark] .header__mobile-nav-link:hover{background-color:var(--surface-elevated);color:var(--accent-color)}@media (min-width:768px){.header__nav{display:block}.header__mobile-menu,.header__mobile-menu-toggle{display:none}.header__nav-list{gap:var(--spacing-8)}.header__nav-link{font-size:var(--text-base);padding:var(--spacing-2) 0}}@media (min-width:1024px){.header__nav-list{gap:var(--spacing-10)}.header__nav-link{font-size:var(--text-lg)}}.header__mobile-nav-link--active,.header__nav-link--active{color:var(--primary-color)}.header__nav-link--active:after{width:100%}@media (prefers-reduced-motion:reduce){.header__mobile-menu,.header__nav-link:after{transition:none}}@media (prefers-contrast:high){.header{border-bottom:2px solid var(--gray-900)}.header__nav-link:after{background:var(--gray-900)}}.hero{align-items:flex-start;background:linear-gradient(135deg,var(--gray-50) 0,var(--white) 100%);display:flex;overflow:hidden;padding-bottom:var(--spacing-16);padding-top:120px;position:relative}[data-theme=dark] .hero{background:linear-gradient(135deg,var(--white) 0,var(--gray-50) 100%)}.hero:before{background:radial-gradient(circle at 20% 80%,#2563eb1a 0,#0000 50%),radial-gradient(circle at 80% 20%,#f59e0b1a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.hero__content{align-items:center;display:flex;flex-direction:column;justify-content:flex-start;position:relative;text-align:center;width:100%;z-index:1}.hero__text{margin:0 auto;max-width:600px;text-align:center}.hero__greeting{margin-bottom:var(--spacing-2)}.hero__greeting-text{color:var(--primary-color);font-size:var(--text-lg);font-weight:500;letter-spacing:.5px}.hero__name{font-size:var(--text-5xl);font-weight:700;line-height:1.1;margin-bottom:var(--spacing-2)}.hero__name-text{background:linear-gradient(135deg,var(--gray-900),var(--gray-700))}.hero__name-text,[data-theme=dark] .hero__name-text{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text}.hero__title{font-size:var(--text-2xl);font-weight:500;line-height:1.3;margin-bottom:var(--spacing-6)}.hero__title-text{color:var(--gray-700)}.hero__title-accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;font-weight:600}.hero__description{color:var(--gray-600);font-size:var(--text-lg);line-height:1.7;margin-bottom:var(--spacing-8);margin-left:auto;margin-right:auto;max-width:500px}.hero__actions{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-4);margin-bottom:var(--spacing-8)}.hero__cta,.hero__resume{min-width:200px}.hero__social{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-3)}.hero__social-label{color:var(--gray-500);font-size:var(--text-sm);font-weight:500}.hero__social-links{display:flex;gap:var(--spacing-4)}.hero__social-link{align-items:center;background-color:var(--white);border-radius:var(--radius-full);box-shadow:var(--shadow-md);color:var(--gray-600);display:flex;font-size:var(--text-lg);height:44px;justify-content:center;text-decoration:none;transition:all var(--transition-fast);width:44px}.hero__social-link:hover{background-color:var(--primary-color);box-shadow:var(--shadow-lg);color:var(--white)}[data-theme=dark] .hero__social-link{background-color:var(--gray-800);color:var(--gray-400)}[data-theme=dark] .hero__social-link:hover{background-color:var(--primary-color);color:var(--white)}.hero__visual{align-items:center;display:none;justify-content:center;position:relative}.hero__image-container{height:400px;position:relative;width:400px}.hero__image{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);height:300px;left:50%;overflow:hidden;padding:4px;position:absolute;top:50%;transform:translate(-50%,-50%);width:300px}.hero__image-photo{border-radius:var(--radius-2xl);display:block;height:100%;object-fit:cover;width:100%}.hero__image-overlay{background:linear-gradient(135deg,#2563eb1a,#f59e0b1a);border-radius:var(--radius-2xl);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.hero__floating-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-4) var(--spacing-5);position:absolute}[data-theme=dark] .hero__floating-card{background:#1e293bcc;border-color:var(--gray-700)}.hero__floating-card--1{right:-20px;top:20px}.hero__floating-card--2{bottom:80px;left:-40px}.hero__floating-card--3{right:-60px;top:120px}.hero__card-content{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-1)}.hero__card-number{color:var(--primary-color);font-size:var(--text-xl);font-weight:700;line-height:1}.hero__card-label{color:var(--gray-600);font-size:var(--text-xs);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.hero__scroll-indicator{align-items:center;bottom:var(--spacing-8);color:var(--gray-500);display:flex;flex-direction:column;gap:var(--spacing-2);left:50%;position:absolute;transform:translateX(-50%)}.hero__scroll-arrow{font-size:var(--text-2xl);line-height:1}.hero__scroll-text{font-size:var(--text-sm);font-weight:500;letter-spacing:.5px}@media (min-width:768px){.hero__actions{flex-direction:row;justify-content:center}.hero__visual{display:flex}}@media (min-width:1024px){.hero__content{gap:var(--spacing-16);grid-template-columns:1fr 1fr}.hero__text{margin:0;max-width:none;text-align:left}.hero__name{font-size:var(--text-6xl)}.hero__title{font-size:var(--text-3xl)}.hero__description{font-size:var(--text-xl);margin-left:0;margin-right:0;max-width:none}.hero__actions,.hero__social{justify-content:flex-start}.hero__social{flex-direction:row;gap:var(--spacing-4)}.hero__social-label{margin-right:var(--spacing-2)}}@media (min-width:1280px){.hero__content{gap:var(--spacing-20)}.hero__image-container{height:500px;width:500px}.hero__image{height:380px;width:380px}.hero__floating-card--1{right:-40px;top:40px}.hero__floating-card--2{bottom:100px;left:-60px}.hero__floating-card--3{right:-80px;top:160px}}@media (max-width:480px){.hero{min-height:auto;padding-bottom:var(--spacing-2);padding-top:100px}.hero__name{font-size:var(--text-4xl);margin-bottom:var(--spacing-1)}.hero__title{font-size:var(--text-xl);margin-bottom:var(--spacing-4)}.hero__description{font-size:var(--text-base)}.hero__actions{gap:var(--spacing-3)}.hero__social{margin-top:var(--spacing-4)}.hero__cta,.hero__resume{font-size:var(--text-base);min-width:180px;padding:var(--spacing-3) var(--spacing-5)}}@media (max-width:768px){.hero{padding-bottom:var(--spacing-3);padding-top:100px}.hero__name{margin-bottom:var(--spacing-2)}.hero__title{margin-bottom:var(--spacing-4)}}@media (prefers-reduced-motion:reduce){.hero__floating-card,.hero__scroll-arrow{animation:none!important}}@media (prefers-contrast:high){.hero__name-text,.hero__title-accent{-webkit-text-fill-color:currentColor;background:none}.hero__floating-card{border-width:2px}}.skills-section{background:linear-gradient(135deg,var(--gray-50) 0,var(--white) 50%,var(--gray-50) 100%);overflow:hidden;position:relative}[data-theme=dark] .skills-section{background:linear-gradient(135deg,var(--white) 0,var(--gray-50) 40%,var(--white) 100%)}.skills-section:before{animation:float 20s ease-in-out infinite;background:radial-gradient(circle at 25% 25%,#2563eb0d 0,#0000 50%),radial-gradient(circle at 75% 75%,#f59e0b0d 0,#0000 50%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes float{0%,to{transform:translate(0) rotate(0deg)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.skills-intro{color:var(--gray-600);font-size:var(--text-lg);line-height:1.6;margin:0 auto var(--spacing-12);max-width:800px;text-align:center}.skills-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center;margin-bottom:var(--spacing-16);padding:0 var(--spacing-4)}.skills-filter{align-items:center;background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-full);color:var(--gray-700);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:500;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);transition:all var(--transition-fast);white-space:nowrap}.skills-filter:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.skills-filter.active{background:var(--primary-color);background:var(--category-color,var(--primary-color));border-color:var(--category-color,var(--primary-color));box-shadow:var(--shadow-lg);color:var(--white)}.skills-filter:not(.active){border-left:4px solid var(--category-color,var(--primary-color))}.skills-filter svg{font-size:var(--text-base)}[data-theme=dark] .skills-filter{background:var(--surface-secondary);border-color:var(--border-subtle);color:var(--gray-500)}[data-theme=dark] .skills-filter:hover{background:var(--surface-elevated);border-color:var(--primary-color);color:var(--primary-color)}.skills-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:var(--spacing-16)}.skill-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);overflow:hidden;padding:var(--spacing-6);position:relative;transition:all var(--transition-base)}.skill-card--compact{border-radius:var(--radius-lg);padding:var(--spacing-4)}.skill-card--compact .skill-info{text-align:center}.skill-card--compact .skill-name{font-size:var(--text-base);margin-bottom:var(--spacing-1)}.skill-card--compact .skill-experience{font-size:var(--text-xs)}.skill-card:before{background:var(--primary-color);background:var(--skill-color,var(--primary-color));content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(1);transform-origin:left;transition:all var(--transition-base)}.skill-card:hover:before{height:6px}.skill-card:hover{border-color:var(--skill-color,var(--primary-color));box-shadow:var(--shadow-xl)}[data-theme=dark] .skill-card{background:var(--surface-secondary);border-color:var(--border-subtle);box-shadow:0 1px 3px #0003,0 1px 2px #0000001a}[data-theme=dark] .skill-card:hover{background:var(--surface-elevated);border-color:var(--border-default);box-shadow:0 4px 6px #0000004d,0 2px 4px #0003}.skill-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-4)}.skill-info{flex:1 1}.skill-name{color:var(--gray-900);font-size:var(--text-lg);font-weight:600;line-height:1.2;margin:0 0 var(--spacing-1) 0}.skill-experience{color:var(--gray-500);font-size:var(--text-sm);font-weight:500}.skill-level-badge{background:var(--primary-color);background:var(--skill-color,var(--primary-color));border-radius:var(--radius-full);color:var(--white);font-size:var(--text-sm);font-weight:600;min-width:50px;padding:var(--spacing-1) var(--spacing-3);text-align:center}.skill-bar-container{margin-bottom:var(--spacing-4)}.skill-bar-background{background:var(--gray-200);border-radius:var(--radius-full);height:8px;overflow:hidden;position:relative;width:100%}[data-theme=dark] .skill-bar-background{background:var(--gray-700)}.skill-bar-fill{background:linear-gradient(90deg,var(--primary-color),var(--primary-color)dd);background:linear-gradient(90deg,var(--skill-color,var(--primary-color)),var(--skill-color,var(--primary-color))dd);border-radius:var(--radius-full);height:100%;position:relative}.skill-bar-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.skill-category-tag{background:var(--gray-100);border-radius:var(--radius-full);color:var(--gray-600);display:inline-block;font-size:var(--text-xs);font-weight:500;letter-spacing:.5px;padding:var(--spacing-1) var(--spacing-3);text-transform:uppercase}[data-theme=dark] .skill-category-tag{background:var(--gray-700);color:var(--gray-400)}.skills-summary{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);margin-bottom:var(--spacing-16);padding:var(--spacing-8)}[data-theme=dark] .skills-summary{background:var(--gray-800);border-color:var(--gray-700)}.skills-summary-stats{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--spacing-6)}.skills-stat{background:var(--gray-50);border-radius:var(--radius-xl);padding:var(--spacing-4);text-align:center;transition:all var(--transition-fast)}.skills-stat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}[data-theme=dark] .skills-stat{background:var(--gray-700)}.skills-stat-number{color:var(--primary-color);font-size:var(--text-3xl);font-weight:700;line-height:1;margin-bottom:var(--spacing-1)}.skills-stat-label{color:var(--gray-600);font-size:var(--text-sm);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.skills-summary-text{border-top:1px solid var(--gray-200);padding-top:var(--spacing-6);text-align:center}[data-theme=dark] .skills-summary-text{border-top-color:var(--gray-700)}.skills-summary-text p{color:var(--gray-600);font-size:var(--text-lg);line-height:1.6;margin:0 auto;max-width:800px}.tech-highlights{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--spacing-8)}[data-theme=dark] .tech-highlights{background:var(--surface-secondary);border-color:var(--border-subtle);box-shadow:0 1px 3px #0003,0 1px 2px #0000001a}.tech-highlights-title{color:var(--gray-900);font-size:var(--text-2xl);font-weight:600;margin-bottom:var(--spacing-8);text-align:center}.competency-group{margin-bottom:var(--spacing-12)}.competency-group:last-child{margin-bottom:0}.competency-group-title{color:var(--gray-800);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-3);position:relative;text-align:center}.competency-group-title:after{background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:var(--radius-full);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:40px}[data-theme=dark] .competency-group-title{color:var(--gray-200)}.tech-highlights-grid{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tech-highlight{background:var(--gray-50);border-radius:var(--radius-xl);display:flex;gap:var(--spacing-4);padding:var(--spacing-6);transition:all var(--transition-fast)}.tech-highlight:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}[data-theme=dark] .tech-highlight{background:var(--surface-secondary);border:1px solid var(--border-subtle);box-shadow:0 1px 3px #00000026,0 1px 2px #0000001a}[data-theme=dark] .tech-highlight:hover{background:var(--surface-elevated);border-color:var(--border-default);box-shadow:0 2px 4px #0003,0 1px 3px #00000026}.tech-highlight-icon{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:var(--radius-xl);color:var(--white);display:flex;flex-shrink:0;font-size:var(--text-xl);height:48px;justify-content:center;width:48px}.tech-highlight-content{flex:1 1}.tech-highlight-content h4{color:var(--gray-900);font-size:var(--text-lg);font-weight:600;margin:0 0 var(--spacing-2) 0}.tech-highlight-content p{color:var(--gray-600);font-size:var(--text-sm);line-height:1.5;margin:0}@media (max-width:768px){.skills-filters{gap:var(--spacing-2)}.skills-filter{font-size:var(--text-xs);padding:var(--spacing-2) var(--spacing-4)}.skills-grid{gap:var(--spacing-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.skill-card{padding:var(--spacing-4)}.skill-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-2)}.skill-level-badge{align-self:flex-start}.skills-summary,.tech-highlights{padding:var(--spacing-6)}.skills-summary-stats,.tech-highlights-grid{gap:var(--spacing-4);grid-template-columns:1fr}.tech-highlight{padding:var(--spacing-4)}.tech-highlight-icon{font-size:var(--text-lg);height:40px;width:40px}}@media (max-width:480px){.skills-section:before{display:none}.skills-intro{font-size:var(--text-base)}.skills-filters{justify-content:flex-start;overflow-x:auto;padding-bottom:var(--spacing-2)}.skills-filter{flex-shrink:0}}@media print{.skills-section:before{display:none}.skill-card{border:1px solid var(--gray-300);box-shadow:none;break-inside:avoid;page-break-inside:avoid}.skills-filter{border:1px solid var(--gray-400)}.skill-bar-fill:after{display:none}}@media (prefers-reduced-motion:reduce){.skills-section:before{animation:none}.skill-card:before{transition:none}.skill-bar-fill:after{animation:none}.skill-card:hover,.skills-filter:hover,.skills-stat:hover,.tech-highlight:hover{transform:none}}@media (prefers-contrast:high){.skill-card,.skills-filter{border-width:2px}.skill-bar-background{border:1px solid var(--gray-400)}}.projects-section{background:linear-gradient(135deg,var(--white) 0,var(--gray-50) 50%,var(--white) 100%);overflow:hidden;position:relative}.projects-section .section-title:after{display:none}[data-theme=dark] .projects-section{background:linear-gradient(135deg,var(--white) 0,var(--gray-50) 30%,var(--white) 100%)}.projects-section:before{background:radial-gradient(circle at 30% 30%,#3b82f60d 0,#0000 50%),radial-gradient(circle at 70% 70%,#10b9810d 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.projects-intro{color:var(--gray-600);font-size:var(--text-lg);line-height:1.6;margin:0 auto var(--spacing-12);max-width:800px;text-align:center}.projects-filter{display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center;margin-bottom:var(--spacing-12)}.filter-btn{align-items:center;background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-full);color:var(--gray-600);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:500;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px)}.filter-btn--active{border-color:var(--primary-color)}.filter-btn--active,.filter-btn--active:hover{background:var(--primary-color);color:var(--white)}[data-theme=dark] .filter-btn{background:var(--surface-secondary);border-color:var(--border-subtle);color:var(--gray-500)}[data-theme=dark] .filter-btn:hover{background:var(--surface-elevated);border-color:var(--primary-color);color:var(--primary-color)}.filter-btn svg{font-size:var(--text-base)}.projects-grid{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8);grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:var(--spacing-16)}.project-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);overflow:hidden;position:relative;transition:all var(--transition-base)}.project-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-2xl)}.project-card--featured:before{background:var(--primary-color);content:"";height:4px;left:0;position:absolute;right:0;top:0;z-index:2}[data-theme=dark] .project-card{background:var(--surface-secondary);border-color:var(--border-subtle);box-shadow:0 1px 3px #0003,0 1px 2px #0000001a}[data-theme=dark] .project-card:hover{background:var(--surface-elevated);border-color:var(--border-default);box-shadow:0 4px 6px #0000004d,0 2px 4px #0003}.project-image{background:var(--gray-100);height:280px;overflow:hidden;position:relative}[data-theme=dark] .project-image{background:var(--gray-200)}.project-image img{height:100%;object-fit:cover;transition:transform var(--transition-base);width:100%}.project-card:hover .project-image img{transform:scale(1.05)}.project-overlay{background:#000000bf;bottom:0;display:flex;flex-direction:column;justify-content:space-between;left:0;opacity:0;padding:var(--spacing-6);position:absolute;right:0;top:0;transition:all var(--transition-base)}.project-card:hover .project-overlay{opacity:1}.project-actions{align-items:center;display:flex;gap:var(--spacing-3);height:100%;justify-content:center}.project-action{align-items:center;border-radius:var(--radius-full);display:flex;font-size:var(--text-sm);font-weight:600;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);text-decoration:none;transform:translateY(20px);transition:all var(--transition-fast)}.project-card:hover .project-action{transform:translateY(0)}.project-action--primary{background:var(--primary-color);color:var(--white)}.project-action--primary:hover{box-shadow:var(--shadow-lg);filter:brightness(1.1);transform:translateY(-2px)}.project-action--secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;color:var(--white)}.project-action--secondary:hover{background:#ffffff4d;transform:translateY(-2px)}.project-status{align-self:flex-end}.project-status-badge{align-items:center;border-radius:var(--radius-full);display:flex;font-size:var(--text-xs);font-weight:600;gap:var(--spacing-2);letter-spacing:.5px;padding:var(--spacing-2) var(--spacing-4);text-transform:uppercase}.project-status-badge--live{background:var(--success-color);color:var(--white)}.project-status-badge svg{font-size:var(--text-xs)}.project-content{flex-direction:column;padding:var(--spacing-6)}.project-content,.project-header{display:flex;gap:var(--spacing-4)}.project-header{align-items:flex-start;justify-content:space-between}.project-title-group{flex:1 1}.project-title{color:var(--gray-900);font-size:var(--text-xl);font-weight:700;line-height:1.3;margin:0 0 var(--spacing-1) 0}.project-subtitle{color:var(--primary-color);font-size:var(--text-sm);font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.project-featured-badge{align-items:center;background:var(--primary-color);border-radius:var(--radius-full);color:var(--white);display:flex;flex-shrink:0;font-size:var(--text-sm);height:32px;justify-content:center;width:32px}.project-description{color:var(--gray-700);line-height:1.6;margin:0}.project-stats{grid-gap:var(--spacing-4);background:var(--gray-50);border-left:4px solid var(--primary-color);border-radius:var(--radius-lg);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(80px,1fr));padding:var(--spacing-4)}[data-theme=dark] .project-stats{background:var(--gray-700)}.project-stat{text-align:center}.project-stat-value{color:var(--gray-900);display:block;font-size:var(--text-lg);font-weight:700;line-height:1}.project-stat-label{color:var(--gray-600);font-size:var(--text-xs);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.project-features-title{color:var(--gray-900);font-size:var(--text-sm);font-weight:600;margin:0 0 var(--spacing-2) 0}.project-features-list{display:flex;flex-direction:column;gap:var(--spacing-1);list-style:none;margin:0;padding:0}.project-features-list li{color:var(--gray-700);font-size:var(--text-sm);line-height:1.4;padding-left:var(--spacing-5);position:relative}.project-features-list li:before{color:var(--primary-color);content:"✓";font-weight:600;left:0;position:absolute}.project-technologies{border-top:1px solid var(--gray-200);padding-top:var(--spacing-4)}[data-theme=dark] .project-technologies{border-top-color:var(--gray-700)}.project-tech-label{color:var(--gray-900);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--spacing-3)}.project-tech-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.project-tech-tag{background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius-full);color:var(--gray-700);font-size:var(--text-xs);font-weight:500;padding:var(--spacing-1) var(--spacing-3);transition:all var(--transition-fast)}.project-tech-tag:hover{border-color:var(--primary-color);color:var(--primary-color)}[data-theme=dark] .project-tech-tag{background:var(--gray-600);border-color:var(--gray-500);color:var(--gray-300)}.projects-summary{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--spacing-8)}[data-theme=dark] .projects-summary{background:var(--gray-800);border-color:var(--gray-700)}.projects-summary-content{text-align:center}.projects-summary-title{color:var(--gray-900);font-size:var(--text-2xl);font-weight:600;margin-bottom:var(--spacing-8)}.projects-summary-stats{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-8)}.projects-summary-stat{align-items:center;background:var(--gray-50);border-radius:var(--radius-xl);display:flex;gap:var(--spacing-4);padding:var(--spacing-4);transition:all var(--transition-fast)}.projects-summary-stat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}[data-theme=dark] .projects-summary-stat{background:var(--gray-700)}.projects-summary-icon{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:var(--radius-xl);color:var(--white);display:flex;flex-shrink:0;font-size:var(--text-xl);height:48px;justify-content:center;width:48px}.projects-summary-stat-content{display:flex;flex-direction:column;text-align:left}.projects-summary-number{color:var(--gray-900);font-size:var(--text-2xl);font-weight:700;line-height:1}.projects-summary-label{color:var(--gray-600);font-size:var(--text-sm);font-weight:500}.projects-summary-text{color:var(--gray-600);font-size:var(--text-lg);line-height:1.6;margin:0 auto;max-width:800px}@media (max-width:768px){.projects-grid{gap:var(--spacing-6);grid-template-columns:1fr}.project-card{margin:0 var(--spacing-2)}.project-image{height:240px}.project-content{padding:var(--spacing-4)}.project-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-2)}.project-stats{gap:var(--spacing-3);grid-template-columns:repeat(3,1fr)}.project-stat-value{font-size:var(--text-base)}.projects-summary{padding:var(--spacing-6)}.projects-summary-stats{gap:var(--spacing-4);grid-template-columns:1fr}.projects-summary-stat{padding:var(--spacing-3)}.projects-summary-icon{font-size:var(--text-lg);height:40px;width:40px}.projects-summary-number{font-size:var(--text-xl)}.projects-filter{gap:var(--spacing-2)}.filter-btn{font-size:var(--text-xs);padding:var(--spacing-2) var(--spacing-4)}}@media (max-width:480px){.projects-section:before{display:none}.projects-intro{font-size:var(--text-base)}.project-card{margin:0}.project-image{height:220px}.project-overlay{padding:var(--spacing-4)}.project-actions{flex-direction:column;gap:var(--spacing-2)}.project-action{font-size:var(--text-xs);padding:var(--spacing-2) var(--spacing-4)}.project-stats{grid-template-columns:repeat(2,1fr)}.project-tech-tags{gap:var(--spacing-1)}.project-tech-tag{font-size:10px;padding:2px var(--spacing-2)}}@media print{.projects-section:before{display:none}.project-card{border:1px solid var(--gray-300);box-shadow:none;break-inside:avoid;page-break-inside:avoid}.project-overlay,.projects-filter{display:none}}@media (prefers-reduced-motion:reduce){.project-action:hover,.project-card:hover,.projects-summary-stat:hover{transform:none}.project-image img,.project-overlay{transition:none}}@media (prefers-contrast:high){.project-action--secondary,.project-card,.project-tech-tag{border-width:2px}}
/*# sourceMappingURL=main.25b606de.css.map*/