.logo{font-family:var(--font-family-mono);font-size:var(--font-size-2xl);font-weight:700;color:var(--color-accent);transition:all var(--transition-fast);text-decoration:none;display:inline-block}.nav-link{position:relative;color:var(--color-text-secondary);font-weight:500;transition:color var(--transition-fast);background:none;border:none;cursor:pointer;padding:0;font-size:inherit}.nav-link.active{color:var(--color-accent)}.nav-link.active:after{width:100%}.lang-switch{font-size:var(--font-size-sm);opacity:.7;padding:0;margin:0}@media (max-width: 768px){.nav-menu{gap:var(--space-md);font-size:var(--font-size-sm)}}@media (max-width: 480px){.nav-container{padding:var(--space-md) var(--space-md)}}@media (max-width: 768px){.hero-container{grid-template-columns:150px 1fr;gap:var(--space-lg)}.hero-image-wrapper{width:150px;height:150px}.hero-title{font-size:var(--font-size-xl)}.hero-subtitle{font-size:var(--font-size-base)}.hero-description{font-size:var(--font-size-sm)}.hero-cta{flex-direction:column;gap:var(--space-md)}.btn{width:100%;padding:var(--space-md) var(--space-lg)}}@media (max-width: 480px){.hero-image-wrapper{width:100%}}.footer-section a{color:var(--color-text-secondary);transition:color var(--transition-fast);text-decoration:none}@media (max-width: 768px){.footer-section{text-align:center}}html[data-theme=dark] .theme-toggle .sun-icon,html[data-theme=light] .theme-toggle .moon-icon{opacity:0;transform:rotate(-90deg);position:absolute}.experience-items{display:flex;flex-direction:column}.experience-content h3{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:var(--space-sm)}.experience-tech{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.skill-category h3{margin-bottom:var(--space-lg);color:var(--color-accent);font-size:var(--font-size-lg)}.skill-category ul{list-style:none;padding:0;margin:0}.skill-category li{padding:var(--space-sm) 0;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.skill-category li:last-child{border-bottom:none}.education-items{display:flex;flex-direction:column}.education-date{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-sm)}.education-item h3{font-weight:600;color:var(--color-success);margin-bottom:var(--space-sm)}.education-thesis{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.contact-section{max-width:100%}.contact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-bottom:var(--space-3xl);max-width:1000px}.vcard-link{background:none;border:none;padding:0;color:var(--color-accent);text-decoration:underline;font-size:var(--font-size-base);cursor:pointer;transition:color var(--transition-fast);font-family:inherit}.vcard-link:hover{color:var(--color-accent-dark);text-decoration:underline}.contact-links a{padding:var(--space-md) var(--space-lg);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-weight:600;transition:all var(--transition-fast);text-decoration:none}.cv-downloads{display:flex;gap:var(--space-lg);flex-wrap:wrap;margin-top:var(--space-2xl)}.cv-downloads .btn{margin-right:var(--space-md)}@media (max-width: 768px){.experience-item{grid-template-columns:1fr;gap:var(--space-lg)}.experience-date{margin-bottom:var(--space-md)}.skills-grid,.contact-info{grid-template-columns:1fr}.section-title{font-size:var(--font-size-2xl)}}@media (max-width: 480px){.section-title{font-size:var(--font-size-xl)}.about-content p{font-size:var(--font-size-base)}.contact-links,.cv-downloads{flex-direction:column}.contact-links a,.cv-downloads .btn{width:100%}}:root{--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-border: #e2e8f0;--color-accent: #3b82f6;--color-accent-dark: #1e40af;--color-accent-light: #dbeafe;--color-success: #10b981;--color-warning: #f59e0b;--color-bg-dark: #0f172a;--color-bg-secondary-dark: #1e293b;--color-bg-tertiary-dark: #334155;--color-text-primary-dark: #f1f5f9;--color-text-secondary-dark: #cbd5e1;--color-text-tertiary-dark: #94a3b8;--color-border-dark: #334155;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-family-mono: "IBM Plex Mono", "Monaco", "Courier New", monospace;--font-size-sm: .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;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--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-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem}html[data-theme=dark]{--color-bg: var(--color-bg-dark);--color-bg-secondary: var(--color-bg-secondary-dark);--color-bg-tertiary: var(--color-bg-tertiary-dark);--color-text-primary: var(--color-text-primary-dark);--color-text-secondary: var(--color-text-secondary-dark);--color-text-tertiary: var(--color-text-tertiary-dark);--color-border: var(--color-border-dark)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg);transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--space-lg);color:var(--color-text-primary)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl);margin-bottom:var(--space-2xl)}h3{font-size:var(--font-size-2xl);margin-bottom:var(--space-lg)}h4{font-size:var(--font-size-xl);margin-bottom:var(--space-md)}p{margin-bottom:var(--space-lg);color:var(--color-text-secondary)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-dark);text-decoration:underline}code{font-family:var(--font-family-mono);font-size:.9em;background-color:var(--color-bg-tertiary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.theme-toggle{position:fixed;bottom:var(--space-lg);right:var(--space-lg);width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-bg-secondary);border:1px solid var(--color-border);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.theme-toggle:hover{transform:scale(1.1);background:var(--color-accent-light)}.theme-toggle:focus{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle svg{width:1.25rem;height:1.25rem;color:var(--color-accent);transition:opacity var(--transition-base),transform var(--transition-base)}html[data-theme=dark] .sun-icon,html[data-theme=light] .moon-icon{opacity:0;transform:rotate(-90deg);position:absolute}.header{background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;transition:all var(--transition-base)}.nav-container{max-width:1200px;margin:0 auto;padding:var(--space-lg) var(--space-xl);display:flex;align-items:center;justify-content:space-between}.nav-brand{flex-shrink:0}.logo{font-family:var(--font-family-mono);font-size:var(--font-size-2xl);font-weight:700;color:var(--color-accent);transition:all var(--transition-fast)}.logo:hover{color:var(--color-accent-dark);text-decoration:none;transform:scale(1.05)}.nav-menu{display:flex;list-style:none;gap:var(--space-xl)}.nav-link{position:relative;color:var(--color-text-secondary);font-weight:500;transition:color var(--transition-fast)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-accent);transition:width var(--transition-base)}.nav-link:hover{color:var(--color-accent)}.nav-link:hover:after{width:100%}.hero-section{padding:var(--space-2xl) var(--space-xl);background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg) 100%);border-bottom:1px solid var(--color-border)}.hero-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:200px 1fr;gap:var(--space-2xl);align-items:center}.hero-image-wrapper{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hero-image{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);transition:transform var(--transition-base)}.hero-image-wrapper:hover .hero-image{transform:scale(1.02)}.hero-image-border{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-2xl);border:2px solid var(--color-accent)}.hero-title{font-size:var(--font-size-2xl);margin-bottom:var(--space-sm);color:var(--color-text-primary)}.hero-subtitle{font-size:var(--font-size-lg);color:var(--color-accent);margin-bottom:var(--space-md);font-weight:600}.hero-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.6}.hero-cta{display:flex;gap:var(--space-lg);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-2xl);border-radius:var(--radius-lg);font-weight:600;font-size:var(--font-size-base);transition:all var(--transition-fast);text-decoration:none;border:none;cursor:pointer;white-space:nowrap}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--color-accent-dark);color:#fff;box-shadow:var(--shadow-lg);transform:translateY(-2px);text-decoration:none}.btn-secondary{background:transparent;color:var(--color-accent);border:2px solid var(--color-accent)}.btn-secondary:hover{background:var(--color-accent-light);border-color:var(--color-accent-dark);color:var(--color-accent-dark);text-decoration:none}.page-content{max-width:1200px;margin:0 auto;padding:var(--space-4xl) var(--space-xl)}.section{margin-bottom:var(--space-4xl)}.section-title{font-size:var(--font-size-4xl);margin-bottom:var(--space-2xl);position:relative;padding-bottom:var(--space-lg);border-bottom:2px solid var(--color-accent)}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--color-accent)}.about-content{max-width:800px}.about-content p{font-size:var(--font-size-lg);line-height:1.8;margin-bottom:var(--space-2xl)}.experience-item{margin-bottom:var(--space-3xl);display:grid;grid-template-columns:150px 1fr;gap:var(--space-2xl)}.experience-date{font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.experience-content{position:relative;padding-left:var(--space-lg)}.experience-content:before{content:"";position:absolute;left:0;top:6px;width:12px;height:12px;border-radius:50%;background:var(--color-accent);border:3px solid var(--color-bg);box-shadow:0 0 0 2px var(--color-accent)}.experience-title{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:var(--space-sm)}.experience-company{color:var(--color-accent);font-weight:600;margin-bottom:var(--space-md)}.experience-description{color:var(--color-text-secondary);margin-bottom:var(--space-md)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-2xl);margin-bottom:var(--space-3xl)}.skill-category{background:var(--color-bg-secondary);padding:var(--space-2xl);border-radius:var(--radius-lg);border-left:4px solid var(--color-accent);transition:all var(--transition-base)}.skill-category:hover{box-shadow:var(--shadow-lg);transform:translate(4px)}.skill-category h4{margin-bottom:var(--space-lg);color:var(--color-accent)}.skill-list{list-style:none}.skill-list li{padding:var(--space-sm) 0;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.skill-list li:last-child{border-bottom:none}.education-item{background:var(--color-bg-secondary);padding:var(--space-2xl);border-radius:var(--radius-lg);margin-bottom:var(--space-2xl);border-left:4px solid var(--color-success);transition:all var(--transition-base)}.education-item:hover{box-shadow:var(--shadow-lg)}.education-period{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-sm)}.education-school{font-weight:600;color:var(--color-success);margin-bottom:var(--space-sm)}.education-field{color:var(--color-text-primary);margin-bottom:var(--space-sm)}.contact-section{max-width:600px}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-2xl);margin-bottom:var(--space-3xl)}.contact-item{background:var(--color-bg-secondary);padding:var(--space-2xl);border-radius:var(--radius-lg);text-align:center;border-top:3px solid var(--color-accent);transition:all var(--transition-base)}.contact-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.contact-item h4{margin-bottom:var(--space-md);color:var(--color-accent)}.contact-item p{margin:0;font-size:var(--font-size-base)}.contact-item a{word-break:break-all}.contact-links{display:flex;gap:var(--space-lg);flex-wrap:wrap;margin-top:var(--space-2xl)}.contact-links a{padding:var(--space-md) var(--space-lg);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-weight:600;transition:all var(--transition-fast)}.contact-links a:hover{background:var(--color-accent-dark);transform:translateY(-2px);text-decoration:none;box-shadow:var(--shadow-md)}.footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--space-4xl) var(--space-xl);margin-top:var(--space-4xl)}.footer-content{max-width:1200px;margin:0 auto}.footer-section{margin-bottom:var(--space-2xl)}.footer-section h3{margin-bottom:var(--space-lg);color:var(--color-accent)}.footer-section ul{list-style:none}.footer-section li,.footer-section p{margin-bottom:var(--space-md);color:var(--color-text-secondary)}.footer-section a{color:var(--color-text-secondary);transition:color var(--transition-fast)}.footer-section a:hover{color:var(--color-accent);text-decoration:none}.footer-bottom{border-top:1px solid var(--color-border);padding-top:var(--space-2xl);margin-top:var(--space-2xl);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}@media (max-width: 768px){:root{--space-4xl: 3rem}.theme-toggle{width:2.25rem;height:2.25rem}.hero-container{grid-template-columns:150px 1fr;gap:var(--space-lg)}.hero-image-wrapper{width:150px;height:150px}.hero-title{font-size:var(--font-size-xl)}.hero-subtitle{font-size:var(--font-size-base)}.hero-description{font-size:var(--font-size-sm)}.hero-cta{flex-direction:column;gap:var(--space-md)}.btn{width:100%;padding:var(--space-md) var(--space-lg)}.nav-menu{gap:var(--space-md);font-size:var(--font-size-sm)}.experience-item{grid-template-columns:1fr;gap:var(--space-lg)}.experience-date{margin-bottom:var(--space-md)}.skills-grid,.contact-info{grid-template-columns:1fr}.footer-section{text-align:center}}@media (max-width: 480px){:root{--font-size-5xl: 2rem;--font-size-4xl: 1.5rem;--space-xl: 1rem;--space-2xl: 1.5rem}.theme-toggle{bottom:var(--space-md);right:var(--space-md);width:2rem;height:2rem}.nav-container{padding:var(--space-md) var(--space-md)}.hero-section,.page-content{padding:var(--space-2xl) var(--space-md)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}.hero-image-wrapper{width:100%}}@media print{.theme-toggle,.nav-container,.footer{display:none}body{background:#fff;color:#000}a{color:#000;text-decoration:underline}}
