:root{color:#1f2528;background:#f6f1e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;line-height:1.6;text-rendering:optimizeLegibility;--ink: #1f2528;--sumi: #131719;--muted: #6f736f;--line: #ded8cc;--line-strong: #cfc5b6;--paper: #fffdf8;--washi: #f6f1e8;--soft: #eee8dc;--indigo: #315f7d;--moss: #627662;--beni: #b64b3d;--gold: #b98a3b;--shadow: 0 20px 50px rgba(31, 37, 40, .09)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;min-width:320px;overflow-x:hidden;background:linear-gradient(90deg,rgba(49,95,125,.04) 1px,transparent 1px),linear-gradient(180deg,#fbfaf6 0%,var(--washi) 58%,#f8f6f0 100%);background-size:96px 100%,auto;color:var(--ink)}body:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(31,37,40,.045) .7px,transparent .7px);background-size:18px 18px;content:""}a{color:inherit;text-decoration:none}button,select{font:inherit}.site-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px;min-height:68px;padding:12px clamp(18px,4vw,56px);border-bottom:1px solid rgba(222,216,204,.78);background:#fffdf8e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-top,.header-collapsible,.toolbar,.resume-toolbar,.hero__actions,.contact-actions{display:flex;align-items:center}.header-top{justify-content:space-between;gap:14px}.header-collapsible{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px}.menu-toggle{display:none}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--sumi);font-weight:800;white-space:nowrap}.brand span{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--sumi);border-radius:6px;background:var(--paper);color:var(--sumi);font-size:.78rem}nav{display:flex;justify-content:center;gap:clamp(12px,2vw,26px);color:var(--muted);font-size:.92rem}nav a{position:relative;padding:6px 0}nav a:after{position:absolute;right:0;bottom:0;left:0;height:1px;transform:scaleX(0);transform-origin:left;background:var(--indigo);content:"";transition:transform .16s ease}nav a:hover{color:var(--sumi)}nav a:hover:after{transform:scaleX(1)}.toolbar,.resume-toolbar{gap:10px}.button,.icon-button,.menu-toggle{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid var(--line-strong);border-radius:6px;background:#fffdf8e6;color:var(--sumi);cursor:pointer;font-weight:750;white-space:nowrap;transition:border-color .16s ease,background .16s ease,transform .16s ease}.button--primary{border-color:var(--sumi);background:var(--sumi);color:#fffdf8}.button--ghost{border-color:transparent;background:transparent}.button:hover,.icon-button:hover,.menu-toggle:hover{border-color:var(--indigo);transform:translateY(-1px)}.hero{position:relative;min-height:calc(100vh - 68px);padding:clamp(54px,7vw,96px) clamp(18px,4vw,56px) clamp(42px,6vw,76px);background:linear-gradient(180deg,#fffdf8eb,#f6f1e8cc)}.hero:before{position:absolute;top:38px;bottom:38px;left:clamp(18px,4vw,56px);width:3px;background:linear-gradient(180deg,var(--beni),var(--indigo),var(--moss));content:""}.hero__layout{position:relative;display:grid;width:min(1180px,100%);margin:0 auto;grid-template-columns:minmax(0,1.02fr) minmax(320px,.72fr);gap:clamp(34px,6vw,82px);align-items:center}.hero__content{padding-left:clamp(18px,2.5vw,36px)}.eyebrow,.section-kicker{margin:0 0 14px;color:var(--indigo);font-size:.78rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.hero h1{margin:0;color:var(--sumi);font-size:clamp(3rem,7vw,5.7rem);line-height:1.02;letter-spacing:0}.hero__role{max-width:760px;margin:20px 0 0;color:var(--sumi);font-size:clamp(1.35rem,2.4vw,2.25rem);font-weight:850;line-height:1.22}.hero__summary{max-width:700px;margin:18px 0 0;color:var(--muted);font-size:1.05rem}.hero__badges,.focus-list,.tag-row{display:flex;flex-wrap:wrap;gap:10px}.hero__badges{margin-top:28px}.hero__badges span,.focus-list span,.tag-row span{border:1px solid var(--line-strong);border-radius:999px;padding:7px 12px;background:#fffdf8c7;color:var(--sumi);font-size:.9rem;font-weight:750}.hero__badges span:first-child,.tag-row span:first-child{border-color:#315f7d52;color:var(--indigo)}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:32px}.hero__panel{border:1px solid var(--line-strong);border-radius:8px;background:#fffdf8d1;box-shadow:var(--shadow);overflow:hidden}.profile-photo,.research-visual img,.ai-visual img{display:block;width:100%;object-fit:cover}.hero__panel-copy{display:grid;gap:4px;padding:28px 24px 0}.hero__panel-copy span{color:var(--muted);font-size:.82rem;font-weight:800}.hero__panel-copy strong{color:var(--sumi);font-size:1.05rem}.hero__stats,.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}.hero__stats{margin-top:20px;border-top:1px solid var(--line);background:var(--line)}.hero-stat,.stat-card{min-height:112px;padding:18px;background:#fffdf8f0}.hero-stat strong,.stat-card strong{display:block;color:var(--beni);font-size:1.85rem;line-height:1}.hero-stat span,.stat-card span{display:block;margin-top:10px;color:var(--muted);font-size:.9rem;font-weight:750}.section{padding:clamp(58px,8vw,96px) clamp(18px,4vw,56px);background:#fffdf8eb}.section--soft,.section--capabilities{background:#eee8dcb8}.section--intro{background:#fffdf8f5}.section__inner{width:min(1160px,100%);margin:0 auto}.section-subtitle{max-width:780px;margin:-10px 0 28px;color:var(--muted);font-size:1.03rem;font-weight:700}.section h2{max-width:820px;margin:0 0 24px;color:var(--sumi);font-size:clamp(1.7rem,3.8vw,3rem);line-height:1.12;letter-spacing:0;overflow-wrap:anywhere}.capability-grid,.intro-grid,.research-layout,.ai-band{display:grid;gap:clamp(22px,4vw,56px)}.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.capability-card,.identity-panel,.item-card,.skill-card,.stat-card,.honor-card,.project-card{border:1px solid var(--line);border-radius:8px;background:#fffdf8f0}.capability-card{position:relative;min-height:198px;padding:22px}.capability-card:after{position:absolute;right:20px;bottom:18px;width:42px;height:1px;background:var(--line-strong);content:""}.capability-card__icon{display:inline-grid;width:42px;height:42px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--indigo)}.capability-card h2{margin:22px 0 10px;font-size:1.24rem}.capability-card p,.paragraph-stack p,.ai-band p,.item-card p,.project-card p,.timeline-item p,.identity-panel p{color:var(--muted);overflow-wrap:anywhere}.project-grid{display:grid;gap:18px}.project-card{position:relative;padding:clamp(22px,4vw,34px);border-color:#315f7d4d;box-shadow:0 18px 44px #315f7d14}.project-card:before{position:absolute;top:24px;bottom:24px;left:0;width:4px;background:var(--indigo);content:""}.project-card h3{max-width:980px;margin:12px 0;color:var(--sumi);font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.18}.project-card__summary{max-width:980px;font-weight:650}.project-card ul{display:grid;gap:10px;margin:18px 0 0;padding-left:20px;color:var(--muted)}.project-card li,.skill-card li,.ai-band li,.honor-card li{overflow-wrap:anywhere}.ai-band{grid-template-columns:minmax(0,.9fr) minmax(260px,.62fr) minmax(0,.78fr);align-items:center;padding:clamp(22px,4vw,36px);border:1px solid var(--line);border-radius:8px;background:var(--paper)}.ai-copy,.ai-visual,.ai-points{min-width:0}.ai-visual{width:min(100%,330px);justify-self:center}.ai-visual img{max-height:230px;aspect-ratio:16 / 10;border:1px solid var(--line);border-radius:8px;filter:saturate(.86)}.ai-points,.skill-card ul{margin:14px 0 0;padding-left:18px;color:var(--muted)}.ai-points li,.skill-card li{margin:8px 0}.intro-grid{grid-template-columns:minmax(0,1.24fr) minmax(290px,.76fr);align-items:start}.identity-panel,.item-card,.skill-card,.honor-card{padding:22px}.profile-photo{width:112px;height:144px;border:1px solid var(--line);border-radius:6px;background:#d8ecfb}.identity-panel h3{margin:18px 0 8px;font-size:1.32rem}.contact-list{display:grid;gap:10px;margin-top:20px}.contact-list a,.contact-list span{display:inline-flex;align-items:center;gap:8px;color:var(--sumi);font-weight:750}.research-layout{grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);align-items:center}.research-visual img{aspect-ratio:4 / 3;border:1px solid var(--line);border-radius:8px;filter:saturate(.74) contrast(.96)}.focus-list{margin:20px 0 26px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{min-height:120px}.achievement-groups{display:grid;gap:30px}.achievement-group h3{margin:0 0 14px;color:var(--moss);font-size:1.13rem}.achievement-list,.skill-grid,.honor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.item-card--featured{border-color:#315f7d61;box-shadow:0 14px 34px #315f7d14}.item-card__top{display:flex;min-height:24px;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.84rem;font-weight:800}.featured-pill{display:inline-flex;align-items:center;gap:5px;color:var(--indigo)}.item-card h4,.skill-card h3,.timeline-item h3{margin:8px 0;color:var(--sumi);font-size:1.05rem;line-height:1.32}.item-card__meta{margin:6px 0 0;color:var(--beni)!important;font-weight:800}.item-card__marker{margin:4px 0;font-weight:700}.tag-row{margin-top:16px}.tag-row span{padding:5px 10px;font-size:.82rem}.honor-grid{align-items:stretch}.honor-card{min-height:148px}.honor-card__year{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border:1px solid rgba(98,118,98,.28);border-radius:999px;background:#62766214;color:var(--moss);font-size:.84rem;font-weight:850}.honor-card ul{display:grid;gap:10px;margin:18px 0 0;padding-left:18px;color:var(--sumi);font-size:1rem;font-weight:760;line-height:1.42}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line)}.timeline-item__date{color:var(--indigo);font-weight:850}.timeline-item__title{margin:0 0 4px;color:var(--sumi);font-weight:800}.timeline-item__meta{color:var(--muted)}.contact-panel{display:flex;align-items:center;justify-content:space-between;gap:24px}.contact-actions{flex-wrap:wrap;gap:12px;justify-content:flex-end}.resume-toolbar{position:sticky;top:0;z-index:20;justify-content:center;padding:14px;border-bottom:1px solid var(--line);background:#fffdf8f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.resume-shell{padding:28px 16px 48px;background:#e7ece9}.resume-page{width:210mm;height:297mm;margin:0 auto;overflow:hidden;padding:12mm;background:#fff;color:#111b1f;box-shadow:0 20px 60px #17212429}@media (max-width: 980px){.site-header{grid-template-columns:1fr;gap:12px}.menu-toggle{display:inline-flex}.header-collapsible{display:none;grid-template-columns:1fr;gap:12px}.site-header--open .header-collapsible{display:grid}nav{justify-content:flex-start;overflow-x:auto;padding-bottom:3px}.toolbar{justify-content:flex-start}.hero{min-height:auto}.hero__layout,.intro-grid,.research-layout,.ai-band,.contact-panel{grid-template-columns:1fr}.hero__panel,.ai-visual{width:min(100%,520px);justify-self:start}.capability-grid{grid-template-columns:1fr}.stats-grid,.achievement-list,.skill-grid,.honor-grid{grid-template-columns:1fr 1fr}.contact-panel{display:grid}.contact-actions{justify-content:flex-start}}@media (max-width: 640px){.site-header{padding-right:18px;padding-left:18px}.hero{padding-top:42px}.hero:before{left:18px}.hero__content{padding-left:16px}.hero h1{font-size:3rem}.hero__stats,.stats-grid,.achievement-list,.skill-grid,.honor-grid{grid-template-columns:1fr}.button,.icon-button,.menu-toggle{width:100%}.toolbar,.resume-toolbar,.hero__actions,.contact-actions{align-items:stretch;flex-direction:column}.section{padding-right:18px;padding-left:18px}.section h2{font-size:clamp(1.45rem,8vw,2.1rem)}.timeline-item{grid-template-columns:1fr;gap:8px}.ai-band{padding:20px}.ai-visual{width:100%}.ai-visual img{max-height:180px;aspect-ratio:16 / 9}.resume-shell{overflow-x:auto}}@page{size:A4;margin:0}@media print{body{background:#fff}.resume-toolbar{display:none}.resume-shell{padding:0;background:#fff}.resume-page{width:210mm;height:297mm;margin:0;box-shadow:none;page-break-after:avoid}}
