:root{--cream: #fbf7ee;--ink: #2e2a24;--muted: #7a7266;--accent: #5f7d3a;--card-bg: rgba(251, 247, 238, .82);--ground: 20vh}*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);line-height:1.6}#backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:url(/bg-plains.webp) center 30% / cover no-repeat}#backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#fbf7ee1f,#fbf7ee05 40%,#fbf7ee1a)}.site{position:relative;z-index:1;height:100vh;max-width:72rem;margin:0 auto;padding:0 6vw var(--ground);display:flex;flex-direction:column}.nav{flex:0 0 auto;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 -6vw;padding:.9rem 6vw;background:#fbf7eeb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(46,42,36,.08)}main{flex:1 1 auto;min-height:0;overflow-y:auto;padding-top:2.6rem}main::-webkit-scrollbar{width:8px}main::-webkit-scrollbar-thumb{background:#2e2a242e;border-radius:4px}.brand{font-family:Iowan Old Style,Georgia,Songti SC,serif;font-size:1.15rem;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:-.01em}.nav-links{display:flex;flex-wrap:wrap;gap:.4rem 1.15rem;justify-content:flex-end}.nav-links a{font-size:.9rem;color:var(--muted);text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.nav-links a:hover,.nav-links a.active{color:var(--accent);border-color:var(--accent)}.nav-cv{color:var(--ink)}.page{display:none}.page.active{display:block;animation:page-in .35s ease both}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.section-title{font-family:Iowan Old Style,Georgia,Songti SC,serif;font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--ink);text-shadow:0 1px 10px rgba(251,247,238,.6)}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(46,42,36,.08);border-radius:16px;padding:1.8rem 2rem;box-shadow:0 1px 2px #2e2a240a,0 18px 40px -22px #2e2a2459}.card.hero{padding:2.4rem;display:flex;gap:2.2rem;align-items:flex-start}.portrait{width:220px;height:293px;object-fit:cover;border-radius:16px;flex:0 0 auto;border:3px solid rgba(251,247,238,.9);box-shadow:0 10px 30px -12px #2e2a2480}.hero-body{flex:1 1 auto;min-width:0}.eyebrow{margin:0 0 1rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}.hero h1{margin:0 0 .2rem;font-family:Iowan Old Style,Georgia,Songti SC,serif;font-size:2.3rem;font-weight:600;letter-spacing:-.01em}.subtitle{margin:0 0 1.2rem;color:var(--muted);font-size:1rem}.lead{margin:0 0 1.3rem;font-size:1rem;line-height:1.7}.hero-top{display:flex;justify-content:space-between;align-items:center;gap:1.2rem 2rem;flex-wrap:wrap;margin:0 0 1.7rem}.hero-top h1{margin:0}.edu-badges{display:flex;flex-direction:column;gap:.55rem}.edu-badge{display:flex;align-items:center;gap:.65rem}.edu-badge img{width:40px;height:40px;object-fit:contain;flex:0 0 auto}.edu-text{display:flex;flex-direction:column;line-height:1.25}.edu-school{font-size:.9rem;font-weight:600;color:var(--ink)}.edu-degree{font-size:.78rem;color:var(--muted)}.placeholder{margin:0;color:var(--muted)}.muted{color:var(--muted)}.contact{margin:0 0 1.3rem;font-size:.92rem}.contact a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}.contact .dot{color:var(--muted);margin:0 .5rem}.email-img{height:.95em;width:auto;vertical-align:middle}.interests{margin:0;font-size:.9rem;color:var(--muted)}.interests strong{display:block;color:var(--ink);margin-bottom:.5rem}.interest-list{display:block;line-height:1.95;letter-spacing:.01em}.card+.card{margin-top:1.1rem}.entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem 1.4rem;flex-wrap:wrap}.entry-head h3{margin:0;font-size:1.05rem;font-weight:600;line-height:1.35}.entry-meta{color:var(--muted);font-size:.82rem;white-space:nowrap}.entry-sub{margin:.25rem 0 .7rem;font-style:italic;color:var(--muted);font-size:.88rem}.entry ul{margin:0;padding-left:1.1rem;display:grid;gap:.45rem;font-size:.92rem;line-height:1.55}.award+.award{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid rgba(46,42,36,.08)}.award .entry-sub{margin-bottom:0}.sub-head{margin:1.1rem 0 .5rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.edu-degrees{margin:0;padding-left:1.1rem;display:grid;gap:.5rem;font-size:.94rem;line-height:1.5}.entry ul.courses{grid-template-columns:1fr 1fr;gap:.45rem 2rem;font-size:.9rem}.pub-group+.pub-group{margin-top:1.4rem}.pub-group h3{margin:0 0 .6rem;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.pub-list{margin:0;padding-left:1.2rem;display:grid;gap:.7rem;font-size:.93rem;line-height:1.55}.pub-list em{color:var(--muted)}.pub-status{color:var(--accent);font-size:.85em}.skills{margin:0;display:grid;gap:.9rem}.skills>div{display:grid;grid-template-columns:15rem 1fr;gap:.4rem 1rem}.skills dt{font-weight:600;font-size:.93rem}.skills dd{margin:0;font-size:.93rem}@media(max-width:640px){.courses{columns:1}.skills>div{grid-template-columns:1fr;gap:.1rem}}.foot{flex:0 0 auto;color:var(--muted);font-size:.82rem;text-align:center;padding:.9rem 0 .3rem}.page[data-route=about]{padding-top:4vh}#creatures{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:5;display:block;pointer-events:none}body.can-grab,body.grabbing{cursor:grab}body.grabbing{cursor:grabbing;-webkit-user-select:none;user-select:none}@media(max-width:640px){.nav{flex-direction:column;align-items:flex-start;gap:.5rem}.nav-links{gap:1rem}.hero h1{font-size:1.9rem}.card.hero{flex-direction:column;align-items:center}.portrait{width:170px;height:227px}}
