:root{--ink: #1a1a1a;--ink-secondary: #4a4a4a;--ink-muted: #717171;--surface: #ffffff;--surface-raised: #fafafa;--surface-sunken: #f2f0ed;--border: #e5e2dd;--border-strong: #d0cdc7;--accent: #2563eb;--accent-soft: #dbeafe;--accent-text: #1d4ed8;--accent-sde: #0d9488;--accent-sde-soft: #ccfbf1;--accent-sde-text: #0f766e;--accent-ds: #7c3aed;--accent-ds-soft: #ede9fe;--accent-ds-text: #6d28d9;--success: #16a34a;--success-soft: #dcfce7;--warm-highlight: #fef3c7;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-display: "Instrument Serif", Georgia, "Times New Roman", serif;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--sp-20: 5rem;--sp-24: 6rem;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--r-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.06);--shadow-lg: 0 12px 32px rgba(0,0,0,.08);--ease: cubic-bezier(.22, 1, .36, 1);--t-fast: .15s var(--ease);--t-normal: .3s var(--ease);--t-slow: .5s var(--ease)}[data-theme=dark]{--ink: #f0ede8;--ink-secondary: #c4c0b8;--ink-muted: #8a8680;--surface: #141210;--surface-raised: #1e1c19;--surface-sunken: #0d0c0a;--border: #2e2b26;--border-strong: #3d3a34;--accent: #60a5fa;--accent-soft: rgba(96,165,250,.12);--accent-text: #93c5fd;--accent-sde: #2dd4bf;--accent-sde-soft: rgba(45,212,191,.12);--accent-sde-text: #5eead4;--accent-ds: #a78bfa;--accent-ds-soft: rgba(167,139,250,.12);--accent-ds-text: #c4b5fd;--success: #4ade80;--success-soft: rgba(74,222,128,.12);--warm-highlight: rgba(254,243,199,.08);--shadow-sm: 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 12px rgba(0,0,0,.3);--shadow-lg: 0 12px 32px rgba(0,0,0,.4)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;color:var(--ink);background:var(--surface);transition:background var(--t-normal),color var(--t-normal)}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;line-height:1.15;color:var(--ink)}h4,h5,h6{font-family:var(--font-body);font-weight:600;line-height:1.3;color:var(--ink)}h1{font-size:clamp(2.4rem,5vw,3.5rem)}h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:var(--sp-6)}h3{font-size:clamp(1.3rem,2.5vw,1.6rem);margin-bottom:var(--sp-3)}h4{font-size:1.05rem;margin-bottom:var(--sp-2)}p{color:var(--ink-secondary);margin-bottom:var(--sp-4)}strong{color:var(--ink);font-weight:600}a{color:var(--accent-text);text-decoration:none;transition:color var(--t-fast)}a:hover{color:var(--accent)}.container{max-width:1080px;margin:0 auto;padding:0 var(--sp-6)}section,.section-block{padding:var(--sp-16) 0}section+section{border-top:1px solid var(--border)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#ffffffeb;backdrop-filter:blur(12px) saturate(180%);border-bottom:1px solid var(--border);transition:all var(--t-normal)}[data-theme=dark] .navbar{background:#141210eb}.nav-container{display:flex;justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:var(--sp-4) var(--sp-6)}.nav-logo{font-family:var(--font-display);font-size:1.4rem;color:var(--ink);text-decoration:none;transition:opacity var(--t-fast)}.nav-logo:hover{opacity:.7;color:var(--ink)}.logo-accent{color:var(--accent)}.nav-menu{display:flex;gap:var(--sp-1)}.nav-link{color:var(--ink-muted);font-size:.9rem;font-weight:500;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);transition:all var(--t-fast);text-decoration:none}.nav-link:hover,.nav-link.active{color:var(--ink);background:var(--surface-sunken)}.nav-actions{display:flex;align-items:center;gap:var(--sp-2)}.theme-toggle{background:none;border:1px solid var(--border);color:var(--ink-muted);width:36px;height:36px;border-radius:var(--r-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast);font-size:.9rem}.theme-toggle:hover{background:var(--surface-sunken);color:var(--ink);border-color:var(--border-strong)}.menu-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:var(--sp-2);border-radius:var(--r-md);gap:5px}.menu-toggle span{width:22px;height:2px;background:var(--ink);border-radius:1px;transition:all var(--t-fast);transform-origin:center}.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{position:fixed;top:60px;left:0;right:0;z-index:999;background:var(--surface);border-bottom:1px solid var(--border);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--t-normal);box-shadow:var(--shadow-lg)}.mobile-menu.active{transform:translateY(0);opacity:1;visibility:visible}.mobile-nav-link{display:block;padding:var(--sp-4) var(--sp-6);color:var(--ink);border-bottom:1px solid var(--border);font-weight:500;text-decoration:none;transition:all var(--t-fast)}.mobile-nav-link:hover{background:var(--surface-sunken);padding-left:var(--sp-8)}main{margin-top:60px;min-height:calc(100vh - 180px)}.view-switcher{padding:var(--sp-8) var(--sp-6) var(--sp-4);text-align:center;max-width:1080px;margin:0 auto}.view-switcher-label{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:var(--sp-3)}.view-switcher-inner{display:inline-flex;gap:var(--sp-2);padding:var(--sp-1);border-radius:var(--r-full);background:var(--surface-sunken);border:1px solid var(--border)}.view-switcher-btn{padding:var(--sp-2) var(--sp-6);border:none;border-radius:var(--r-full);background:transparent;color:var(--ink-muted);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--t-fast);display:flex;align-items:center;gap:var(--sp-2)}.view-switcher-btn:hover{color:var(--ink);background:var(--surface)}.view-switcher-btn.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.view-switcher-btn.active[data-view=sde]{color:var(--accent-sde-text)}.view-switcher-btn.active[data-view=datascience]{color:var(--accent-ds-text)}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border:none;border-radius:var(--r-md);font-family:var(--font-body);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--t-fast);text-decoration:none}.btn-primary{background:var(--ink);color:var(--surface)}.btn-primary:hover{opacity:.85;transform:translateY(-1px);box-shadow:var(--shadow-md);color:var(--surface)}.btn-secondary{background:var(--surface-sunken);color:var(--ink);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--border-strong)}.btn-outline:hover{background:var(--surface-sunken);color:var(--ink)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{opacity:.9;color:#fff}.hero-section{padding:var(--sp-12) 0 var(--sp-16)}.hero-container{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-12);align-items:start;max-width:1080px;margin:0 auto;padding:0 var(--sp-6)}.hero-image img{width:180px;height:180px;border-radius:var(--r-xl);object-fit:cover;border:3px solid var(--border);box-shadow:var(--shadow-md)}.hero-content h1{margin-bottom:var(--sp-2)}.hero-content h2{font-family:var(--font-body);font-weight:400;font-size:1.15rem;color:var(--ink-muted);margin-bottom:var(--sp-6);letter-spacing:0}.hero-summary{font-size:1.0625rem;line-height:1.75;color:var(--ink-secondary);max-width:640px;margin-bottom:var(--sp-6)}.contact-bar{display:flex;flex-wrap:wrap;gap:var(--sp-5);margin-bottom:var(--sp-6);padding:var(--sp-4) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.contact-bar span{display:flex;align-items:center;gap:var(--sp-2);font-size:.9rem;color:var(--ink-secondary)}.contact-bar i{color:var(--ink-muted);font-size:.85rem}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.role-target-badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-full);font-size:.8rem;font-weight:600;letter-spacing:.02em;margin-bottom:var(--sp-4);background:var(--accent-sde-soft);color:var(--accent-sde-text);border:1px solid currentColor}.role-target-badge.ds{background:var(--accent-ds-soft);color:var(--accent-ds-text)}.section-header h2{margin-bottom:var(--sp-2)}.section-header p{color:var(--ink-muted);font-size:.95rem}.section-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);margin-bottom:var(--sp-6);display:flex;align-items:center;gap:var(--sp-2)}.section-label i{font-size:.75rem}.highlights-section{padding:var(--sp-12) 0;background:var(--surface-sunken)}.highlights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6);margin-top:var(--sp-6)}.highlight-card{text-align:center;padding:var(--sp-6) var(--sp-4);background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);transition:all var(--t-fast)}.highlight-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.highlight-card i{font-size:1.3rem;color:var(--accent);margin-bottom:var(--sp-3);display:block}.highlight-card h3{font-family:var(--font-body);font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:var(--sp-1)}.highlight-card p{font-size:.85rem;color:var(--ink-muted);margin:0}.education-section{padding:var(--sp-12) 0}.education-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:var(--sp-6);margin-top:var(--sp-6)}.edu-card{padding:var(--sp-6);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--border);transition:all var(--t-fast)}.edu-card:hover{border-color:var(--border-strong)}.edu-card h3{font-family:var(--font-body);font-size:1.05rem;font-weight:600;margin-bottom:var(--sp-1)}.edu-card h4{font-size:.9rem;color:var(--ink-muted);font-weight:400;margin-bottom:var(--sp-3)}.edu-meta{display:flex;gap:var(--sp-5);margin-bottom:var(--sp-3);font-size:.85rem;color:var(--ink-muted)}.gpa-badge{font-weight:700;color:var(--success);background:var(--success-soft);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full)}.edu-card p{font-size:.9rem;color:var(--ink-muted);margin:0}.experience-section{padding:var(--sp-12) 0}.experience-grid{display:flex;flex-direction:column;gap:var(--sp-6);margin-top:var(--sp-6)}.exp-card{padding:var(--sp-8);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--border);transition:all var(--t-fast);position:relative}.exp-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.exp-card.has-award{border-left:3px solid #f59e0b}.exp-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.exp-main-info{flex:1;min-width:200px}.exp-title{font-family:var(--font-body);font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:var(--sp-1)}.exp-company{font-size:.95rem;color:var(--accent-text);font-weight:500;margin-bottom:var(--sp-1)}.research-focus{font-size:.85rem;color:var(--ink-muted);display:flex;align-items:center;gap:var(--sp-2)}.exp-meta-info{display:flex;flex-direction:column;gap:var(--sp-1);text-align:right;flex-shrink:0}.exp-duration,.exp-location{font-size:.85rem;color:var(--ink-muted);display:flex;align-items:center;gap:var(--sp-2);justify-content:flex-end}.exp-duration i,.exp-location i{font-size:.75rem}.pub-count{font-size:.85rem;color:var(--ink-muted)}.exp-impact{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--warm-highlight);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:var(--sp-4)}.exp-achievements{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-5)}.achievement-item{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:.95rem;line-height:1.65;color:var(--ink-secondary)}.achievement-item i{color:var(--success);margin-top:5px;font-size:.7rem;flex-shrink:0}.exp-tech-stack{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.tech-badge{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);font-size:.8rem;font-weight:500;background:var(--surface-sunken);color:var(--ink-secondary);border:1px solid var(--border);transition:all var(--t-fast)}.tech-badge:hover{border-color:var(--accent);color:var(--accent-text)}.award-ribbon{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--warm-highlight);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);font-size:.8rem;font-weight:600;color:#b45309;margin-bottom:var(--sp-4)}.award-ribbon i{color:#f59e0b}.qualifications-section{padding:var(--sp-12) 0}.qual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-4);margin-top:var(--sp-6)}.qual-card{display:flex;gap:var(--sp-4);padding:var(--sp-5);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--border);transition:all var(--t-fast)}.qual-card:hover{border-color:var(--accent-sde)}.qual-icon{color:var(--success);font-size:1.1rem;flex-shrink:0;margin-top:2px}.qual-content h4{font-size:.95rem;font-weight:700;color:var(--ink);margin-bottom:var(--sp-1)}.qual-content p{font-size:.88rem;color:var(--ink-muted);margin:0;line-height:1.5}.competency-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-5);margin-top:var(--sp-6)}.competency-card{padding:var(--sp-6);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--border)}.competency-card h3{font-family:var(--font-body);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-2)}.competency-card h3 i{color:var(--accent)}.competency-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.tag{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);font-size:.8rem;font-weight:500;background:var(--surface-sunken);color:var(--ink-secondary);border:1px solid var(--border)}.skills-section-compact{padding:var(--sp-12) 0}.skills-table{margin-top:var(--sp-6);border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden}.skill-row{display:flex;padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--border);gap:var(--sp-6);align-items:baseline}.skill-row:last-child{border-bottom:none}.skill-row:nth-child(2n){background:var(--surface-sunken)}.skill-label{font-weight:700;color:var(--ink);min-width:160px;flex-shrink:0;font-size:.9rem}.skill-values{color:var(--ink-secondary);font-size:.92rem;line-height:1.65}.projects-section{padding:var(--sp-12) 0}.sde-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--sp-6);margin-top:var(--sp-6)}.project-card-compact{padding:var(--sp-6);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--border);transition:all var(--t-fast)}.project-card-compact:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.project-card-compact h3{font-family:var(--font-body);font-size:1.05rem;font-weight:700;margin-bottom:var(--sp-3)}.project-card-compact p{font-size:.92rem;color:var(--ink-secondary);line-height:1.65;margin-bottom:var(--sp-4)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.achievements-section{padding:var(--sp-12) 0}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-4);margin-top:var(--sp-6)}.achievement-card{display:flex;gap:var(--sp-4);padding:var(--sp-5);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--border)}.achievement-card .achievement-icon{color:#f59e0b;font-size:1.1rem;flex-shrink:0}.achievement-card h4{font-size:.92rem;font-weight:700;margin-bottom:var(--sp-1)}.achievement-card p{font-size:.85rem;color:var(--ink-muted);margin:0;line-height:1.5}.publications-compact-section{padding:var(--sp-12) 0}.publications-list{margin-top:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4)}.pub-item{padding:var(--sp-4) var(--sp-6);border-left:3px solid var(--accent-ds);background:var(--surface-raised);border-radius:0 var(--r-md) var(--r-md) 0}.pub-item h4{font-size:.95rem;font-weight:600;margin-bottom:var(--sp-1)}.pub-meta{font-size:.85rem;color:var(--ink-muted);margin:0}.cta-section{padding:var(--sp-16) 0;text-align:center;background:var(--surface-sunken)}.cta-content h2{margin-bottom:var(--sp-4)}.cta-content p{color:var(--ink-muted);margin-bottom:var(--sp-6);font-size:1.05rem}.cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-3)}.skills-section{padding:var(--sp-12) 0}.skills-section h2{text-align:center}.skills-summary-section{padding:var(--sp-8) 0}.skills-summary-grid{display:flex;justify-content:center;gap:var(--sp-8);flex-wrap:wrap}.summary-card{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--border)}.summary-icon{font-size:1.3rem;color:var(--accent)}.summary-icon.expert{color:var(--success)}.summary-icon.advanced{color:var(--accent)}.summary-content h3{font-family:var(--font-body);font-size:1.5rem;font-weight:700;margin:0}.summary-content p{font-size:.85rem;margin:0;color:var(--ink-muted)}.skill-category{margin-bottom:var(--sp-10)}.skill-category h3{font-family:var(--font-body);font-size:1.1rem;font-weight:700;border-bottom:2px solid var(--border);padding-bottom:var(--sp-3);margin-bottom:var(--sp-5);display:flex;align-items:center;gap:var(--sp-2)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-4)}.skill-card{padding:var(--sp-5);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--border);transition:all var(--t-fast);display:flex;gap:var(--sp-4);align-items:flex-start;position:relative;overflow:hidden}.skill-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--border);transition:background var(--t-fast)}.skill-card.expert:before{background:var(--success)}.skill-card.advanced:before{background:var(--accent)}.skill-card.intermediate:before{background:#f59e0b}.skill-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.skill-icon{font-size:1.5rem;flex-shrink:0;width:40px;text-align:center}.skill-content h4{font-size:.95rem;margin-bottom:var(--sp-1);text-align:left}.skill-content p{font-size:.82rem;margin:0;text-align:left;color:var(--ink-muted)}.skill-level{display:flex;margin-bottom:var(--sp-2)}.level-badge{padding:2px var(--sp-2);border-radius:var(--r-full);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.level-badge.expert{background:var(--success-soft);color:var(--success)}.level-badge.advanced{background:var(--accent-soft);color:var(--accent-text)}.level-badge.intermediate{background:var(--warm-highlight);color:#b45309}.research-skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-4);margin-top:var(--sp-6)}.research-skill-card{padding:var(--sp-5);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--border);display:flex;gap:var(--sp-4);align-items:flex-start}.contact-section{padding:var(--sp-12) 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-12);margin-top:var(--sp-8)}.contact-info h2,.contact-form h2{font-family:var(--font-display);margin-bottom:var(--sp-6)}.contact-item{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5)}.contact-item i{font-size:1.2rem;color:var(--accent);width:32px;text-align:center}.contact-item h3{font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:2px}.contact-item p{font-size:.92rem;color:var(--ink-secondary);margin:0}.social-links{display:flex;gap:var(--sp-3);margin-top:var(--sp-6)}.social-link{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--surface-sunken);color:var(--ink-muted);border-radius:var(--r-full);border:1px solid var(--border);transition:all var(--t-fast);font-size:1rem}.social-link:hover{background:var(--ink);color:var(--surface);border-color:var(--ink)}.contact-form{padding:var(--sp-8);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--border)}.form-group{margin-bottom:var(--sp-4)}.form-group input,.form-group textarea{width:100%;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:.95rem;transition:all var(--t-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-group textarea{resize:vertical;min-height:120px}.page-header{padding:var(--sp-8) 0 var(--sp-4);text-align:center}.page-header h1{margin-bottom:var(--sp-3)}.page-header p{color:var(--ink-muted);font-size:1.05rem}.footer{background:var(--surface-sunken);border-top:1px solid var(--border);padding:var(--sp-8) 0 var(--sp-4);margin-top:var(--sp-8)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-6);flex-wrap:wrap;margin-bottom:var(--sp-5)}.footer-name{font-weight:700;font-size:.95rem;color:var(--ink);margin:0}.footer-sub{font-size:.82rem;color:var(--ink-muted);margin:0}.footer-links{display:flex;gap:var(--sp-4)}.footer-links a{color:var(--ink-muted);font-size:.85rem;font-weight:500;text-decoration:none}.footer-links a:hover{color:var(--ink)}.footer-social{display:flex;gap:var(--sp-3)}.footer-social a{color:var(--ink-muted);font-size:1rem;transition:color var(--t-fast)}.footer-social a:hover{color:var(--ink)}.footer-bottom{border-top:1px solid var(--border);padding-top:var(--sp-4);text-align:center}.footer-bottom p{font-size:.78rem;color:var(--ink-muted);margin:0}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--ink-muted)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--sp-4)}@keyframes spin{to{transform:rotate(360deg)}}.modal-container{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:all var(--t-normal)}.modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-8);max-width:560px;width:90%;max-height:80vh;overflow-y:auto;position:relative}.close{position:absolute;top:var(--sp-4);right:var(--sp-4);font-size:1.3rem;cursor:pointer;color:var(--ink-muted)}.close:hover{color:var(--ink)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s var(--ease)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--surface-sunken)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-muted)}@media(max-width:1024px){.hero-container{grid-template-columns:1fr;text-align:center;gap:var(--sp-6)}.hero-image img{width:150px;height:150px}.hero-actions,.contact-bar{justify-content:center}.contact-grid{grid-template-columns:1fr;gap:var(--sp-8)}.exp-card-header{flex-direction:column}.exp-meta-info{flex-direction:row;gap:var(--sp-4);text-align:left}.exp-duration,.exp-location{justify-content:flex-start}}@media(max-width:768px){.nav-menu{display:none}.menu-toggle{display:flex}.highlights-grid{grid-template-columns:repeat(2,1fr)}.qual-grid,.education-grid,.sde-projects-grid,.competency-grid{grid-template-columns:1fr}.view-switcher-inner{flex-direction:column;width:100%;max-width:280px}.view-switcher-btn{justify-content:center}.skill-row{flex-direction:column;gap:var(--sp-1)}.skill-label{min-width:auto}.footer-inner{flex-direction:column;text-align:center}.footer-links,.footer-social{justify-content:center}.hero-actions{flex-direction:column;align-items:center}.achievements-grid{grid-template-columns:1fr}.contact-bar{flex-direction:column;align-items:center}section,.section-block{padding:var(--sp-10) 0}}@media(min-width:769px){.mobile-menu,.menu-toggle{display:none!important}}@media(max-width:480px){.container{padding:0 var(--sp-4)}.hero-image img{width:120px;height:120px}.highlights-grid,.skills-grid{grid-template-columns:1fr}.btn{width:100%;justify-content:center}section,.section-block{padding:var(--sp-8) 0}}@media print{.view-switcher,.navbar,.footer,.cta-section{display:none}body{font-size:11pt}section{page-break-inside:avoid}.exp-card{box-shadow:none;border:1px solid #ddd}}:root{--accent: #4f46e5;--accent-text: #4338ca;--accent-soft: #eef2ff;--page: #fbfbfa}body{background:var(--page);font-size:1.0625rem}.navbar{background:#fbfbfad9;backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav-link.active,.nav-link:hover{color:var(--ink);background:transparent}.nav-link.active{box-shadow:inset 0 -2px 0 var(--accent);border-radius:0}.view-switcher{background:transparent;max-width:1080px;margin:0 auto;padding:var(--sp-8) var(--sp-6) 0}.view-switcher-inner{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.view-switcher-btn.active,.view-switcher-btn.active[data-view=sde],.view-switcher-btn.active[data-view=datascience]{background:var(--ink);color:#fff}.hero-section{background:transparent;border:none;padding:var(--sp-12) 0 var(--sp-10)}.hero-content h1{color:var(--ink);font-size:clamp(2.6rem,5.5vw,4rem);letter-spacing:-.02em;line-height:1.05;margin-bottom:var(--sp-2)}.hero-content h2{font-family:var(--font-body);font-weight:600;font-size:clamp(1.1rem,2vw,1.3rem);color:var(--accent-text);-webkit-text-fill-color:currentColor;margin-bottom:var(--sp-5)}.hero-summary{color:var(--ink-secondary);font-size:1.1rem}.hero-image img{width:168px;height:168px;border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:var(--r-lg)}.contact-bar{border-top-color:var(--border);border-bottom-color:var(--border)}.contact-bar span{color:var(--ink-secondary)}.contact-bar i{color:var(--accent)}.role-target-badge{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}.role-target-badge.ds{background:var(--accent-soft);color:var(--accent-text)}.hero-actions .btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.hero-actions .btn-primary:hover{background:var(--accent-text);color:#fff;transform:translateY(-1px);opacity:1}.hero-actions .btn-secondary,.hero-actions .btn-outline{background:#fff;color:var(--ink);border:1px solid var(--border-strong)}.hero-actions .btn-secondary:hover,.hero-actions .btn-outline:hover{background:var(--surface-sunken);color:var(--ink)}.highlights-section{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:var(--sp-10) 0}.highlight-card{border:none;background:transparent;box-shadow:none;padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--border)}.highlights-grid>.highlight-card:last-child{border-right:none}.highlight-card:hover{transform:none;box-shadow:none}.highlight-card i{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto var(--sp-3);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);font-size:1.1rem}.highlight-card h3{font-size:1.15rem;letter-spacing:-.01em}.highlight-card p{font-size:.82rem}.section-label{color:var(--ink-muted)}.section-label:before{content:"";width:18px;height:2px;border-radius:2px;background:var(--accent);display:inline-block}.exp-card,.edu-card,.qual-card,.project-card-compact,.competency-card,.achievement-card,.research-skill-card,.skill-card{background:#fff;box-shadow:none}.exp-card:hover,.project-card-compact:hover,.competency-card:hover,.edu-card:hover{transform:none;box-shadow:var(--shadow-sm);border-color:var(--border-strong)}.exp-impact{background:var(--accent-soft);color:var(--accent-text)}.exp-impact i{color:var(--accent)}.gpa-badge{color:var(--accent-text);background:var(--accent-soft)}.achievements-section{background:var(--surface-sunken)}.achievement-card{background:#fff;border-left:3px solid var(--accent)}.cta-section{background:#fff;border-top:1px solid var(--border)}.cta-content h2{color:var(--ink)}.cta-content p{color:var(--ink-muted)}.cta-section .btn-primary,.cta-section .btn-accent{background:var(--accent);color:#fff}.cta-section .btn-primary:hover,.cta-section .btn-accent:hover{background:var(--accent-text);color:#fff;opacity:1}.cta-section .btn-secondary,.cta-section .btn-outline{background:#fff;color:var(--ink);border:1px solid var(--border-strong)}.footer{background:#fff;border-top:1px solid var(--border)}.footer-name{color:var(--ink)}.footer-sub,.footer-links a,.footer-social a,.footer-bottom p{color:var(--ink-muted)}.footer-links a:hover,.footer-social a:hover{color:var(--ink)}section,.section-block,.education-section,.experience-section,.qualifications-section,.projects-section,.skills-section-compact,.publications-compact-section,.achievements-section,.highlights-section,.cta-section{padding:var(--sp-6) 0}.hero-section{padding:var(--sp-6) 0 var(--sp-5)}h2,.section-label{margin-bottom:var(--sp-3)}.hero-container{gap:var(--sp-8)}.hero-image img{width:132px;height:132px}.hero-content h1{font-size:clamp(2.2rem,4.5vw,3.1rem)}.hero-content h2{font-size:1.1rem;margin-bottom:var(--sp-3)}.hero-summary{font-size:1rem;margin-bottom:var(--sp-3)}.contact-bar{padding:var(--sp-2) 0;margin-bottom:var(--sp-3)}.experience-grid,.education-grid,.sde-projects-grid,.qual-grid,.competency-grid,.achievements-grid{gap:var(--sp-3);margin-top:var(--sp-4)}.exp-card{padding:var(--sp-4) var(--sp-5)}.exp-card-header{margin-bottom:var(--sp-2)}.exp-achievements{gap:var(--sp-1);margin-bottom:var(--sp-3)}.exp-impact{margin-bottom:var(--sp-3);padding:var(--sp-1) var(--sp-3)}.edu-card,.qual-card,.competency-card,.project-card-compact,.achievement-card{padding:var(--sp-4)}.competency-card h3{margin-bottom:var(--sp-3)}.highlights-grid{margin-top:0;gap:var(--sp-4)}.highlight-card{padding:var(--sp-2) var(--sp-3)}.highlight-card i{width:38px;height:38px;margin-bottom:var(--sp-2);font-size:1rem}section,.section-block,.education-section,.experience-section,.qualifications-section,.projects-section,.skills-section-compact,.publications-compact-section,.achievements-section,.highlights-section,.cta-section{padding:var(--sp-5) 0}.hero-section{padding:var(--sp-5) 0 var(--sp-4)}.view-switcher{padding:var(--sp-4) var(--sp-6) 0}.experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}.exp-card{padding:var(--sp-4)}.exp-achievements{gap:var(--sp-1);margin-bottom:var(--sp-2)}@media(max-width:768px){.experience-grid{grid-template-columns:1fr}}:root{--accent:#2563eb;--accent-text:#1d4ed8;--accent-soft:#dbeafe;--page:#fbfcfe}:root{--hero-ink:#eaf0fb;--hero-accent:#5eb1ff}.hero-section{background:radial-gradient(900px 380px at 12% -20%,rgba(59,130,246,.28) 0%,transparent 60%),radial-gradient(700px 300px at 95% 0%,rgba(37,99,235,.2) 0%,transparent 55%),linear-gradient(140deg,#0a1324,#0f1d38 55%,#0b1426);color:var(--hero-ink);padding:var(--sp-12) 0 var(--sp-12);margin-bottom:var(--sp-8);border-radius:0 0 30px 30px;border:none;box-shadow:0 24px 60px -28px #0810218c;position:relative;overflow:hidden}.hero-section:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(700px 300px at 70% 10%,#000 0%,transparent 80%);mask-image:radial-gradient(700px 300px at 70% 10%,#000 0%,transparent 80%)}.hero-section .hero-container{position:relative;z-index:1}.hero-section .hero-content h1{color:#fff}.hero-section .hero-content h2{color:var(--hero-accent);-webkit-text-fill-color:currentColor}.hero-section .hero-summary{color:#c2cde0}.hero-section .contact-bar{border-top-color:#ffffff24;border-bottom-color:#ffffff24}.hero-section .contact-bar span{color:#cdd7e8}.hero-section .contact-bar i{color:var(--hero-accent)}.hero-section .hero-image img{border:3px solid rgba(255,255,255,.16);box-shadow:0 18px 48px #00000073;border-radius:18px}.hero-section .hero-actions .btn-primary{background:#2f74ff;color:#fff;border:1px solid #2f74ff;box-shadow:0 8px 22px -8px #2f74ffcc}.hero-section .hero-actions .btn-primary:hover{background:#1c63f0;border-color:#1c63f0}.hero-section .hero-actions .btn-secondary{background:#ffffff12;color:#eaf0fb;border:1px solid rgba(255,255,255,.22)}.hero-section .hero-actions .btn-secondary:hover{background:#ffffff24;color:#fff;border-color:#fff6}.highlights-section{background:transparent;border:none;padding:0 0 var(--sp-6)}.highlights-section .container{max-width:1080px}.highlights-grid{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden}.highlight-card{border-right:1px solid var(--border)}.view-switcher{padding:var(--sp-5) var(--sp-6) var(--sp-4)}.view-switcher{display:none}.section-label{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--accent-text);display:flex;align-items:center;gap:.6rem}.section-label:before{background:var(--accent)}.section-block h2,.experience-section h2,.container>h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.7rem,3vw,2.2rem);letter-spacing:-.01em;color:var(--ink);margin:.15rem 0 var(--sp-5)}.exp-card,.edu-card,.competency-card,.achievement-card{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 2px #1018280a;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}.exp-card:hover,.edu-card:hover,.competency-card:hover,.achievement-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -18px #10182852;border-color:#c7d2e6}.exp-card{position:relative;padding:var(--sp-5) var(--sp-5) var(--sp-4);overflow:hidden}.exp-card:before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--accent),#7db0ff);opacity:0;transition:opacity .18s var(--ease)}.exp-card:hover:before{opacity:1}.exp-title{font-size:1.12rem;font-weight:700}.exp-company{color:var(--accent-text);font-weight:600}.exp-meta-info{text-align:right}.exp-duration,.exp-location{display:block;font-size:.78rem;color:var(--ink-muted)}.exp-impact{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent-soft);color:var(--accent-text);border-radius:8px;font-size:.85rem;font-weight:500;padding:.4rem .7rem}.tech-badge,.tag{background:var(--surface-sunken);border:1px solid var(--border);border-radius:999px;padding:.24rem .62rem;font-size:.73rem;color:var(--ink-secondary);font-weight:500}.tech-badge:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.edu-card{padding:var(--sp-5)}.gpa-badge{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.competency-card{padding:var(--sp-5)}.competency-card h3{display:flex;align-items:center;gap:.55rem;font-size:1rem;font-weight:700;margin-bottom:var(--sp-3)}.competency-card h3 i{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:.85rem}.achievement-card{border-left:3px solid var(--accent);padding:var(--sp-4) var(--sp-5);display:flex;gap:.7rem;align-items:flex-start}.achievement-card .achievement-icon{color:#f59e0b}.achievement-card h4 a{color:var(--ink);text-decoration:none}.achievement-card h4 a:hover{color:var(--accent-text)}.highlight-card i{background:var(--accent-soft);color:var(--accent)}.cta-section .btn-primary{background:var(--accent);color:#fff}.cta-section .btn-primary:hover{background:var(--accent-text);color:#fff}.footer{background:linear-gradient(160deg,#0a1324,#0e1b34);border-top:none;color:#c2cde0;border-radius:30px 30px 0 0;margin-top:var(--sp-10);padding:var(--sp-10) 0 var(--sp-6)}.footer-name{color:#fff}.footer-sub{color:#9fb0cb}.footer-links a,.footer-social a{color:#aebbd2}.footer-links a:hover,.footer-social a:hover{color:#fff}.footer-social a{border:1px solid rgba(255,255,255,.18);border-radius:999px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center}.footer-social a:hover{background:#ffffff1a;border-color:#fff6}.footer-bottom{border-top-color:#ffffff1f}.footer-bottom p{color:#8294b3}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-5)}.blog-card{display:flex;flex-direction:column;gap:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-6);text-decoration:none;color:var(--ink);transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.blog-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.blog-card h3{font-size:1.15rem;line-height:1.35}.blog-card .blog-card-excerpt{color:var(--ink-secondary);font-size:.925rem;line-height:1.55;flex:1}.blog-card-meta{display:flex;gap:var(--sp-4);color:var(--ink-muted);font-size:.8rem}.blog-card-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.blog-post{max-width:760px;margin:0 auto;padding:var(--sp-10) var(--sp-6) var(--sp-16)}.back-to-blogs{display:inline-flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-8);color:var(--accent-text);text-decoration:none;font-weight:500;font-size:.925rem}.back-to-blogs:hover{text-decoration:underline}.blog-header{margin-bottom:var(--sp-10);padding-bottom:var(--sp-6);border-bottom:1px solid var(--border)}.blog-header h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.75rem);line-height:1.15;margin-bottom:var(--sp-4)}.blog-meta{display:flex;flex-wrap:wrap;gap:var(--sp-5);color:var(--ink-muted);font-size:.875rem;margin-bottom:var(--sp-4)}.blog-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.blog-content{font-size:1.05rem;line-height:1.75;color:var(--ink-secondary)}.blog-content h2{font-family:var(--font-display);color:var(--ink);font-size:1.65rem;margin:var(--sp-10) 0 var(--sp-4)}.blog-content h3{color:var(--ink);font-size:1.15rem;margin:var(--sp-8) 0 var(--sp-3)}.blog-content p{margin-bottom:var(--sp-4)}.blog-content ul,.blog-content ol{margin:0 0 var(--sp-4);padding-left:var(--sp-6)}.blog-content li{margin-bottom:var(--sp-2)}.blog-content a{color:var(--accent-text)}.blog-content blockquote{background:var(--surface-sunken);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);margin:var(--sp-6) 0}.blog-content blockquote p:last-child{margin-bottom:0}.blog-content pre{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-5);margin:var(--sp-6) 0;overflow-x:auto;font-size:.875rem;line-height:1.6}.blog-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.blog-content :not(pre)>code{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-sm);padding:.1em .35em;font-size:.875em}
