:root{--bg-primary: #fafafa;--bg-secondary: #f0f0f0;--bg-card: #ffffff;--bg-card-hover: #f8f8f8;--bg-nav: rgba(250, 250, 250, 0.85);--bg-nav-mobile: rgba(250, 250, 250, 0.95);--text-primary: #1a1a1a;--text-secondary: #555555;--text-muted: #999999;--accent: #d4a017;--accent-hover: #e6b422;--accent-rgb: 212, 160, 23;--border: #e0e0e0;--border-hover: #cccccc;--shadow-card: rgba(0, 0, 0, 0.08);--shadow-heavy: rgba(0, 0, 0, 0.12);--nav-link-hover-bg: rgba(0, 0, 0, 0.04)}@media (prefers-color-scheme: dark){:root{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-card: #1a1a1a;--bg-card-hover: #222222;--bg-nav: rgba(10, 10, 10, 0.85);--bg-nav-mobile: rgba(10, 10, 10, 0.95);--text-primary: #f0f0f0;--text-secondary: #a0a0a0;--text-muted: #666666;--accent: #f0c640;--accent-hover: #f5d566;--accent-rgb: 240, 198, 64;--border: #2a2a2a;--border-hover: #3a3a3a;--shadow-card: rgba(0, 0, 0, 0.4);--shadow-heavy: rgba(0, 0, 0, 0.5);--nav-link-hover-bg: rgba(255, 255, 255, 0.06)}}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.7;-webkit-font-smoothing:antialiased;transition:background 0.3s cubic-bezier(0.4, 0, 0.2, 1),color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}a{color:var(--accent);text-decoration:none;transition:color 0.2s ease}a:hover{color:var(--accent-hover)}::selection{background:rgba(var(--accent-rgb), 0.3);color:var(--text-primary)}.container{max-width:1100px;margin:0 auto;padding:0 24px}:root{--bg-primary: #fafafa;--bg-secondary: #f0f0f0;--bg-card: #ffffff;--bg-card-hover: #f8f8f8;--bg-nav: rgba(250, 250, 250, 0.85);--bg-nav-mobile: rgba(250, 250, 250, 0.95);--text-primary: #1a1a1a;--text-secondary: #555555;--text-muted: #999999;--accent: #d4a017;--accent-hover: #e6b422;--accent-rgb: 212, 160, 23;--border: #e0e0e0;--border-hover: #cccccc;--shadow-card: rgba(0, 0, 0, 0.08);--shadow-heavy: rgba(0, 0, 0, 0.12);--nav-link-hover-bg: rgba(0, 0, 0, 0.04)}@media (prefers-color-scheme: dark){:root{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-card: #1a1a1a;--bg-card-hover: #222222;--bg-nav: rgba(10, 10, 10, 0.85);--bg-nav-mobile: rgba(10, 10, 10, 0.95);--text-primary: #f0f0f0;--text-secondary: #a0a0a0;--text-muted: #666666;--accent: #f0c640;--accent-hover: #f5d566;--accent-rgb: 240, 198, 64;--border: #2a2a2a;--border-hover: #3a3a3a;--shadow-card: rgba(0, 0, 0, 0.4);--shadow-heavy: rgba(0, 0, 0, 0.5);--nav-link-hover-bg: rgba(255, 255, 255, 0.06)}}.topnav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-nav);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.topnav.scrolled{box-shadow:0 4px 30px var(--shadow-heavy)}.nav-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-weight:700;font-size:1.1rem;color:var(--text-primary);letter-spacing:-0.02em}.nav-logo:hover{color:var(--accent)}.nav-links{display:flex;list-style:none;gap:8px}.nav-links a{padding:8px 16px;border-radius:8px;color:var(--text-secondary);font-size:0.9rem;font-weight:500;transition:all 0.2s ease}.nav-links a:hover{color:var(--text-primary);background:var(--nav-link-hover-bg)}.nav-toggle{display:none;background:none;border:none;color:var(--text-primary);font-size:1.2rem;cursor:pointer;padding:8px}@media (max-width: 768px){.nav-links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--bg-nav-mobile);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:16px;gap:4px}.nav-links.open{display:flex}.nav-links a{padding:12px 16px;display:block}.nav-toggle{display:block}}:root{--bg-primary: #fafafa;--bg-secondary: #f0f0f0;--bg-card: #ffffff;--bg-card-hover: #f8f8f8;--bg-nav: rgba(250, 250, 250, 0.85);--bg-nav-mobile: rgba(250, 250, 250, 0.95);--text-primary: #1a1a1a;--text-secondary: #555555;--text-muted: #999999;--accent: #d4a017;--accent-hover: #e6b422;--accent-rgb: 212, 160, 23;--border: #e0e0e0;--border-hover: #cccccc;--shadow-card: rgba(0, 0, 0, 0.08);--shadow-heavy: rgba(0, 0, 0, 0.12);--nav-link-hover-bg: rgba(0, 0, 0, 0.04)}@media (prefers-color-scheme: dark){:root{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-card: #1a1a1a;--bg-card-hover: #222222;--bg-nav: rgba(10, 10, 10, 0.85);--bg-nav-mobile: rgba(10, 10, 10, 0.95);--text-primary: #f0f0f0;--text-secondary: #a0a0a0;--text-muted: #666666;--accent: #f0c640;--accent-hover: #f5d566;--accent-rgb: 240, 198, 64;--border: #2a2a2a;--border-hover: #3a3a3a;--shadow-card: rgba(0, 0, 0, 0.4);--shadow-heavy: rgba(0, 0, 0, 0.5);--nav-link-hover-bg: rgba(255, 255, 255, 0.06)}}.hero{min-height:100vh;display:flex;align-items:center;padding-top:64px}.hero-card{padding:48px}@media (max-width: 768px){.hero-card{padding:32px 24px}}.hero-content{display:flex;align-items:center;gap:60px;width:100%}@media (max-width: 768px){.hero-content{flex-direction:column-reverse;text-align:center;gap:40px}}.hero-text{flex:1}.hero-text .greeting{font-size:0.95rem;color:var(--accent);font-weight:500;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:12px}.hero-text h1{font-size:clamp(2.2rem, 5vw, 3.5rem);font-weight:700;letter-spacing:-0.03em;line-height:1.15;margin-bottom:16px}.hero-text .tagline{font-size:1.2rem;color:var(--text-secondary);margin-bottom:28px;line-height:1.6}.hero-text .hero-info{display:flex;gap:20px;margin-bottom:24px;flex-wrap:wrap}@media (max-width: 768px){.hero-text .hero-info{justify-content:center}}.hero-text .hero-info span,.hero-text .hero-info a{font-size:0.88rem;color:var(--text-secondary);text-decoration:none;transition:color 0.2s ease}.hero-text .hero-info span:hover,.hero-text .hero-info a:hover{color:var(--accent)}.hero-text .hero-info span i,.hero-text .hero-info a i{color:var(--accent);margin-right:6px;font-size:0.85rem}.hero-text .hero-links{display:flex;gap:12px;flex-wrap:wrap}@media (max-width: 768px){.hero-text .hero-links{justify-content:center}}.hero-text .hero-links a{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:10px;font-size:0.9rem;font-weight:500;border:1px solid var(--border);color:var(--text-secondary);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.hero-text .hero-links a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px rgba(var(--accent-rgb), 0.15)}.hero-image{flex-shrink:0}.hero-image .avatar-wrapper{width:260px;height:260px;border-radius:50%;overflow:hidden;border:3px solid var(--border);transition:all 0.5s cubic-bezier(0.4, 0, 0.2, 1);position:relative}.hero-image .avatar-wrapper::after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 30px rgba(0,0,0,0.15)}.hero-image .avatar-wrapper:hover{border-color:var(--accent);transform:scale(1.03);box-shadow:0 0 40px rgba(var(--accent-rgb), 0.15)}.hero-image .avatar-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s cubic-bezier(0.4, 0, 0.2, 1)}.hero-image .avatar-wrapper:hover img{transform:scale(1.05)}@media (max-width: 768px){.hero-image .avatar-wrapper{width:200px;height:200px}}.section{padding:100px 0}.section-desc{color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-top:-24px;margin-bottom:40px}.section-header{margin-bottom:48px}.section-header h2{font-size:1.8rem;font-weight:700;letter-spacing:-0.02em;margin-bottom:8px}.section-header .section-line{width:40px;height:3px;background:var(--accent);border-radius:2px}.card{background:var(--bg-card);border:none;border-radius:16px;padding:28px;box-shadow:0 2px 12px var(--shadow-card);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden;word-break:break-word}@media (max-width: 768px){.card{padding:20px 16px}}.card:hover{background:var(--bg-card-hover);transform:translateY(-4px);box-shadow:0 12px 40px var(--shadow-heavy)}.card.card-highlight{border-left:3px solid var(--accent);box-shadow:0 2px 16px rgba(var(--accent-rgb), 0.1)}.card.card-highlight:hover{box-shadow:0 12px 40px rgba(var(--accent-rgb), 0.15)}.card-grid{display:grid;gap:20px}.edu-cards .card{display:flex;align-items:flex-start;gap:20px}.edu-cards .edu-icon{width:48px;height:48px;border-radius:12px;background:rgba(var(--accent-rgb), 0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);font-size:1.2rem}.edu-cards .edu-info h3{font-size:1.05rem;font-weight:600;margin-bottom:4px}.edu-cards .edu-info .edu-dept{color:var(--text-secondary);font-size:0.9rem;margin-bottom:6px}.edu-cards .edu-info .edu-date{color:var(--text-muted);font-size:0.82rem;font-family:'JetBrains Mono', monospace}.pub-cards .card{position:relative}.pub-cards .card:hover{transform:none;box-shadow:0 2px 12px var(--shadow-card);background:var(--bg-card)}.pub-cards .card.card-highlight:hover{box-shadow:0 2px 16px rgba(var(--accent-rgb), 0.1)}.pub-cards .card h3{font-size:1rem;font-weight:600;margin-bottom:8px;line-height:1.5}.pub-cards .card .pub-tldr{font-size:0.85rem;color:var(--accent);font-style:italic;margin-bottom:10px}.pub-cards .card .pub-authors{color:var(--text-secondary);font-size:0.85rem;margin-bottom:4px;line-height:1.6}.pub-cards .card .pub-authors .pub-me{font-weight:700;text-decoration:underline;text-underline-offset:3px;color:var(--text-primary)}.pub-cards .card .pub-equal{font-size:0.78rem;color:var(--text-muted);font-style:italic;margin-bottom:12px}.pub-cards .card .pub-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pub-cards .card .pub-venue{font-size:0.82rem;font-weight:600;color:var(--accent);background:rgba(var(--accent-rgb), 0.1);padding:4px 12px;border-radius:6px;transition:all 0.2s ease;text-decoration:none}.pub-cards .card .pub-venue:hover{background:rgba(var(--accent-rgb), 0.2);transform:translateY(-1px)}.pub-cards .card .pub-year{font-size:0.82rem;color:var(--text-muted);font-family:'JetBrains Mono', monospace}.pub-cards .card .pub-links{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap}.pub-cards .card .pub-links a{font-size:0.82rem;padding:4px 12px;border-radius:6px;border:1px solid var(--border);color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px;transition:all 0.2s ease}.pub-cards .card .pub-links a:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 768px){.pub-cards .card .pub-links{margin-left:0;margin-top:8px}}.etc-grid{display:grid;grid-template-columns:1fr;gap:40px}.etc-subtitle{font-size:1.1rem;font-weight:600;margin-bottom:20px;color:var(--text-primary)}.etc-subtitle i{color:var(--accent);margin-right:8px}.etc-list{list-style:none;display:flex;flex-direction:column;gap:12px}.etc-list li{padding:16px 20px;background:var(--bg-card);border-radius:10px;box-shadow:0 2px 8px var(--shadow-card)}.etc-list .etc-title{display:block;font-size:0.9rem;font-weight:500;color:var(--text-primary);margin-bottom:4px}.etc-list .etc-detail{display:block;font-size:0.82rem;color:var(--text-muted)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:16px}.contact-card{text-align:center;padding:32px 20px}.contact-card .contact-icon{width:52px;height:52px;border-radius:14px;background:rgba(var(--accent-rgb), 0.1);display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-size:1.3rem;margin-bottom:16px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.contact-card .contact-label{font-size:0.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:6px}.contact-card .contact-value{font-size:0.9rem;color:var(--text-secondary);font-weight:500}.contact-card:hover .contact-icon{background:rgba(var(--accent-rgb), 0.2);transform:translateY(-4px);box-shadow:0 8px 25px rgba(var(--accent-rgb), 0.2)}.site-footer{padding:40px 0;border-top:1px solid var(--border);text-align:center}.site-footer p{color:var(--text-muted);font-size:0.82rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease, transform 0.6s ease}.reveal.visible{opacity:1;transform:translateY(0)}
