.markdown-body li::before{content:none}.section-anchor:first-child{padding-top:0}.research-interests{margin-top:32px}.section-anchor[data-section-type="contact"] .markdown-body{padding:clamp(28px,5vw,36px);border-radius:24px;background:var(--ink);color:#d4d4d4}.section-anchor[data-section-type="contact"] .markdown-body h2,.section-anchor[data-section-type="contact"] .markdown-body h3{color:#fff}.section-anchor[data-section-type="contact"] .markdown-body a{display:inline-flex;margin-top:12px;padding:11px 18px;border-radius:12px;background:#fff;color:#171717;text-decoration:none;font-weight:600}.section-anchor[data-section-type="contact"] .markdown-body strong{color:#fff}
.entry-place{margin:.15rem 0 .5rem!important;color:var(--accent);font-size:.9rem}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}.skills-grid>*+*{margin-top:0}.skill-group{margin:0}.skill-group h3{margin:0 0 10px;font-size:.9rem}.skill-pills{display:flex;flex-wrap:wrap;gap:8px}.skill-pills>span{padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.78rem}.section-anchor[data-section-type="awards"] ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.section-anchor[data-section-type="awards"] li{position:relative;padding:18px 18px 18px 42px;border:1px solid var(--border);border-radius:14px}.section-anchor[data-section-type="awards"] li::before{content:"◆";position:absolute;left:18px;color:#f59e0b}.section-anchor[data-section-type="datasets"] .markdown-body,.section-anchor#datasets .markdown-body{padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--soft)}.section-anchor[data-section-type="news"] ul{margin:0;padding:0;list-style:none}.section-anchor[data-section-type="news"] li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:10px 0}.section-anchor[data-section-type="news"] li strong{color:var(--ink)}
@media(max-width:600px){.skills-grid,.section-anchor[data-section-type="awards"] ul{grid-template-columns:1fr}.section-anchor[data-section-type="news"] li{grid-template-columns:1fr;gap:2px}}
.entry-top{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.entry-top h2{margin:0!important}.entry-period{white-space:nowrap;color:var(--muted);font-size:.78rem}.tag-line{display:flex;align-items:flex-start;gap:12px}.tag-line>strong{padding-top:5px;font-size:.78rem}.tag-pills{display:flex;flex-wrap:wrap;gap:8px}.tag-pills>span{padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.78rem}.project-tagline{margin:.1rem 0 .8rem!important;color:var(--accent);font-size:.78rem}
.mobile-header{display:none}@media(max-width:900px){.mobile-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px)}.mobile-header div{display:grid}.mobile-header strong{font-size:.9rem}.mobile-header small{color:var(--muted);font-size:.7rem}.mobile-header>a{color:var(--accent);font-size:.82rem;font-weight:600}}
.section-anchor[data-section-type="teaching"] .markdown-body{overflow-x:auto}.section-anchor[data-section-type="teaching"] table{display:table;width:100%;min-width:600px}.section-anchor[data-section-type="projects"] .semantic-entry h2{font-size:18px}.section-anchor[data-section-type="projects"] .tag-line>strong{display:none}.section-anchor[data-section-type="projects"] .tag-pills{gap:6px}.section-anchor[data-section-type="projects"] .tag-pills>span{padding:4px 8px;border:0;border-radius:6px;background:var(--soft);color:var(--muted);font-size:12px}.project-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.project-links a{display:inline-flex;gap:8px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:14px;font-weight:500;text-decoration:none}.project-links a::after{content:"↗"}

/* Section-level fidelity and interaction polish from the supplied reference. */
.profile-card{position:relative;transition:border-color .2s ease,box-shadow .2s ease}.profile-card:hover{border-color:color-mix(in srgb,var(--accent) 25%,var(--border));box-shadow:var(--shadow)}.profile-card .theme-toggle{position:absolute;top:20px;right:20px;bottom:auto;width:40px;height:40px;border-radius:12px;box-shadow:none}.profile-card .theme-toggle:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow)}
.section-nav a{position:relative;padding-left:0;transition:color .2s ease,padding-left .2s ease}.section-nav a:hover,.section-nav a[aria-current="location"]{padding-left:8px;color:var(--ink)}.section-nav a[aria-current="location"]::before{content:"";position:absolute;left:0;top:50%;width:3px;height:3px;border-radius:50%;background:var(--accent)}
.interest,.skill-pills>span,.tag-pills>span{transition:border-color .2s ease,color .2s ease,transform .2s ease}.interest:hover,.skill-pills>span:hover,.tag-pills>span:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent);transform:translateY(-1px)}

.section-anchor[data-section-type="research"] .has-entries{gap:0}.section-anchor[data-section-type="research"] .semantic-entry{margin:0 -16px;padding:24px 16px;border-bottom:0;border-radius:14px;transition:background .2s ease,transform .2s ease}.section-anchor[data-section-type="research"] .semantic-entry:first-child{padding-top:0}.section-anchor[data-section-type="research"] .semantic-entry:hover{background:var(--soft);transform:translateX(3px)}.section-anchor[data-section-type="research"] .semantic-entry h2{margin:0 0 10px;font-size:1.18rem}

