:root{--ink:#153d31;--text:#293d33;--paper:#f7f7f0;--line:#d8dfd0;--muted:#667267;--lime:#d9e8a4;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--text);font:15px/1.8 var(--sans)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #849a31;outline-offset:6px}button,a{-webkit-tap-highlight-color:transparent}::selection{background:#d5e4ac}h1,h2,h3,p{margin:0}svg{display:block;width:100%;height:auto}h2{font:500 clamp(26px,3.2vw,40px)/1.5 var(--serif);letter-spacing:.03em}.skip{position:fixed;top:-80px;left:20px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:10px}.site-header{max-width:1320px;margin:auto;height:104px;padding:0 60px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:13px;font-size:22px;font-weight:600;line-height:1.35;letter-spacing:.16em;white-space:nowrap}.wordmark small{display:block;font-size:9px;letter-spacing:.32em;font-weight:500;margin-top:4px}.mark{display:grid;place-items:center;width:44px;height:46px;border:1px solid #709176;color:var(--ink);font:27px var(--serif);letter-spacing:0}.site-header nav{display:flex;align-items:center;gap:35px;font-size:14px}.site-header nav a{padding:10px 0;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current]{border-color:var(--ink)}.hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1.07fr;gap:0;padding:48px 60px 0}.hero-copy{padding:52px 20px 32px 0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.2em;display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#829f58;flex-shrink:0}.hero h1{font:500 clamp(44px,5vw,68px)/1.35 var(--serif);letter-spacing:.08em;margin:29px 0 24px}.hero h1 span{display:block;font:400 clamp(24px,3.1vw,39px)/1.7 var(--serif);letter-spacing:.04em;margin-top:16px}.hero-description{color:var(--muted);font-size:14px;line-height:2.1}.actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:31px}.button{padding:12px 22px;display:inline-flex;align-items:center;justify-content:center;gap:26px;font-size:13px;min-height:49px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.solid{background:var(--ink);color:var(--paper)}.button.solid:hover{background:#285741}.button.light{background:var(--lime);color:var(--ink)}.text-link{font-size:13px;border-bottom:1px solid #a3b29e;padding-bottom:5px}.text-link span{margin-left:7px}.forest-art{position:relative;overflow:hidden;background:#d0dbc0;align-self:stretch;min-width:0}.forest-art svg{height:100%;min-height:540px;object-fit:cover}.art-coordinate{position:absolute;z-index:1;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;font:9px/1.5 monospace;letter-spacing:.08em;color:#304c37}.art-coordinate span{font:11px var(--sans)}.art-caption{position:absolute;bottom:22px;left:24px;right:24px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#e4ebd2;letter-spacing:.04em}.art-caption span:first-child{font:9px/1.8 monospace;letter-spacing:.15em}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;padding:21px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);letter-spacing:.1em}.hero-foot a span{margin-left:18px}.section{max-width:1200px;margin:auto;padding:90px 0;border-bottom:1px solid var(--line)}.section-index{font:10px/1.6 monospace;letter-spacing:.14em;color:var(--muted);margin-bottom:20px}.about{display:grid;grid-template-columns:1fr 2fr;gap:40px}.green{color:#667d3d;margin-bottom:18px}.body-copy{max-width:730px;color:var(--muted);margin-top:23px;font-size:14px;line-height:2.1}.about .text-link{display:inline-block;margin-top:25px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-heading>p{color:var(--muted);font-size:13px}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.research-item{position:relative;padding:29px 32px 3px 0}.research-item+.research-item{padding-left:32px;border-left:1px solid var(--line)}.research-number{color:#71806c;font:10px monospace}.research-symbol{font:48px/1.8 var(--serif);color:#6b8748;margin:8px 0}.research-item h3{font:500 23px/1.5 var(--serif);margin-bottom:13px}.research-item p{font-size:13px;color:var(--muted);min-height:80px;line-height:2}.research-item a{font-size:11px;display:inline-block;margin-top:25px;border-bottom:1px solid var(--line)}.research-item a:hover{border-color:var(--ink)}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.person{border:1px solid var(--line);padding:24px 23px;transition:background .2s,border-color .2s}.person:hover{background:#eef1e5;border-color:#8b9d76}.person-top{display:flex;justify-content:space-between;align-items:flex-start;color:#829471;margin-bottom:35px}.person-monogram{display:grid;place-items:center;width:55px;height:55px;background:#e9eddc;color:#4b6c43;font:30px var(--serif)}.person h3{font:500 26px/1.5 var(--serif);letter-spacing:.1em}.person p{font-size:12px;color:#67785d;margin-top:8px}.person-field{display:block;font-size:11px;color:var(--muted);min-height:43px;margin-top:17px}.profile-link{display:block;font-size:11px;margin-top:19px;padding-top:15px;border-top:1px solid var(--line)}.muted{color:var(--muted)}.teaching-banner{max-width:1200px;margin:70px auto 0;padding:48px;background:var(--ink);color:#f5f6e9;display:flex;justify-content:space-between;align-items:center;gap:35px}.teaching-banner .section-index{color:#bbcfa5}.teaching-banner h2{font-size:31px}.teaching-banner p{font-size:13px;color:#c0cfb4;margin-top:12px}.teaching-banner .button{flex-shrink:0}.contact{display:grid;grid-template-columns:1.5fr 1fr;gap:40px}.contact h2{font-size:30px}.contact p{font-size:13px;margin-bottom:12px}.contact .text-link{display:inline-block;margin-top:8px}.site-footer{max-width:1200px;margin:0 auto;padding:25px 0;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.teaching-main{max-width:1200px;min-height:calc(100vh - 180px);margin:auto}.breadcrumb{display:flex;gap:13px;font-size:11px;color:var(--muted);padding-top:28px}.breadcrumb a:hover{text-decoration:underline}.teaching-intro{padding:65px 0 48px}.teaching-intro h1{font:500 clamp(32px,4vw,50px)/1.5 var(--serif);letter-spacing:.05em}.teaching-intro>p:last-child{font-size:14px;color:var(--muted);margin-top:17px}.course{display:grid;grid-template-columns:1fr 1.3fr;border:1px solid var(--line)}.course-cover{background:#e6ebd7;padding:35px;display:flex;flex-direction:column;justify-content:space-between;min-height:335px}.course-label{font:10px monospace;letter-spacing:.15em;color:#667b51}.figure-demo{display:flex;align-items:center;justify-content:center;gap:14px;position:relative;margin:30px 0;color:#688254}.figure-input{border:1px solid #8da76f;background:#f1f3e3;padding:16px 12px;font-size:13px}.figure-block{background:#6e884f;color:#f5f5e8;padding:15px 25px;font-size:12px;line-height:1.6;text-align:center}.figure-output{font:28px var(--serif);border:1px solid #91a578;padding:15px}.cover-bottom{display:flex;justify-content:space-between;align-items:flex-end}.cover-bottom strong{font:500 66px/1.1 var(--serif);letter-spacing:.03em}.cover-bottom span{font-size:12px;line-height:1.8;color:#617651}.course-copy{padding:38px 44px}.course-status{font-size:11px;display:flex;gap:8px;align-items:center;color:#627c47}.course h2{font-size:30px;margin:14px 0 17px}.course-copy>p{font-size:13px;line-height:2;color:var(--muted);max-width:520px}.course-facts{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;color:#4c6747;margin-top:22px}.course-copy .course-note{font-size:11px;margin-top:18px}.teaching-end{padding:32px 0 65px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}
@media(min-width:1400px){.hero{padding-top:65px}.hero-copy{padding-top:65px}}@media(max-width:1320px){.section,.teaching-banner,.contact,.site-footer,.teaching-main{margin-left:60px;margin-right:60px}.section{padding-top:74px;padding-bottom:74px}.teaching-banner{margin-top:60px}.hero h1{font-size:58px}}@media(max-width:1000px){.site-header{padding:0 35px}.hero{padding:35px 35px 0;grid-template-columns:1fr 1fr}.section,.teaching-banner,.contact,.site-footer,.teaching-main{margin-left:35px;margin-right:35px}.hero h1{font-size:47px}.hero h1 span{font-size:29px}.hero-copy{padding-top:30px}.forest-art svg{min-height:480px}.art-caption{flex-direction:column;gap:3px}.people-grid{grid-template-columns:repeat(2,1fr)}.person-top{margin-bottom:20px}.teaching-banner{padding:32px}.teaching-banner h2{font-size:26px}.course{grid-template-columns:1fr 1.25fr}.course-cover{padding:25px}.course-copy{padding:30px}.course h2{font-size:26px}.course-copy .actions{gap:16px}}@media(max-width:700px){html{scroll-padding-top:24px}.site-header{height:auto;min-height:100px;padding:20px 22px;align-items:flex-start;gap:16px;flex-direction:column}.wordmark{font-size:20px}.mark{width:35px;height:38px;font-size:23px}.wordmark small{font-size:8px}.site-header nav{width:100%;justify-content:space-between;gap:15px;font-size:12px}.site-header nav a{padding:3px 0}.hero{display:flex;flex-direction:column;padding:10px 22px 0}.hero-copy{padding:37px 0}.hero h1{font-size:52px;margin:24px 0 21px}.hero h1 span{font-size:31px;margin-top:13px;line-height:1.6}.eyebrow{font-size:9px;letter-spacing:.14em}.hero-description{font-size:13px}.actions{gap:24px;margin-top:27px}.forest-art{height:auto;aspect-ratio:1.18}.forest-art svg{min-height:0;height:100%;width:100%}.art-coordinate{top:18px;left:18px;right:18px}.art-caption{left:18px;bottom:18px}.hero-foot{font-size:9px;letter-spacing:0;gap:12px;padding:17px 0}.hero-foot a span{margin-left:7px}.section,.teaching-banner,.contact,.site-footer,.teaching-main{margin-left:22px;margin-right:22px}.section{padding-top:50px;padding-bottom:50px}.about{grid-template-columns:1fr;gap:5px}.section-index{font-size:9px;margin-bottom:17px}.about h2{font-size:30px}.body-copy{font-size:13px;margin-top:19px}.about .text-link{font-size:11px;line-height:2}.section-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:27px}.section-heading>p{font-size:12px}.section-heading>p br{display:none}.section-heading h2{font-size:28px}.research-grid{grid-template-columns:1fr}.research-item,.research-item+.research-item{padding:22px 0;border-left:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:38px 1fr;column-gap:15px}.research-item:last-child{border-bottom:0}.research-number{grid-column:1;grid-row:1;align-self:center}.research-symbol{display:none}.research-item h3{grid-column:2;margin:0;font-size:23px}.research-item p{grid-column:2;min-height:0;margin-top:12px}.research-item a{grid-column:2;justify-self:start;margin-top:16px}.people-grid{gap:12px}.person{padding:18px 15px}.person-monogram{width:43px;height:43px;font-size:25px}.person h3{font-size:23px}.person p{font-size:10px}.person-field{font-size:10px;min-height:42px}.profile-link{font-size:10px}.teaching-banner{padding:28px 24px;flex-direction:column;align-items:flex-start;margin-top:38px;gap:25px}.teaching-banner h2{font-size:27px}.teaching-banner p{font-size:12px}.contact{grid-template-columns:1fr;gap:26px}.contact h2{font-size:27px}.site-footer{flex-wrap:wrap;padding:23px 0;font-size:9px;gap:12px}.site-footer span:nth-child(2){order:3;width:100%;font-size:8px;letter-spacing:.03em}.site-footer a{margin-left:auto}.breadcrumb{padding-top:23px}.teaching-intro{padding:44px 0 32px}.teaching-intro h1{font-size:34px}.teaching-intro>p:last-child{font-size:12px}.course{grid-template-columns:1fr}.course-cover{min-height:270px;padding:25px}.figure-demo{margin:25px 0}.cover-bottom strong{font-size:54px}.course-copy{padding:28px 25px}.course h2{font-size:27px}.course-copy .actions{gap:22px}.teaching-end{flex-direction:column;align-items:flex-start;padding:25px 0 42px;gap:18px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* 2026-10-20 教学页审计整改：封面、字号/对比度、触控与响应式。
   只作用于 .teaching-page，不改动画或团队主页正文。 */
.teaching-page{--muted:#526257;--text:#2b3f34;font-size:16px;line-height:1.8;color:#2b3f34}
.teaching-page .site-header{gap:24px;min-width:0}
.teaching-page .wordmark{min-width:0;min-height:44px}
.teaching-page .wordmark small{font-size:14px;line-height:1.5;letter-spacing:.12em;color:#526257;margin-top:2px}
.teaching-page .site-header nav{font-size:14px;min-width:0}
.teaching-page .site-header nav a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 0}
.teaching-page :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #1f5d44;outline-offset:3px;border-radius:2px}
.teaching-page #main:focus,.teaching-page #main:focus-visible{outline:3px solid #1f5d44;outline-offset:3px}
.teaching-page .breadcrumb{display:flex;align-items:center;font-size:14px;line-height:1.7;gap:10px;padding-top:24px;color:#526257}
.teaching-page .breadcrumb a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.teaching-page .teaching-intro{padding:52px 0 38px;min-width:0}
.teaching-page .eyebrow{font-size:14px;line-height:1.6;letter-spacing:.12em;color:#4c6633}
.teaching-page .teaching-intro h1{overflow-wrap:anywhere}
.teaching-page .teaching-intro>p:last-child{font-size:16px;line-height:1.8;color:#526257;margin-top:14px}
.teaching-page .course{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);min-width:0}
.teaching-page .course>*{min-width:0}
.teaching-page .course-cover{
  position:relative;min-width:0;min-height:340px;
  padding:clamp(22px,3vw,35px);overflow:hidden;
}
.teaching-page .course-label{font-size:14px;line-height:1.5;letter-spacing:.1em;color:#3f5a36}
.teaching-page .figure-demo{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:clamp(7px,1.2vw,13px);min-width:0;margin:24px 0;
  color:#3f5a36;
}
.teaching-page .figure-demo>*{flex:0 1 auto;min-width:0}
.teaching-page .figure-input{font-size:14px;line-height:1.5;padding:10px 12px;color:#2f4e2a;border-color:#738f5c;background:#f6f7e9}
.teaching-page .figure-block{font-size:14px;line-height:1.6;padding:12px 18px;max-width:100%;overflow-wrap:anywhere;background:#526d3e}
.teaching-page .figure-output{font-size:28px;line-height:1.3;padding:9px 14px;color:#2f4e2a;border-color:#738f5c}
.teaching-page .cover-bottom{
  position:relative;z-index:1;
  display:grid;grid-template-columns:auto minmax(0,1fr);
  align-items:end;gap:18px;min-width:0;
}
.teaching-page .cover-ppt{
  font-family:var(--serif);font-size:clamp(42px,4vw,54px);
  line-height:1;letter-spacing:.02em;color:#2f4d3a;
}
.teaching-page .cover-bottom span{font-size:14px;line-height:1.7;color:#3f5a36;overflow-wrap:anywhere}
.teaching-page .course-copy{padding:clamp(26px,3.2vw,42px);min-width:0}
.teaching-page .course-status{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-size:14px;line-height:1.6;color:#375a3f;
}
.teaching-page .course h2{font-size:clamp(26px,2.7vw,32px);line-height:1.35;overflow-wrap:anywhere}
.teaching-page .course-copy>p{max-width:540px;font-size:16px;line-height:1.9;color:#4f6156}
.teaching-page .course-facts{font-size:14px;line-height:1.7;gap:10px 20px;color:#3f5a36}
.teaching-page .course-copy .course-note{font-size:14px;line-height:1.7;color:#526257}
.teaching-page .actions{gap:12px 24px;min-width:0}
.teaching-page .button{min-height:44px;padding:11px 18px;font-size:14px;line-height:1.4}
.teaching-page .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.teaching-page .teaching-end{font-size:14px;line-height:1.8;color:#526257;gap:10px 20px;flex-wrap:wrap;padding:30px 0 58px}
.teaching-page .site-footer{
  flex-wrap:wrap;gap:8px 20px;padding:22px 0;
  font-size:14px;line-height:1.8;color:#526257;
}
.teaching-page .site-footer a{display:inline-flex;align-items:center;min-height:44px}
.teaching-page .site-footer span{overflow-wrap:anywhere}
@media(max-width:860px){
  .teaching-page .course{grid-template-columns:1fr}
  .teaching-page .course-cover{min-height:290px}
}
@media(max-width:700px){
  .teaching-page .site-header{min-height:88px;padding-top:16px;padding-bottom:12px}
  .teaching-page .site-header nav a{padding:3px 0;min-height:44px}
  .teaching-page .teaching-intro{padding:36px 0 28px}
  .teaching-page .teaching-intro h1{font-size:34px;line-height:1.4}
  .teaching-page .course-cover{padding:22px;min-height:270px}
  .teaching-page .figure-demo{margin:20px 0;gap:8px}
  .teaching-page .figure-block{padding:10px 14px}
  .teaching-page .course-copy{padding:26px 22px}
  .teaching-page .site-footer span:nth-child(2){width:auto;font-size:14px;letter-spacing:0}
  .teaching-page .teaching-end{font-size:14px}
}
@media(max-width:390px){
  .teaching-page .figure-demo{gap:6px}
  .teaching-page .figure-input{padding:9px 9px}
  .teaching-page .figure-block{padding:9px 11px}
  .teaching-page .figure-output{padding:8px 10px;font-size:26px}
  .teaching-page .cover-bottom{gap:14px}
}
