:root{--color-primary: #667eea;--color-primary-dark: #5568d3;--color-primary-light: #818cf8;--color-accent: #f59e0b;--color-accent-dark: #d97706;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-accent: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--gradient-card: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);--color-background: #ffffff;--color-surface: #f9fafb;--color-surface-hover: #f3f4f6;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-border: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);--shadow-colored: 0 10px 40px rgba(102, 126, 234, 0.3);--glass-bg: rgba(255, 255, 255, 0.7);--glass-border: rgba(255, 255, 255, 0.18);--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-family-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--font-family-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 0.375rem;--radius-md: 0.5rem;--radius-lg: 0.75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--transition-fast: 150ms ease-in-out;--transition-normal: 300ms ease-in-out;--transition-slow: 500ms ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px}[data-theme="dark"]{--color-primary: #818cf8;--color-primary-dark: #6366f1;--color-primary-light: #a5b4fc;--color-accent: #fbbf24;--color-accent-dark: #f59e0b;--gradient-primary: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%);--gradient-accent: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--gradient-card: linear-gradient(135deg, rgba(129, 140, 248, 0.1) 0%, rgba(167, 139, 250, 0.1) 100%);--color-background: #0f172a;--color-surface: #1e293b;--color-surface-hover: #334155;--color-text: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-border: #334155;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.3);--shadow-colored: 0 10px 40px rgba(129, 140, 248, 0.3);--glass-bg: rgba(30, 41, 59, 0.7);--glass-border: rgba(255, 255, 255, 0.1)}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-normal)}a:hover{color:var(--color-primary)}ul,ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}li{margin-bottom:var(--spacing-sm)}img{max-width:100%;height:auto;display:block}code{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background-color:var(--color-surface);padding:0.125rem 0.25rem;border-radius:var(--radius-sm)}pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background-color:var(--color-surface);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--spacing-md)}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}@media (min-width: 768px){.container{padding:0 var(--spacing-lg)}}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-bold{font-weight:var(--font-weight-bold)}.text-medium{font-weight:var(--font-weight-medium)}.hidden{display:none !important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--color-primary);color:var(--color-surface);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;z-index:var(--z-tooltip)}.skip-to-main:focus{top:0}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky)}.site-footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--spacing-xl) 0;margin-top:var(--spacing-3xl)}.section{padding:var(--spacing-3xl) 0}.section__header{text-align:center;margin-bottom:var(--spacing-2xl)}.section__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-sm)}@media (min-width: 768px){.section__title{font-size:var(--font-size-4xl)}}.section__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:0}.section__content{color:var(--color-text)}.section--compact{padding:var(--spacing-2xl) 0}.section--spacious{padding:var(--spacing-3xl) 0}@media (min-width: 768px){.section--spacious{padding:5rem 0}}.card,.experience-card,.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);transition:all var(--transition-normal);position:relative;overflow:hidden}.card::before,.experience-card::before,.project-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:var(--gradient-card);opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.card:hover,.experience-card:hover,.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl),0 8px 30px rgba(102,126,234,0.15);border-color:var(--color-primary-light)}.card:hover::before,.experience-card:hover::before,.project-card:hover::before{opacity:1}.card__header{margin-bottom:var(--spacing-md);position:relative;z-index:1}.card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs);color:var(--color-text);line-height:var(--line-height-tight)}.card__subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.card__body{margin-bottom:var(--spacing-md);color:var(--color-text);line-height:var(--line-height-relaxed);position:relative;z-index:1}.card__body p{margin:0 0 var(--spacing-sm)}.card__body p:last-child{margin-bottom:0}.card__footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);position:relative;z-index:1}.card--highlighted{border-color:var(--color-primary);background:var(--gradient-card)}.card--highlighted::before{opacity:0.5}.card--highlighted:hover::before{opacity:0.8}.card--flat{box-shadow:none;border:1px solid var(--color-border)}.card--flat:hover{box-shadow:var(--shadow-md)}.card--compact{padding:var(--spacing-md)}.card--compact .card__title{font-size:var(--font-size-lg)}a.card,a.experience-card,a.project-card,.card-link{text-decoration:none;color:inherit;display:block}a.card:focus,a.experience-card:focus,a.project-card:focus,.card-link:focus{outline:2px solid var(--color-primary);outline-offset:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);background:var(--gradient-primary);color:#ffffff;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.button::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, #764ba2 0%, #667eea 100%);opacity:0;transition:opacity var(--transition-normal)}.button::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.3);transform:translate(-50%, -50%);transition:width 0.6s, height 0.6s}.button>*{position:relative;z-index:1}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-colored)}.button:hover::before{opacity:1}.button:active{transform:translateY(0);box-shadow:var(--shadow-md)}.button:focus{outline:none;box-shadow:var(--shadow-lg),0 0 0 3px rgba(102,126,234,0.3)}.button--primary{background:var(--gradient-primary)}.button--secondary{background:var(--gradient-accent)}.button--secondary::before{background:linear-gradient(135deg, #ef4444 0%, #f59e0b 100%)}.button--outline{background:rgba(255,255,255,0.2);border:2px solid rgba(255,255,255,0.8);color:#ffffff;backdrop-filter:blur(10px)}.button--outline::before{background:rgba(255,255,255,0.3)}.button--outline:hover{background:rgba(255,255,255,0.3);border-color:#ffffff}.button--sm{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}.button--lg{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg)}.button:disabled,.button--disabled{opacity:0.6;cursor:not-allowed;transform:none !important}.button:disabled:hover,.button--disabled:hover{box-shadow:var(--shadow-md)}.button:disabled:hover::before,.button--disabled:hover::before{opacity:0}.link-highlight{color:#ffffff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,0.6);font-weight:var(--font-weight-semibold);transition:all var(--transition-normal);position:relative}.link-highlight:hover{text-decoration-color:#ffffff;text-shadow:0 0 8px rgba(255,255,255,0.8)}.link-highlight:focus{outline:2px solid rgba(255,255,255,0.5);outline-offset:4px;border-radius:var(--radius-sm)}.button-group{display:flex;gap:var(--spacing-md);flex-wrap:wrap}@media (max-width: 640px){.button-group{flex-direction:column}.button-group .button{width:100%}}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-background);color:var(--color-text-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap}.badge--primary{background:var(--color-primary);color:var(--color-surface)}.badge--accent{background:var(--color-accent);color:var(--color-surface)}.badge--success{background:var(--color-success);color:var(--color-surface)}.badge-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-md) 0}.nav__brand{flex-shrink:0}.nav__logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);text-decoration:none;transition:color var(--transition-normal)}.nav__logo:hover{color:var(--color-primary)}.nav__menu{display:flex;list-style:none;gap:var(--spacing-lg);margin:0;padding:0;align-items:center}@media (max-width: 768px){.nav__menu{position:fixed;top:0;right:-100%;flex-direction:column;width:280px;height:100vh;background:var(--color-surface);padding:var(--spacing-3xl) var(--spacing-xl);box-shadow:var(--shadow-xl);transition:right var(--transition-normal);z-index:var(--z-modal);border-left:1px solid var(--color-border)}.nav__menu.is-open{right:0}}.nav__item{margin:0}.nav__link{color:var(--color-text);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) 0;transition:color var(--transition-normal);text-decoration:none}.nav__link:hover{color:var(--color-primary)}.nav__link--active{color:var(--color-primary)}@media (max-width: 768px){.nav__link{font-size:var(--font-size-lg);padding:var(--spacing-md) 0}}.nav__toggle{display:none;flex-direction:column;justify-content:space-between;width:28px;height:21px;background:transparent;border:none;cursor:pointer;padding:0;z-index:calc(var(--z-modal) + 1)}.nav__toggle span{display:block;height:3px;width:100%;background:var(--color-text);border-radius:3px;transition:all var(--transition-normal)}.nav__toggle.is-open span:nth-child(1){transform:rotate(45deg) translate(6px, 6px)}.nav__toggle.is-open span:nth-child(2){opacity:0}.nav__toggle.is-open span:nth-child(3){transform:rotate(-45deg) translate(6px, -6px)}@media (max-width: 768px){.nav__toggle{display:flex}}.theme-toggle{background:transparent;border:2px solid var(--color-border);border-radius:var(--radius-full);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal);font-size:var(--font-size-lg)}.theme-toggle:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.theme-toggle__icon{transition:transform var(--transition-normal)}.theme-toggle:hover .theme-toggle__icon{transform:rotate(20deg)}.section--hero{position:relative;overflow:hidden;min-height:600px;display:flex;align-items:center;background:var(--gradient-hero)}@media (max-width: 768px){.section--hero{min-height:500px}}.hero__banner{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.hero__banner img{width:100%;height:100%;object-fit:cover;object-position:center}.hero__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, rgba(102,126,234,0.9) 0%, rgba(118,75,162,0.85) 50%, rgba(240,147,251,0.8) 100%);backdrop-filter:blur(2px)}.hero{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2xl);padding:var(--spacing-3xl) 0}@media (min-width: 1024px){.hero{padding:var(--spacing-3xl) 0}}.hero__image-wrapper{position:relative;animation:fadeInDown 1s ease-out}.hero__profile-image{width:180px;height:180px;border-radius:var(--radius-full);border:6px solid rgba(255,255,255,0.9);box-shadow:var(--shadow-xl),0 0 40px rgba(255,255,255,0.3),0 0 80px rgba(102,126,234,0.4);object-fit:cover;transition:all var(--transition-slow)}.hero__profile-image:hover{transform:scale(1.05) rotate(2deg);box-shadow:var(--shadow-xl),0 0 60px rgba(255,255,255,0.5),0 0 100px rgba(102,126,234,0.6)}@media (min-width: 768px){.hero__profile-image{width:220px;height:220px;border-width:8px}}.hero__content{text-align:center;color:#ffffff;animation:fadeInUp 1s ease-out}.hero__title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md);text-shadow:0 2px 10px rgba(0,0,0,0.3);animation:slideInFromLeft 0.8s ease-out}@media (min-width: 768px){.hero__title{font-size:var(--font-size-5xl)}}.hero__subtitle{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);margin-bottom:var(--spacing-md);opacity:0.95;text-shadow:0 1px 5px rgba(0,0,0,0.2);animation:slideInFromRight 0.8s ease-out}@media (min-width: 768px){.hero__subtitle{font-size:var(--font-size-2xl)}}.hero__location{font-size:var(--font-size-lg);opacity:0.9;margin-bottom:var(--spacing-lg);text-shadow:0 1px 3px rgba(0,0,0,0.2);animation:fadeIn 1s ease-out 0.3s both}.hero__bio{max-width:800px;margin:0 auto var(--spacing-xl);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);opacity:0.9;text-shadow:0 1px 3px rgba(0,0,0,0.2);animation:fadeIn 1s ease-out 0.5s both}.hero__bio p{margin:0}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;animation:fadeInUp 1s ease-out 0.7s both}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInFromLeft{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromRight{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes float{0%, 100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero__image-wrapper::before{content:'';position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;background:linear-gradient(45deg, #667eea, #764ba2, #f093fb, #667eea);background-size:300% 300%;border-radius:var(--radius-full);z-index:-1;animation:gradientShift 4s ease infinite;opacity:0.6;filter:blur(20px)}@keyframes gradientShift{0%, 100%{background-position:0% 50%}50%{background-position:100% 50%}}.page{padding:var(--spacing-3xl) 0}.page__header{text-align:center;margin-bottom:var(--spacing-2xl)}.page__title{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-sm)}@media (max-width: 768px){.page__title{font-size:var(--font-size-3xl)}}.page__subtitle{font-size:var(--font-size-xl);color:var(--color-text-secondary)}.page__content{max-width:800px;margin:0 auto}.page__content h2{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md)}.page__content h3{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md)}.experience-card__meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.experience-card__dates{display:flex;align-items:center;gap:var(--spacing-xs)}.experience-card__location{display:flex;align-items:center;gap:var(--spacing-xs)}.experience-card__highlights{list-style:none;padding-left:0}.experience-card__highlights li{position:relative;padding-left:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.experience-card__highlights li::before{content:'•';position:absolute;left:0;color:var(--color-accent);font-weight:var(--font-weight-bold)}.experience-card__technologies{margin-top:var(--spacing-md)}.project-card__type{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-accent);color:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;margin-bottom:var(--spacing-sm)}.project-card__link{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);color:var(--color-accent);font-weight:var(--font-weight-medium)}.project-card--featured{border:2px solid var(--color-accent)}.skill-group{margin-bottom:var(--spacing-xl)}.skill-group__category{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.skill-group__skills{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);list-style:none;padding-left:0}.skill-group__skills li{margin-bottom:0}[data-theme="dark"] img{opacity:0.9}[data-theme="dark"] code,[data-theme="dark"] pre{background-color:rgba(0,0,0,0.2)}
