/* System-native typography: no remote font dependency or delayed font swaps. */
:root{--font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;--font-data:'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
body{font-family:var(--font-sans);font-weight:400;line-height:1.85}
button,input,summary,.btn,.theme-toggle,.quick-open{font-family:var(--font-sans)}
h1,h2,h3,h4,.hero h1,.hero h1>span{font-family:var(--font-sans);font-weight:500;letter-spacing:0}
.hero h1{font-size:clamp(38px,4.5vw,56px);line-height:1.42;margin-bottom:24px}.hero h1>span{font:inherit;letter-spacing:0;margin-top:0}.hello{font-size:18px;font-weight:400}.statement{font-size:17px;letter-spacing:.3px}.hero .muted{font-size:15px;line-height:2}
.profile h2.profile-title{font-family:var(--font-sans);font-size:25px;font-weight:500;line-height:1.65;letter-spacing:0}.profile-note,.career-info small{font-size:12px}.career-info strong{font-weight:500;font-size:15px}.logo{font-weight:500}.logo b{font-family:var(--font-sans);font-weight:500}
.eyebrow,.hero .eyebrow{font-family:var(--font-data);font-size:11px;letter-spacing:1px;font-weight:400}.profile-index,time{font-family:var(--font-data);font-variant-numeric:tabular-nums}.heading h2{font-size:32px;font-weight:500}.heading h2 em{font-weight:400}.intro-strip p{font-size:14px}.intro-strip>b,.intro-strip>a{font-size:13px}
.lens-copy h3{font-weight:500;font-size:25px;line-height:1.6}.lens-copy p,.journey-card p{font-size:14px;line-height:1.95}.lens-list strong{font-weight:500;font-size:14px}.lens-list small,.lens-map>p{font-size:11px;letter-spacing:1px}.lens-node{font-size:13px}.lens-evidence{font-size:12px;line-height:1.8}.journey-tabs time{font-family:var(--font-data);font-size:12px;letter-spacing:0}.journey-tabs strong{font-size:13px}.journey-card h4{font-size:16px;font-weight:500}.journey-label h3{font-weight:500}.journey-label span,.explore-heading>p{font-size:12px}
.experience aside h3{font-weight:500;font-size:21px}.experience aside p,.experience aside time{font-size:13px}.lead{font-size:16px;line-height:2}summary{font-size:15px;font-weight:500;line-height:1.85}details p,.project-body>p,.toolkit p,.campus p{font-size:14px;line-height:1.95}.metrics strong{font-family:var(--font-data);font-size:34px;font-weight:500;letter-spacing:0}.metrics small{font-family:var(--font-sans)}.metrics span{font-size:12px}
.visual h3,.research h3{font-weight:500;letter-spacing:0}.project-body h3{font-weight:500;font-size:20px;line-height:1.7}.radar-readout strong{font-weight:500;font-size:17px}.radar-readout p{font-size:12px;line-height:1.9}.radar-readout small{font-size:10px;letter-spacing:.7px}.radar-steps button{font-size:12px}.visual .demo-caption{font-size:11px}.research .models{font-size:12px}.school h3{font-weight:500}.honors strong{font-weight:500}.honors>div{font-size:14px}.toolkit h3{font-weight:500}.contact h2{font-weight:500;letter-spacing:0;line-height:1.55}.contact-topics a{font-size:14px}.case-content p,.case-content section p{font-size:14px;line-height:1.95}.case-content h2,.case-content h3{font-weight:500}.quick-open{font-size:12px;line-height:1.5}.quick-dialog input{font-size:14px;line-height:1.7}.reading-dock span{font-family:var(--font-data)}
@media(max-width:950px){.hero h1{font-size:43px}.profile h2.profile-title{font-size:23px}.lens-copy h3{font-size:23px}}
@media(max-width:700px){.hero h1{font-size:clamp(34px,9.2vw,46px);line-height:1.42;letter-spacing:0}.hero .hello{font-size:17px}.hero .muted{font-size:14px;line-height:1.95}.statement{font-size:16px}.profile h2.profile-title{font-size:22px}.career-info strong{font-size:14px}.career-info small{font-size:12px}.heading h2,.explore-heading h2{font-size:27px}.lens-copy h3{font-size:23px}.lens-list strong{font-size:12px}.lens-copy p,.journey-card p,details p,.project-body>p,.toolkit p,.campus p{font-size:14px}.lens-node{font-size:12px}.lens-evidence{font-size:11px}.journey-tabs time{font-size:10px}.journey-tabs strong{font-size:11px}.journey-card h4{font-size:17px}.journey-label span{font-size:11px}.metrics strong{font-size:28px}.metrics span{font-size:10px}.project-body h3{font-size:19px}.radar-steps button{font-size:11px}.contact h2{font-size:33px}.intro-strip p{font-size:13px}.quick-open{font-size:11px}}
/* Claude-inspired warm paper, charcoal text and restrained terracotta accents. */
:root{--bg:#faf9f5;--paper:#fffefb;--ink:#30302e;--muted:#66645f;--green:#94533e;--accent:#aa5d43;--line:#e5e2da;--soft:#f0eee6;--shadow:0 16px 44px -28px #302c2420}
body,html[data-theme=night] body{background:var(--bg);background-image:none}
header,html[data-theme=night] header{background:color-mix(in srgb,var(--bg) 94%,transparent)}
.hero h1,.hero h1>span{font-weight:400;line-height:1.45}.hero h1>span{color:var(--green)}
.profile h2.profile-title,.contact h2{font-weight:400}.hero .muted,.lens-copy p,.journey-card p,details p,.project-body>p,.toolkit p,.campus p{font-size:15px;line-height:1.9;color:var(--muted)}
.statement,.lead{color:var(--ink)}.profile,.project,.experience,.experience-body{border-color:var(--line)}
.profile:before,html[data-theme=night] .profile:before{background:none}.profile:hover,html[data-theme=night] .profile{box-shadow:var(--shadow)}
.career-row:hover,.filters,.experience>aside,.aumovio>aside,html[data-theme=night] .career-row:hover,html[data-theme=night] .filters,html[data-theme=night] .experience>aside,html[data-theme=night] .aumovio>aside{background:var(--soft)}
.career-icon{background:#f3f1eb;border-color:var(--line)}.career-info small,.profile-index{color:var(--muted)}
.project-stages span{background:var(--soft);border-color:var(--line);color:var(--green)}
.btn:hover,html[data-theme=night] .btn:hover{background:var(--soft)}.btn.solid,.btn.solid:hover{background:var(--green);color:#fff;border-color:var(--green)}
.radar,html[data-theme=night] .radar{background:#3e3c38;color:#faf7ef}.radar .visual-top,.radar-readout small{color:#e4d8ca;opacity:1}.radar-readout p{color:#eee5da}.radar h3>span{color:#e6b69e}.radar-steps button{color:#f3e9de;border-color:#8a7f72}.radar-steps button[aria-pressed=true]{background:#ecd5c5;border-color:#ecd5c5;color:#43352c}.radar-screen{border-color:#dfb59a66;background:repeating-radial-gradient(circle,transparent 0 17px,#dfb59a33 18px 19px,transparent 20px 34px)}.radar-screen:before{background:conic-gradient(from 0deg,transparent 65%,#e8b59750)}.radar-screen:after{background:#dfb59a55}.radar-dot{background:#f3d2bc;box-shadow:0 0 8px #e8b597}.visual .demo-caption{opacity:1;color:#dacbbc}
.research,html[data-theme=night] .research{background:var(--soft);color:var(--ink)}.research .visual-top,.research p{opacity:1;color:var(--muted)}
.case-open-button,.project-link{font-weight:500}.lens-copy .eyebrow,.intro-strip>b{color:var(--accent)}
:focus-visible,.career-row:focus-visible,.btn:focus-visible,.case-open-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
html[data-theme=night]{--bg:#262624;--paper:#30302d;--ink:#eceae2;--muted:#b9b6ad;--green:#dfb39a;--accent:#e0aa8e;--line:#494841;--soft:#393933;--shadow:0 16px 44px -28px #0006}
html[data-theme=night] .btn.solid,html[data-theme=night] .reading-dock a{color:#332c26}html[data-theme=night] .logo b{color:#332c26;background:var(--green)}
.hero h1>span{color:var(--ink)}.btn.solid,.btn.solid:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.logo b{background:var(--ink)}.profile{box-shadow:0 8px 28px -20px #302c2426}.lens-list button[aria-selected=true]{box-shadow:none}.lens-node:last-child{border-color:var(--line)}.reading-dock a{background:var(--ink);color:var(--paper)}html[data-theme=night] .btn.solid,html[data-theme=night] .reading-dock a{background:var(--ink);border-color:var(--ink);color:var(--bg)}
/* Explicit Chinese bold weight avoids thin synthetic medium on Windows. */
.hero h1,.hero h1>span{font-weight:700}.profile h2.profile-title,.heading h2,.explore-heading h2,.contact h2{font-weight:600}.career-info strong,.lens-copy h3,.lens-list strong,.journey-label h3,.journey-card h4,.journey-tabs strong,.experience aside h3,.project-body h3,.toolkit h3,.school h3,.visual h3,.research h3,.radar-readout strong,.case-content h2,.case-content h3,summary{font-weight:700}.logo,nav>div a,.btn,.quick-open,.theme-toggle,.project-link,.case-open-button{font-weight:600}.eyebrow,.hero .eyebrow,.lens-list small,.profile-index{font-weight:500}.hero .muted,.lens-copy p,.journey-card p,details p,.project-body>p,.toolkit p,.campus p{font-weight:400}.hero h1{line-height:1.4}
@media(max-width:700px){.hero h1{font-size:clamp(33px,9vw,44px)}.hero .muted,.lens-copy p,.journey-card p,details p,.project-body>p,.toolkit p,.campus p{font-size:14px;line-height:1.95}.lens-evidence{font-size:12px}.metrics span{font-size:11px}}
@media print{html,html[data-theme=night]{--bg:#fff;--paper:#fff;--ink:#30302e;--muted:#465261;--green:#94533e;--soft:#f3f4f5}.hero h1{font-size:30px}.heading h2{font-size:24px}details p,.project-body>p,.toolkit p{font-size:12px}.section{padding:20px 0}}
