﻿:root{--color-primary: #2c3e50;--color-secondary: #3498db;--color-accent: #e74c3c;--color-success: #27ae60;--color-bg: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #e9ecef;--color-text: #2c3e50;--color-text-secondary: #6c757d;--color-text-muted: #adb5bd;--color-border: #dee2e6;--color-border-light: #e9ecef;--color-link: #3498db;--color-link-hover: #2980b9;--color-code-bg: #f4f4f4;--color-code-text: #c7254e;--font-family-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--font-family-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;--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;--line-height-tight: 1.25;--line-height-normal: 1.6;--line-height-relaxed: 1.75;--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;--max-width: 900px;--max-width-wide: 1200px;--header-height: 64px;--border-radius-sm: 4px;--border-radius: 8px;--border-radius-lg: 12px;--border-radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);--shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);--transition-fast: 150ms ease;--transition: 200ms ease;--transition-slow: 300ms ease}[data-theme=dark]{--color-primary: #ecf0f1;--color-secondary: #3498db;--color-accent: #e74c3c;--color-bg: #1a1a2e;--color-bg-secondary: #16213e;--color-bg-tertiary: #0f3460;--color-text: #ecf0f1;--color-text-secondary: #bdc3c7;--color-text-muted: #7f8c8d;--color-border: #2c3e50;--color-border-light: #34495e;--color-link: #5dade2;--color-link-hover: #85c1e9;--color-code-bg: #2d2d2d;--color-code-text: #f8b500;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);--shadow: 0 1px 3px rgba(0, 0, 0, 0.4);--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);transition:background-color var(--transition),color var(--transition);min-height:100vh;display:flex;flex-direction:column}body.page-transition-out{opacity:0;transform:translateY(-10px)}body.page-loaded{animation:fadeIn .3s ease forwards}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--line-height-tight);color:var(--color-primary);margin-bottom:var(--spacing-4)}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-4)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-link-hover)}strong,b{font-weight:600}em,i{font-style:italic}code{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background-color:var(--color-code-bg);color:var(--color-code-text);padding:.2em .4em;border-radius:var(--border-radius-sm)}pre{background-color:var(--color-code-bg);padding:var(--spacing-4);border-radius:var(--border-radius);overflow-x:auto;margin-bottom:var(--spacing-4)}pre code{background:none;padding:0}blockquote{border-left:4px solid var(--color-secondary);padding-left:var(--spacing-4);margin:var(--spacing-6) 0;font-style:italic;color:var(--color-text-secondary)}ul,ol{margin-bottom:var(--spacing-4);padding-left:var(--spacing-6)}li{margin-bottom:var(--spacing-2)}img{max-width:100%;height:auto}hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-8) 0}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-6)}.main-content{flex:1;padding:var(--spacing-12) 0}.site-header{position:sticky;top:0;z-index:1000;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);transition:background-color var(--transition),box-shadow var(--transition)}.site-header.scrolled{box-shadow:var(--shadow)}.navbar{height:var(--header-height)}.navbar-container{max-width:var(--max-width-wide);margin:0 auto;padding:0 var(--spacing-6);height:100%;display:flex;align-items:center;justify-content:space-between}.site-brand{font-weight:700;font-size:var(--font-size-xl);color:var(--color-primary)}.site-brand:hover{color:var(--color-secondary)}.nav-links{display:flex;align-items:center;gap:var(--spacing-6)}.nav-menu{display:flex;list-style:none;gap:var(--spacing-1);margin:0;padding:0}.nav-link{display:block;padding:var(--spacing-2) var(--spacing-3);color:var(--color-text-secondary);font-weight:500;border-radius:var(--border-radius);transition:all var(--transition)}.nav-link:hover,.nav-link.active{color:var(--color-primary);background-color:var(--color-bg-secondary)}.nav-link.active{color:var(--color-secondary)}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--spacing-2)}.hamburger-line{display:block;width:24px;height:2px;background-color:var(--color-text);margin:5px 0;transition:all var(--transition)}.mobile-menu-toggle.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px, 5px)}.mobile-menu-toggle.active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px, -5px)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);border-radius:var(--border-radius);transition:all var(--transition)}.theme-toggle:hover{background-color:var(--color-bg-secondary);color:var(--color-primary)}.theme-toggle .sun-icon{display:none}.theme-toggle .moon-icon{display:block}[data-theme=dark] .theme-toggle .sun-icon{display:block}[data-theme=dark] .theme-toggle .moon-icon{display:none}.site-footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-10) 0 var(--spacing-6);margin-top:auto}.footer-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-6)}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-8)}.footer-copyright{font-weight:600;margin-bottom:var(--spacing-2)}.footer-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);max-width:300px}.footer-social{display:flex;gap:var(--spacing-3)}.footer-social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-text-secondary);border-radius:var(--border-radius-full);transition:all var(--transition)}.footer-social-link:hover{color:var(--color-primary);background-color:var(--color-bg-tertiary)}.footer-bottom{text-align:center;padding-top:var(--spacing-6);border-top:1px solid var(--color-border)}.footer-credits{font-size:var(--font-size-sm);color:var(--color-text-muted)}.page-header{text-align:center;margin-bottom:var(--spacing-12)}.page-title{margin-bottom:var(--spacing-4)}.page-description{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.about-page .about-header{margin-bottom:var(--spacing-12)}.profile-section{display:flex;gap:var(--spacing-10);align-items:center}.profile-image-container{flex-shrink:0}.profile-image{width:200px;height:200px;object-fit:cover;border-radius:var(--border-radius-full);box-shadow:var(--shadow-lg);transition:transform var(--transition)}.profile-image:hover{transform:scale(1.05)}.profile-info{flex:1}.profile-name{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-2)}.profile-title{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin-bottom:var(--spacing-4)}.social-links{display:flex;gap:var(--spacing-3)}.social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-full);transition:all var(--transition)}.social-link:hover{color:var(--color-secondary);border-color:var(--color-secondary);transform:translateY(-2px)}.about-content{margin-bottom:var(--spacing-12)}.about-content p{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.news-section{margin-bottom:var(--spacing-12)}.section-title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-3);border-bottom:2px solid var(--color-secondary);display:inline-block}.news-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.news-item{display:flex;gap:var(--spacing-4);padding:var(--spacing-4);background-color:var(--color-bg-secondary);border-radius:var(--border-radius);transition:transform var(--transition),box-shadow var(--transition)}.news-item:hover{transform:translateX(4px);box-shadow:var(--shadow)}.news-date{flex-shrink:0;font-size:var(--font-size-sm);font-weight:600;color:var(--color-secondary);min-width:100px}.news-content{color:var(--color-text-secondary)}.cv-page .cv-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8)}.cv-title{margin-bottom:0}.cv-download-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);background-color:var(--color-secondary);color:#fff;border-radius:var(--border-radius);font-weight:500;transition:all var(--transition)}.cv-download-btn:hover{background-color:var(--color-link-hover);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.cv-section{margin-bottom:var(--spacing-10)}.cv-section-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-2);border-bottom:2px solid var(--color-border)}.cv-summary{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.timeline{position:relative;padding-left:var(--spacing-8)}.timeline::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom, var(--color-secondary), var(--color-border))}.timeline-item{position:relative;padding-bottom:var(--spacing-8);opacity:1;transform:translateX(0);transition:all var(--transition-slow)}.timeline-item:last-child{padding-bottom:0}.timeline-item.animate-in{opacity:1;transform:translateX(0)}.timeline-marker{position:absolute;left:calc(-1*var(--spacing-8) - 5px);top:4px;width:12px;height:12px;background-color:var(--color-secondary);border-radius:var(--border-radius-full);border:2px solid var(--color-bg);box-shadow:var(--shadow)}.timeline-content{background-color:var(--color-bg-secondary);padding:var(--spacing-5);border-radius:var(--border-radius);transition:box-shadow var(--transition)}.timeline-content:hover{box-shadow:var(--shadow-md)}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);margin-bottom:var(--spacing-2)}.timeline-title{font-size:var(--font-size-lg);margin-bottom:0}.timeline-date{font-size:var(--font-size-sm);color:var(--color-secondary);font-weight:600;white-space:nowrap}.timeline-institution{color:var(--color-text-secondary);font-weight:500;margin-bottom:var(--spacing-2)}.timeline-thesis,.timeline-advisor{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-1)}.timeline-highlights{margin-top:var(--spacing-3);padding-left:var(--spacing-5)}.timeline-highlights li{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-1)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:var(--spacing-6)}.skill-category{background-color:var(--color-bg-secondary);padding:var(--spacing-5);border-radius:var(--border-radius);opacity:1;transform:translateY(0);transition:all var(--transition-slow)}.skill-category.animate-in{opacity:1;transform:translateY(0)}.skill-category-title{font-size:var(--font-size-base);color:var(--color-secondary);margin-bottom:var(--spacing-3)}.skill-items{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.skill-tag{display:inline-block;padding:var(--spacing-1) var(--spacing-3);background-color:var(--color-bg-tertiary);color:var(--color-text);font-size:var(--font-size-sm);border-radius:var(--border-radius-full);transition:all var(--transition)}.skill-tag:hover{background-color:var(--color-secondary);color:#fff}.awards-list{list-style:none;padding:0}.award-item{padding:var(--spacing-3) 0;border-bottom:1px solid var(--color-border-light)}.award-item:last-child{border-bottom:none}.award-name{font-weight:500}.award-org{color:var(--color-text-secondary)}.award-year{color:var(--color-text-muted);font-size:var(--font-size-sm)}.project-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-2);justify-content:center;margin-bottom:var(--spacing-8)}.filter-btn{padding:var(--spacing-2) var(--spacing-4);background:none;border:1px solid var(--color-border);border-radius:var(--border-radius-full);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition)}.filter-btn:hover,.filter-btn.active{background-color:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:var(--spacing-6)}.project-card{background-color:var(--color-bg-secondary);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:all var(--transition);opacity:1;transform:translateY(0)}.project-card.show,.project-card.animate-in{opacity:1;transform:translateY(0)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-card:hover .project-image img{transform:scale(1.05)}.project-image{height:200px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-content{padding:var(--spacing-5)}.project-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-2)}.project-title a{color:var(--color-primary)}.project-title a:hover{color:var(--color-secondary)}.project-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.tag{display:inline-block;padding:var(--spacing-1) var(--spacing-2);background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:var(--font-size-xs);border-radius:var(--border-radius-sm)}.publications-page .scholar-link{margin-top:var(--spacing-4)}.btn-scholar{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-size:var(--font-size-sm);transition:all var(--transition)}.btn-scholar:hover{background-color:var(--color-bg-tertiary);color:var(--color-primary)}.publications-list{margin-top:var(--spacing-8)}.publication-year{margin-bottom:var(--spacing-8)}.year-heading{font-size:var(--font-size-xl);color:var(--color-secondary);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2);border-bottom:2px solid var(--color-secondary);display:inline-block}.publication-item{position:relative;padding:var(--spacing-5);background-color:var(--color-bg-secondary);border-radius:var(--border-radius);margin-bottom:var(--spacing-4);transition:all var(--transition);opacity:1;transform:translateX(0)}.publication-item.animate-in{opacity:1;transform:translateX(0)}.publication-item:hover{box-shadow:var(--shadow-md)}.publication-item.selected{border-left:4px solid var(--color-accent)}.selected-badge{position:absolute;top:var(--spacing-3);right:var(--spacing-3);background-color:var(--color-accent);color:#fff;font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius-sm)}.pub-title{font-size:var(--font-size-base);margin-bottom:var(--spacing-2)}.pub-authors{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-1)}.pub-venue{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-3)}.pub-links{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.pub-link{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:var(--font-size-xs);border-radius:var(--border-radius-sm);transition:all var(--transition)}.pub-link:hover{background-color:var(--color-secondary);color:#fff}.repositories-page .github-profile-link{margin-top:var(--spacing-4)}.btn-github{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);background-color:#24292e;color:#fff;border-radius:var(--border-radius);font-weight:500;transition:all var(--transition)}.btn-github:hover{background-color:#1a1d21;color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.github-stats{text-align:center;margin:var(--spacing-10) 0}.github-stats-card{max-width:100%;border-radius:var(--border-radius);box-shadow:var(--shadow)}.repositories-section,.contributions-section{margin-top:var(--spacing-10)}.repositories-section h2,.contributions-section h2{margin-bottom:var(--spacing-6)}.repos-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:var(--spacing-4)}.repo-card{background-color:var(--color-bg-secondary);padding:var(--spacing-5);border-radius:var(--border-radius);border:1px solid var(--color-border);transition:all var(--transition)}.repo-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow)}.repo-name{font-size:var(--font-size-base);margin-bottom:var(--spacing-2)}.repo-name a{color:var(--color-primary)}.repo-name a:hover{color:var(--color-secondary)}.repo-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.repo-meta{display:flex;gap:var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-muted)}.repo-language{display:flex;align-items:center;gap:var(--spacing-1)}.language-dot{width:12px;height:12px;border-radius:var(--border-radius-full)}.repo-stars,.repo-forks{display:flex;align-items:center;gap:var(--spacing-1)}.repo-updated{margin-top:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.contributions-chart{max-width:100%;border-radius:var(--border-radius)}.featured-repos-section{margin-bottom:var(--spacing-10);padding-bottom:var(--spacing-8);border-bottom:1px solid var(--color-border)}.featured-repos-section h2{margin-bottom:var(--spacing-2)}.section-description{color:var(--color-text-muted);font-size:var(--font-size-base);margin-bottom:var(--spacing-6)}.repo-card.featured{border:2px solid var(--color-secondary);background:linear-gradient(135deg, var(--color-bg) 0%, var(--color-bg-card) 100%);position:relative}.repo-card.featured::before{content:"⭐";position:absolute;top:-10px;right:10px;background:var(--color-secondary);color:#fff;padding:2px 8px;border-radius:12px;font-size:var(--font-size-xs)}.featured-repos-container{display:flex;flex-direction:column;gap:var(--spacing-8)}.featured-repo-item{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-6);align-items:start}.featured-repo-item .repo-card{margin:0}.repo-highlight{background:var(--color-bg-card);border:1px solid var(--color-border);border-left:4px solid var(--color-secondary);border-radius:var(--border-radius);padding:var(--spacing-6);height:100%}.repo-highlight h4{margin:0 0 var(--spacing-3);color:var(--color-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.repo-highlight p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.repo-org{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.org-avatar{width:20px;height:20px;border-radius:50%;border:1px solid var(--color-border)}.github-stats{margin:var(--spacing-8) 0;text-align:center}.github-stats-card{max-width:100%;border-radius:var(--border-radius);transition:opacity var(--transition)}.github-stats-card[data-loading=true]{opacity:.5}.loading-spinner{text-align:center;padding:var(--spacing-10)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-secondary);border-radius:50%;margin:0 auto var(--spacing-4);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width: 768px){:root{--font-size-4xl: 1.875rem;--font-size-3xl: 1.5rem;--font-size-2xl: 1.25rem}.mobile-menu-toggle{display:block}.nav-links{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:var(--color-bg);flex-direction:column;padding:var(--spacing-6);transform:translateX(100%);transition:transform var(--transition)}.nav-links.active{transform:translateX(0)}.nav-menu{flex-direction:column;width:100%}.nav-link{padding:var(--spacing-4);font-size:var(--font-size-lg);text-align:center}.theme-toggle{margin-top:var(--spacing-4)}.profile-section{flex-direction:column;text-align:center}.social-links{justify-content:center}.cv-page .cv-header{flex-direction:column;gap:var(--spacing-4)}.timeline-header{flex-direction:column;gap:var(--spacing-1)}.footer-content{flex-direction:column;gap:var(--spacing-6);text-align:center}.footer-social{justify-content:center}.projects-grid{grid-template-columns:1fr}.repos-grid{grid-template-columns:1fr}.featured-repo-item{grid-template-columns:1fr}.repo-highlight{border-left:none;border-top:4px solid var(--color-secondary)}}/*# sourceMappingURL=main.css.map */