:root{--bg:#f7f9fd;--bg-alt:#eaf0f9;--card:#ffffff;--text:#101b33;--muted:#51617f;--accent:#1b3a8f;--accent-2:#3f6fd8;--accent-soft:#e2eafc;--border:#d6dfef;--shadow:0 1px 3px rgba(16,42,102,.08),0 4px 14px rgba(16,42,102,.07);--chip-bg:#e8eef9;--glow:rgba(63,111,216,.45)}html[data-theme=dark]{--bg:#070c1c;--bg-alt:#0c1329;--card:#111a33;--text:#dfe7f7;--muted:#8fa0c2;--accent:#6f9bff;--accent-2:#9db9ff;--accent-soft:#182a55;--border:#20305a;--shadow:0 1px 3px rgba(0,0,0,.5),0 4px 16px rgba(0,0,0,.4);--chip-bg:#15224a;--glow:rgba(111,155,255,.5)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;transition:background .3s,color .3s;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:"Source Serif 4",Georgia,serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1000px;margin:0 auto;padding:0 1.25rem}section{padding:4rem 0}.section-title{font-size:1.75rem;margin-bottom:2rem;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;left:0;bottom:-6px;width:48px;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:2px}nav{position:fixed;top:0;left:0;right:0;z-index:100;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);transform:translateZ(0)}.nav-inner{max-width:1000px;margin:0 auto;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.55rem;font-family:"Source Serif 4",serif;font-weight:700;font-size:1.1rem;color:var(--text)}.brand:hover{text-decoration:none;color:var(--accent)}.brand-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;flex-shrink:0;background:var(--accent);color:#fff;font-family:"Source Serif 4",serif;font-weight:700;font-size:.9rem;letter-spacing:.02em}.nav-links{display:flex;align-items:center;gap:1.4rem;list-style:none}.nav-links a{color:var(--muted);font-size:.92rem;font-weight:500}.nav-links a:hover{color:var(--accent);text-decoration:none}#theme-toggle{background:none;border:1px solid var(--border);color:var(--text);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:transform .2s,color .2s,border-color .2s}#theme-toggle:hover{transform:rotate(30deg);border-color:var(--accent);color:var(--accent)}#hamburger{display:none;background:none;border:none;color:var(--text);font-size:1.3rem;cursor:pointer;padding:.25rem .5rem}#about{padding-top:8rem}.hero{display:grid;grid-template-columns:300px 1fr;gap:3.5rem;align-items:start}.profile-card{text-align:center}.avatar{width:190px;height:190px;border-radius:50%;object-fit:cover;border:4px solid var(--card);box-shadow:var(--shadow);margin-bottom:1.1rem;background:var(--bg-alt)}.profile-card h1{font-size:1.45rem;line-height:1.3}.pronouns{color:var(--muted);font-size:.9rem}.role{margin-top:.5rem;font-weight:500}.advisor{color:var(--muted);font-size:.92rem;margin-top:.15rem}.socials{display:flex;justify-content:center;gap:.75rem;margin-top:1.1rem}.socials a{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:1.05rem;transition:color .2s,background .2s,border-color .2s,transform .2s}.socials a:hover{color:#fff;background:var(--accent);border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.about-text p{margin-bottom:1rem}.btn{display:inline-block;margin-top:.6rem;padding:.65rem 1.4rem;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:opacity .2s}.btn:hover{opacity:.88;text-decoration:none}.interests{margin-top:2rem}.interests h3{font-size:1.15rem;margin-bottom:.9rem}.chips{display:flex;flex-wrap:wrap;gap:.6rem}.chip{padding:.4rem .95rem;border-radius:999px;font-size:.88rem;font-weight:500;background:var(--chip-bg);border:1px solid var(--border);color:var(--text);transition:background .2s,border-color .2s,color .2s;cursor:default}.chip:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chip-scene{cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:.45rem}.chip-scene i{font-size:.78rem;color:var(--accent)}.chip-scene.active,.chip-scene.active:hover{background:var(--accent);border-color:var(--accent);color:#0b0f1f}.chip-scene.active i{color:inherit}.alt-bg{background:var(--bg-alt)}.year-group{display:grid;grid-template-columns:90px 1fr;gap:1.5rem;margin-bottom:2rem}.year-label{font-family:"Source Serif 4",serif;font-size:1.5rem;font-weight:700;color:var(--accent)}.pub-item,.news-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:.9rem;box-shadow:var(--shadow)}.pub-item .title{font-weight:600}.pub-item .venue{color:var(--muted);font-size:.9rem;font-style:italic}.pub-item .authors{color:var(--muted);font-size:.9rem}.news-item .date{color:var(--accent);font-weight:600;font-size:.85rem;margin-right:.5rem}.news-media{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.media-link{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .85rem;border-radius:999px;font-size:.83rem;font-weight:500;font-family:inherit;cursor:pointer;background:var(--accent-soft);border:1px solid var(--border);color:var(--accent);transition:background .2s,border-color .2s,color .2s}.media-link:hover{background:var(--accent);border-color:var(--accent);color:#fff}.media-link i{font-size:.8rem}.award-item{display:grid;grid-template-columns:90px 1fr;gap:1.5rem;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.4rem;margin-bottom:1rem;box-shadow:var(--shadow)}.award-date{color:var(--muted);font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;padding-top:.15rem}.award-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--accent-soft);border:1px solid var(--border);color:var(--accent)}.award-badge i{font-size:.72rem}.award-item h3{font-size:1.15rem;margin:.5rem 0 .3rem;line-height:1.4}.award-item h3 a{color:var(--text)}.award-item h3 a:hover{color:var(--accent);text-decoration:none}.award-item h3 i{font-size:.7rem;color:var(--muted);vertical-align:middle}.award-item p{color:var(--muted);font-size:.93rem}html[data-scene]{--bg:#03050d;--bg-alt:transparent;--card:rgba(12,18,40,.8);--text:#e6ecfa;--muted:#a9b6d3;--accent:#8fb2ff;--accent-2:#c3d4ff;--accent-soft:rgba(40,60,120,.5);--border:rgba(130,160,230,.22);--shadow:0 4px 20px rgba(0,0,0,.45);--chip-bg:rgba(20,30,64,.75);--glow:rgba(143,178,255,.5);background:#02030a}html[data-scene=blackhole]{--card:rgba(14,8,28,.8);--accent:#c49bff;--accent-2:#e3d0ff;--accent-soft:rgba(90,50,160,.45);--border:rgba(190,150,255,.22);--chip-bg:rgba(30,16,56,.7);--glow:rgba(180,130,255,.5);background:#05020d}html[data-scene] body{background:transparent}html[data-scene] main{text-shadow:0 1px 10px rgba(0,0,0,.7)}html[data-scene] .tl-dot{border-color:#03050d}html[data-scene] .btn{color:#0b0f1f}html[data-scene] .btn,html[data-scene] .chip-scene.active{text-shadow:none}.cosmic-bg{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;animation:cosmic-in .8s ease both}@keyframes cosmic-in{0%{opacity:0}to{opacity:1}}.scene-pill{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:150;display:flex;align-items:center;gap:.6rem;white-space:nowrap;padding:.4rem .45rem .4rem 1rem;border-radius:999px;font-size:.85rem;background:#060916d9;border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow);animation:cosmic-in .4s ease both}.scene-pill>i{color:var(--accent)}.scene-hint{color:var(--muted)}@media (hover: none),(max-width:600px){.scene-hint{display:none}}.scene-pill button{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;padding:.3rem .8rem;border-radius:999px;border:1px solid var(--border);background:var(--accent-soft);color:var(--text);font-family:inherit;font-size:.8rem;font-weight:600}.scene-pill button:hover{background:var(--accent);color:#0b0f1f}@media (prefers-reduced-motion: reduce){.cosmic-bg,.scene-pill{animation:none}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#040814d1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:2rem}.lightbox-content{max-width:min(1000px,92vw);max-height:86vh}.lightbox-content img,.lightbox-content video{max-width:100%;max-height:86vh;display:block;border-radius:10px;box-shadow:0 10px 40px #0009}.lightbox-close{position:absolute;top:1rem;right:1.25rem;background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;opacity:.8;transition:opacity .2s}.lightbox-close:hover{opacity:1}.timeline{position:relative;margin-top:1rem}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--border);transform:translate(-50%)}.tl-item{position:relative;width:50%;padding:0 2.5rem 2.5rem 0}.tl-item:nth-child(2n){left:50%;padding:0 0 2.5rem 2.5rem}.tl-dot{position:absolute;top:6px;right:-8px;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));border:3px solid var(--bg);z-index:2}.tl-item:nth-child(2n) .tl-dot{right:auto;left:-8px}.alt-bg .tl-dot{border-color:var(--bg-alt)}.tl-item.current .tl-dot{animation:blink 1.4s ease-in-out infinite}@keyframes blink{0%,to{box-shadow:0 0 0 0 var(--glow)}50%{box-shadow:0 0 0 10px transparent}}@media (prefers-reduced-motion: reduce){.tl-item.current .tl-dot{animation:none}}.tl-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.4rem;box-shadow:var(--shadow)}.tl-card h3{font-size:1.15rem}.tl-card .org{color:var(--accent);font-weight:500;font-size:.92rem}.tl-card .dates{color:var(--muted);font-size:.85rem;margin-bottom:.5rem}.tl-card ul{padding-left:1.1rem;color:var(--muted);font-size:.93rem}.tl-card li{margin-bottom:.25rem}.edu-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.edu-card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);display:flex;overflow:hidden;align-items:stretch}.edu-main{padding:1.25rem 1.5rem;flex:1;min-width:0}.edu-main h3{font-size:1.15rem}.edu-main .school{color:var(--accent);font-weight:500;font-size:.95rem;margin-bottom:.4rem}.edu-main p{color:var(--muted);font-size:.92rem}.edu-side{background:var(--accent-soft);flex:0 0 190px;padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-left:1px solid var(--border)}.edu-side .gpa{font-family:"Source Serif 4",serif;font-weight:700;font-size:1.2rem;color:var(--accent);line-height:1.35}.edu-side .gpa-val{display:block;white-space:nowrap}.edu-side .yrs{font-size:.85rem;color:var(--muted);margin-top:.4rem;white-space:nowrap}.contact-info p{color:var(--muted);font-size:.95rem;margin-bottom:.5rem}.contact-info i{color:var(--accent);width:22px}footer{border-top:1px solid var(--border);padding:1.5rem 0;text-align:center;color:var(--muted);font-size:.85rem}@media (max-width:960px){.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--border);padding:.5rem 0}.nav-links.open{display:flex}.nav-links li{width:100%}.nav-links a{display:block;padding:.8rem 1.5rem}#hamburger{display:block}}@media (max-width:820px){.hero{grid-template-columns:1fr;gap:2rem}.profile-card{max-width:340px;margin:0 auto}.year-group,.award-item{grid-template-columns:1fr;gap:.5rem}.timeline:before{left:8px}.tl-item,.tl-item:nth-child(2n){width:100%;left:0;padding:0 0 2rem 2rem}.tl-dot,.tl-item:nth-child(2n) .tl-dot{left:0;right:auto}.edu-card{flex-direction:column}.edu-side{flex:none;border-left:none;border-top:1px solid var(--border);flex-direction:row;gap:.9rem;padding:.85rem 1.25rem;justify-content:flex-start}.edu-side .gpa{font-size:1.05rem}.edu-side .gpa-val{display:inline}.edu-side .yrs{margin-top:0}section{padding:3rem 0}#about{padding-top:6.5rem}}
