@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;600;700&display=swap";.header{position:fixed;top:0;left:0;right:0;background:rgba(var(--color-background-rgb, 15, 23, 42),.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);z-index:var(--z-fixed);transition:all var(--transition-fast)}.header-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:var(--spacing-md) 0}.logo{display:flex;align-items:center;justify-self:start}.logo-text{font-size:1.5rem;font-weight:700;background:var(--color-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-desktop{display:none;gap:var(--spacing-lg);justify-self:center}.nav-link{background:none;border:none;color:var(--color-text-secondary);font-weight:500;cursor:pointer;transition:color var(--transition-fast);padding:var(--spacing-sm);border-radius:var(--border-radius-sm)}.nav-link:hover{color:var(--color-primary)}.controls{display:flex;align-items:center;gap:var(--spacing-sm)}.selector-container{position:relative}.selector-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:var(--spacing-sm);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-weight:600}.selector-button:hover{background:var(--color-primary);color:#fff}.selector-dropdown{position:absolute;top:calc(100% + var(--spacing-sm));right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-sm);min-width:150px;z-index:var(--z-dropdown)}.selector-option{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm);background:none;border:none;color:var(--color-text);text-align:left;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast)}.selector-option:hover,.selector-option.active{background:var(--color-primary);color:#fff}.theme-preview{width:16px;height:16px;border-radius:50%}.mobile-menu-toggle{display:flex;background:none;border:none;cursor:pointer;padding:var(--spacing-sm)}.hamburger{display:flex;flex-direction:column;width:24px;height:18px;position:relative}.hamburger span{background:var(--color-text);height:2px;border-radius:1px;transition:all var(--transition-fast)}.hamburger span:nth-child(1){width:100%}.hamburger span:nth-child(2){width:80%;margin:6px 0}.hamburger span:nth-child(3){width:60%}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px);width:100%}.nav-mobile{display:flex;flex-direction:column;max-height:0;overflow:hidden;transition:max-height var(--transition-normal);border-top:1px solid var(--color-border)}.nav-mobile.open{max-height:300px;padding:var(--spacing-md) 0}.nav-link-mobile{background:none;border:none;color:var(--color-text-secondary);padding:var(--spacing-md) 0;text-align:left;cursor:pointer;transition:color var(--transition-fast);border-bottom:1px solid var(--color-border)}.nav-link-mobile:last-child{border-bottom:none}.nav-link-mobile:hover{color:var(--color-primary)}@media(min-width:768px){.nav-desktop{display:flex}.mobile-menu-toggle,.nav-mobile{display:none}}@media(min-width:640px)and (max-width:767px){.controls{gap:var(--spacing-md)}.selector-button{min-width:44px;height:44px}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:80px}.hero-background{position:absolute;inset:0;z-index:-1}.hero-gradient{position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(59,130,246,.1) 0%,transparent 50%)}.hero-particles{position:absolute;inset:0}.particle{position:absolute;width:4px;height:4px;background:var(--color-primary);border-radius:50%;opacity:.6;animation:float infinite linear}@keyframes float{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-100vh) rotate(360deg);opacity:0}}.hero-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3xl);width:100%;max-width:800px;margin:0 auto}.hero-text{text-align:center}.hero-greeting{font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);opacity:0;transform:translateY(30px);animation:fadeInUp .6s ease-out both}.hero-name{font-size:clamp(2.5rem,8vw,4rem);font-weight:800;margin-bottom:var(--spacing-md);opacity:0;transform:translateY(30px);animation:fadeInUp .6s ease-out .2s both}.hero-title{font-size:clamp(1.25rem,4vw,2rem);color:var(--color-text-secondary);font-weight:500;margin-bottom:var(--spacing-lg);animation:fadeInUp .6s ease-out .4s both}.hero-description{font-size:1.125rem;line-height:1.7;max-width:600px;margin:0 auto var(--spacing-xl);animation:fadeInUp .6s ease-out .6s both}.hero-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--spacing-xl);animation:fadeInUp .6s ease-out .8s both}.button-icon{transition:transform var(--transition-fast)}.button:hover .button-icon{transform:translate(4px)}.hero-social{display:flex;gap:var(--spacing-md);justify-content:center;animation:fadeInUp .6s ease-out 1s both}.social-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);color:var(--color-text-secondary);transition:all var(--transition-fast)}.social-link:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hero-visual{display:flex;justify-content:center;animation:fadeIn .8s ease-out .4s both}.hero-avatar{position:relative;display:flex;align-items:center;justify-content:center}.avatar-placeholder{position:relative;z-index:2;animation:float-gentle 6s ease-in-out infinite}.avatar-ring{position:absolute;width:200px;height:200px;border:2px solid var(--color-primary);border-top-color:transparent;border-radius:50%;animation:rotate 10s linear infinite;opacity:.6}@keyframes float-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-scroll{position:absolute;bottom:var(--spacing-xl);left:50%;transform:translate(-50%);animation:fadeIn .6s ease-out 1.2s both}.scroll-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:.875rem}.scroll-arrow{animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}@media(min-width:768px){.hero-content{max-width:900px}}@media(min-width:1024px){.hero{padding-top:100px}.hero-content{gap:var(--spacing-3xl)}.avatar-ring{width:240px;height:240px}}@media(prefers-contrast:high){.social-link{border-width:2px}.particle{opacity:1}}.about{background:var(--color-surface)}.about-content{display:flex;justify-content:center;align-items:center}.about-text{text-align:center;max-width:800px}.about-text .section-title{text-align:center;margin-bottom:var(--spacing-lg)}.about-description p{font-size:1.125rem;line-height:1.7;margin-bottom:var(--spacing-lg)}.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.stat{text-align:center}.stat-number{font-size:2rem;font-weight:700;background:var(--color-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-xs)}.stat-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.about-visual{display:flex;justify-content:center}.profile-card{background:var(--color-background);border-radius:var(--border-radius-xl);padding:var(--spacing-xl);border:1px solid var(--color-border);text-align:center;max-width:300px;width:100%}.profile-image{margin-bottom:var(--spacing-lg)}.image-placeholder{display:flex;justify-content:center}.profile-info h3{font-size:1.25rem;margin-bottom:var(--spacing-sm)}.profile-info p{color:var(--color-text-secondary);margin:0}.skills{background:var(--color-background)}.skills-grid{display:grid;gap:var(--spacing-3xl)}.skill-category{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-border)}.category-title{font-size:1.5rem;margin-bottom:var(--spacing-lg);text-align:center;background:var(--color-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.skills-list{display:grid;gap:var(--spacing-lg)}.skill-item{position:relative}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.skill-name{font-weight:500;color:var(--color-text)}.skill-level{font-size:.875rem;color:var(--color-text-secondary);text-transform:capitalize}.skill-bar{height:8px;background:var(--color-border);border-radius:var(--border-radius-sm);overflow:hidden;position:relative}.skill-progress{height:100%;transition:width 1s ease-out;border-radius:var(--border-radius-sm);position:relative}.skill-progress:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(min-width:768px){.about-content{grid-template-columns:2fr 1fr;gap:var(--spacing-3xl)}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media(min-width:1024px){.about-content{gap:4rem}.about-stats{grid-template-columns:repeat(4,1fr)}}.skill-item{opacity:0;transform:translateY(20px);transition:all .6s ease-out}.skill-item.animate{opacity:1;transform:translateY(0)}.skill-item:nth-child(1){transition-delay:.1s}.skill-item:nth-child(2){transition-delay:.2s}.skill-item:nth-child(3){transition-delay:.3s}.skill-item:nth-child(4){transition-delay:.4s}.skill-item:nth-child(5){transition-delay:.5s}@media(prefers-reduced-motion:reduce){.skill-progress,.skill-item{transition:none;animation:none}.skill-item{opacity:1;transform:none}}@media(prefers-contrast:high){.skill-category{border-width:2px}.skill-bar{border:1px solid var(--color-text)}}.projects{background:var(--color-background)}.section-header{text-align:center;margin-bottom:var(--spacing-3xl)}.section-title{margin-bottom:var(--spacing-md)}.section-description{max-width:600px;margin:0 auto;font-size:1.125rem}.projects-filters{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap;margin-bottom:var(--spacing-3xl)}.filter-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.filter-button:hover,.filter-button.active{background:var(--color-tech-tag);color:#fff;border-color:var(--color-tech-tag)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl)}.project-card{background:var(--color-surface);border-radius:var(--border-radius-lg);overflow:hidden;border:1px solid var(--color-border);transition:all var(--transition-fast);height:fit-content}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.project-image{position:relative;height:200px;background:var(--color-background);display:flex;align-items:center;justify-content:center;overflow:hidden}.project-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.project-card:hover .project-img{transform:scale(1.05)}.image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);opacity:.1}.project-overlay{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast)}.project-card:hover .project-overlay{opacity:1}.project-links{display:flex;gap:var(--spacing-md)}.project-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff;color:var(--color-background);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.project-link:hover{background:var(--color-primary);color:#fff;transform:scale(1.1)}.project-content{padding:var(--spacing-xl)}.project-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-sm)}.project-description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.project-technologies{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tech-tag{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-tech-tag);color:#fff;font-size:.875rem;border-radius:var(--border-radius-sm);font-weight:500}.projects-load-more{text-align:center}.no-projects{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-secondary)}@media(max-width:640px){.projects-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.project-card{margin:0 var(--spacing-sm)}.projects-filters{gap:var(--spacing-xs);margin:0 var(--spacing-sm) var(--spacing-3xl)}.filter-button{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem}}@media(min-width:641px)and (max-width:768px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media(min-width:1200px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.project-card{opacity:0;transform:translateY(20px);animation:slideInUp .6s ease-out forwards}.project-card:nth-child(1){animation-delay:.1s}.project-card:nth-child(2){animation-delay:.2s}.project-card:nth-child(3){animation-delay:.3s}.project-card:nth-child(4){animation-delay:.4s}.project-card:nth-child(5){animation-delay:.5s}.project-card:nth-child(6){animation-delay:.6s}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.project-card{animation:none;opacity:1;transform:none}.project-card:hover{transform:none}}@media(prefers-contrast:high){.project-card{border-width:2px}.tech-tag{border:1px solid var(--color-text)}}.contact{background:var(--color-background)}.contact-content{display:block;max-width:1400px;margin:0 auto}.contact-form-container{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-border)}.contact-form{display:grid;gap:var(--spacing-lg)}.form-group{display:grid;gap:var(--spacing-sm)}.form-group label{font-weight:500;color:var(--color-text)}.form-group input,.form-group textarea{padding:var(--spacing-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text);font-family:inherit;font-size:1rem;transition:all var(--transition-fast);resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-secondary)}.submit-button{justify-self:start;min-width:150px;position:relative}.submit-button.loading{color:transparent}.loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.form-message{padding:var(--spacing-md);border-radius:var(--border-radius-md);font-weight:500}.form-message.success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.form-message.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}@media(max-width:640px){.contact-form-container{margin:0 var(--spacing-sm)}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}}@media(prefers-contrast:high){.form-group input,.form-group textarea{border-width:2px}}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);margin-top:var(--spacing-3xl)}.footer-content{padding:var(--spacing-lg) 0}.footer-bottom{padding:0;border-top:none}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.footer-bottom p{color:var(--color-text-secondary);font-size:.875rem;margin:0}.scroll-to-top{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast)}.scroll-to-top:hover{background:var(--color-secondary);transform:translateY(-2px)}@media(max-width:640px){.footer-bottom-content{justify-content:center;text-align:center}}@media(prefers-reduced-motion:reduce){.scroll-to-top:hover{transform:none}}@media(prefers-contrast:high){.footer{border-top-width:2px}}:root{--color-primary: #3b82f6;--color-secondary: #1e40af;--color-accent: #f59e0b;--color-background: #0f172a;--color-surface: #1e293b;--color-text: #f8fafc;--color-text-secondary: #cbd5e1;--color-border: #334155;--color-gradient: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);--color-primary-dark: #1d4ed8;--color-tech-tag: #1e3a8a;--font-family: "Inter", system-ui, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,2rem)}h4{font-size:clamp(1.125rem,2.5vw,1.5rem)}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-3xl) 0}.button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-gradient);color:#fff;border:none;border-radius:var(--border-radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;gap:var(--spacing-sm)}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff}.button-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.button-outline:hover{background:var(--color-primary);color:#fff}.card{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:all var(--transition-fast)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.grid{display:grid;gap:var(--spacing-xl)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{flex-direction:column}.text-center{text-align:center}.text-gradient{background:var(--color-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width:640px){.container{padding:0 var(--spacing-lg)}.section{padding:var(--spacing-3xl) 0}}@media(min-width:768px){.container{padding:0 var(--spacing-xl)}}@media(min-width:1024px){.section{padding:5rem 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in{animation:fadeIn .6s ease-out}.scroll-animate{opacity:0;transform:translateY(30px);transition:all .6s ease-out}.scroll-animate.animate{opacity:1;transform:translateY(0)}*:focus{outline:2px solid var(--color-accent);outline-offset:2px}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}