.section-anchor[data-section-type="experience"] .has-entries{gap:32px;padding-left:0;border-left:0}.section-anchor[data-section-type="experience"] .semantic-entry{padding:12px 14px;border-radius:12px;transition:background .2s ease,transform .2s ease}.section-anchor[data-section-type="experience"] .semantic-entry::before{display:none}.section-anchor[data-section-type="experience"] .semantic-entry:hover{background:var(--soft);transform:translateX(3px)}.section-anchor[data-section-type="experience"] .semantic-entry ul{margin:14px 0 0;padding:0;list-style:none}.section-anchor[data-section-type="experience"] .semantic-entry li{position:relative;padding-left:22px}.section-anchor[data-section-type="experience"] .semantic-entry li::before{content:"→";position:absolute;left:0;color:var(--accent)}

.section-anchor[data-section-type="projects"] .has-entries{grid-auto-rows:1fr;align-items:stretch}.section-anchor[data-section-type="projects"] .semantic-entry{display:flex;height:100%;min-height:270px;margin-top:0!important;flex-direction:column;box-shadow:0 1px 2px rgba(0,0,0,.02);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.section-anchor[data-section-type="projects"] .semantic-entry:hover,.section-anchor[data-section-type="projects"] .semantic-entry:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:var(--shadow);transform:translateY(-3px)}.section-anchor[data-section-type="projects"] .project-links{margin-top:auto;padding-top:20px}.project-links a{transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease}.project-links a:hover{border-color:var(--accent);background:var(--soft);color:var(--accent);transform:translateY(-1px)}

.section-anchor[data-section-type="talks"] .has-entries{gap:20px}.section-anchor[data-section-type="talks"] .semantic-entry{padding:4px 12px 4px 20px;border-left:2px solid var(--border);border-radius:0 10px 10px 0;transition:border-color .2s ease,background .2s ease,transform .2s ease}.section-anchor[data-section-type="talks"] .semantic-entry:hover{border-left-color:var(--accent);background:var(--soft);transform:translateX(3px)}.section-anchor[data-section-type="talks"] .semantic-entry h2{margin:0 0 4px;font-size:1rem}.section-anchor[data-section-type="talks"] .semantic-entry p{margin:4px 0;color:var(--muted);font-size:.875rem}

.section-anchor#datasets .markdown-body{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.section-anchor#datasets .markdown-body:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:var(--shadow);transform:translateY(-2px)}.section-anchor#datasets .markdown-body h2{margin:0 0 8px;font-size:1rem}.section-anchor#datasets .markdown-body a{display:inline-flex;align-items:center;margin:12px 6px 0 0;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.82rem;text-decoration:none;transition:border-color .2s ease,color .2s ease,transform .2s ease}.section-anchor#datasets .markdown-body a::after{content:"↗";margin-left:7px}.section-anchor#datasets .markdown-body a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}

.section-anchor[data-section-type="contact"] .markdown-body h2{margin:0 0 12px;font-size:1.5rem}.section-anchor[data-section-type="contact"] .markdown-body>p{max-width:650px;margin:0;color:#d4d4d4}.section-anchor[data-section-type="contact"] .markdown-body .contact-email{margin-top:24px}.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px;padding-top:24px;border-top:1px solid #404040;color:#d4d4d4;font-size:.875rem}.contact-detail>span{display:block;margin-bottom:4px;color:#737373;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.contact-email{transition:background .2s ease,transform .2s ease}.contact-email:hover{background:#e5e5e5!important;transform:translateY(-2px)}
.dark .section-anchor[data-section-type="contact"] .markdown-body{border:1px solid #3a3a3a;background:#171717;color:#e5e5e5;box-shadow:0 18px 42px rgba(0,0,0,.28)}.dark .section-anchor[data-section-type="contact"] .markdown-body h2,.dark .section-anchor[data-section-type="contact"] .markdown-body strong{color:#fff}.dark .section-anchor[data-section-type="contact"] .markdown-body>p,.dark .section-anchor[data-section-type="contact"] .contact-details{color:#e5e5e5}.dark .section-anchor[data-section-type="contact"] .contact-email{background:#f5f5f5;color:#171717}

.section-anchor[data-section-type="awards"] li::before{content:"★"}.section-anchor[data-section-type="awards"] li{transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.section-anchor[data-section-type="awards"] li:hover,.section-anchor[data-section-type="awards"] li:focus-within{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:var(--soft);box-shadow:var(--shadow);transform:translateY(-3px)}

@media(max-width:600px){.section-anchor[data-section-type="projects"] .semantic-entry{min-height:0}.contact-details{grid-template-columns:1fr}.section-anchor[data-section-type="research"] .semantic-entry{margin-left:0;margin-right:0}.profile-card .theme-toggle{top:18px;right:18px;bottom:auto}.section-anchor[data-section-type="teaching"] .markdown-body{overflow-x:visible}.section-anchor[data-section-type="teaching"] table{display:block;width:100%;min-width:0;border:0}.section-anchor[data-section-type="teaching"] thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.section-anchor[data-section-type="teaching"] tbody,.section-anchor[data-section-type="teaching"] tr,.section-anchor[data-section-type="teaching"] td{display:block;width:100%}.section-anchor[data-section-type="teaching"] tr{margin-bottom:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.section-anchor[data-section-type="teaching"] td{position:relative;min-width:0;padding:5px 0 5px 84px;border:0;white-space:normal;overflow-wrap:anywhere}.section-anchor[data-section-type="teaching"] td::before{position:absolute;left:0;width:72px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.section-anchor[data-section-type="teaching"] td:nth-child(1)::before{content:"Term"}.section-anchor[data-section-type="teaching"] td:nth-child(2)::before{content:"Course"}.section-anchor[data-section-type="teaching"] td:nth-child(3)::before{content:"Role"}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
