:root{--ink:#0c3129;--ink2:#17483c;--cream:#f4efe4;--paper:#fffaf0;--gold:#caa86a;--gold2:#e7d5ad;--muted:#6f766e;--line:rgba(202,168,106,.36)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e7e2d8;color:var(--ink);font-family:"Noto Serif SC","Songti SC","STSong",serif}.sans{font-family:"PingFang SC","Microsoft YaHei",sans-serif}.page{max-width:1180px;margin:auto;background:var(--cream);min-height:100vh;box-shadow:0 20px 80px rgba(5,31,25,.15)}
.preview{position:fixed;z-index:20;right:18px;top:18px;background:#9b5a42;color:#fff;padding:8px 13px;border-radius:999px;font:600 12px/1 sans-serif;letter-spacing:.08em;box-shadow:0 7px 20px rgba(0,0,0,.16)}
.hero{position:relative;overflow:hidden;background:linear-gradient(150deg,#082d25,#124b3d);color:#fff;padding:70px 7% 78px}.hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(231,213,173,.2);border-radius:50%;right:-180px;top:-230px;box-shadow:0 0 0 50px rgba(231,213,173,.045),0 0 0 100px rgba(231,213,173,.025)}.eyebrow{font:600 12px/1.4 sans-serif;letter-spacing:.28em;color:var(--gold2);text-transform:uppercase}.hero h1{font-size:clamp(42px,7vw,82px);line-height:1.04;margin:22px 0 16px;font-weight:500;letter-spacing:.03em}.hero .lead{font:300 clamp(16px,2vw,22px)/1.8 sans-serif;color:#e9eee8;max-width:720px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:42px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.15);max-width:840px}.metric{background:rgba(6,35,29,.56);padding:18px}.metric strong{display:block;font-size:24px;color:var(--gold2)}.metric span{font:12px/1.6 sans-serif;color:#dce7e2}.section{padding:66px 7%}.section-title{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:28px}.section-title h2{font-size:34px;font-weight:500;margin:0}.section-title p{font:13px/1.6 sans-serif;color:var(--muted);margin:0}.structure{background:var(--paper);border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;margin-top:-34px;position:relative;z-index:3}.structure>div{padding:28px 34px}.structure>div+div{border-left:1px solid var(--line)}.structure strong{font-size:24px}.structure p{font:14px/1.75 sans-serif;color:var(--muted);margin:7px 0 0}.days{display:grid;gap:14px}.day{display:grid;grid-template-columns:110px 1.2fr 1.8fr;gap:24px;align-items:center;background:rgba(255,250,240,.72);border:1px solid var(--line);padding:24px;transition:.25s}.day:hover{transform:translateX(5px);background:#fffaf0}.day-no{font:700 13px/1 sans-serif;color:var(--gold);letter-spacing:.12em}.day h3{margin:5px 0;font-size:22px;font-weight:500}.day p{font:13px/1.65 sans-serif;color:var(--muted);margin:0}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{font:12px/1 sans-serif;border:1px solid var(--line);background:#fffaf0;padding:8px 10px;border-radius:999px}.systems{background:var(--ink);color:#fff}.systems .section-title{border-color:rgba(231,213,173,.25)}.systems .section-title p{color:#bdcbc5}.system-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.system{border:1px solid rgba(231,213,173,.25);padding:25px;background:rgba(255,255,255,.025)}.system-head{display:flex;gap:15px;align-items:center}.system-no{font:700 12px/1 sans-serif;color:var(--gold2);border:1px solid rgba(231,213,173,.38);border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.system h3{font-size:21px;font-weight:500;margin:0}.items{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 0;padding:0;list-style:none}.items li{font:13px/1.4 sans-serif;color:#dce7e2}.items li:before{content:"◆";font-size:7px;color:var(--gold);margin-right:7px;vertical-align:2px}.rights{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.right{background:var(--paper);border-top:3px solid var(--gold);padding:26px}.right small{font:700 11px/1 sans-serif;color:var(--gold);letter-spacing:.14em}.right h3{font-size:21px;margin:10px 0}.right p{font:14px/1.8 sans-serif;color:var(--muted);margin:0}.notice{margin-top:26px;background:#e5dccb;border-left:3px solid var(--gold);padding:20px 24px;font:13px/1.8 sans-serif;color:#5d655e}.footer{background:#082d25;color:#d9e2de;padding:42px 7%;display:flex;justify-content:space-between;gap:30px;align-items:end}.footer h2{color:var(--gold2);font-size:26px;font-weight:500;margin:0 0 10px}.footer p{font:12px/1.8 sans-serif;margin:0;max-width:720px}.footer .mark{font-size:13px;letter-spacing:.16em;white-space:nowrap}
@media(max-width:760px){.hero{padding:58px 22px 56px}.metrics{grid-template-columns:repeat(2,1fr)}.section{padding:44px 22px}.section-title{display:block;margin-bottom:22px}.section-title p{margin-top:9px}.structure{grid-template-columns:1fr;margin:0}.structure>div+div{border-left:0;border-top:1px solid var(--line)}.day{grid-template-columns:1fr;gap:9px}.system-grid,.rights{grid-template-columns:1fr}.footer{display:block}.footer .mark{margin-top:22px}.preview{font-size:10px;right:10px;top:10px}}

/* Keep course-table titles on one line in the desktop poster. */
@media(min-width:761px){.day{grid-template-columns:245px minmax(220px,1fr) minmax(300px,1.45fr)}.day h3{white-space:nowrap}}

/* Site chrome integration: site /css/style.css loads first; keep header/footer in site sans + restore course hero padding where site mobile !important rule would squeeze it. */
.site-header,.site-footer{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif}
@media(max-width:760px){.hero{padding-bottom:56px !important}}
@media(min-width:761px) and (max-width:768px){.hero{padding-bottom:78px !important}}

/* 手机版：标题单行、温馨说明间距、页脚底部收紧（2026-10-27）。 */
@media(max-width:760px){
.section-title h2{font-size:clamp(24px,7vw,32px)}
.notice{margin-top:20px}
.site-footer{padding-bottom:10px}
.site-footer .beian-icp{margin-bottom:0}
}
