:root { color-scheme: dark; --ink:#f6f4ed; --muted:#b5b7b0; --canvas:#090b0a; --line:#2a3028; --green:#b9f86c; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin:0; background:var(--canvas); color:var(--ink); font:17px/1.8 "PingFang SC","Microsoft YaHei",system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:5px; }
a:focus-visible, summary:focus-visible { outline:2px solid var(--green); outline-offset:5px; }
.shell { width:min(100% - 48px, 1080px); margin-inline:auto; }
.skip-link { position:fixed; left:16px; top:-80px; z-index:100; padding:10px 16px; background:var(--green); color:#0c1208; }
.skip-link:focus { top:12px; }
.site-header { border-bottom:1px solid var(--line); }
.nav { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:20px; }
.brand { font-size:19px; font-weight:800; text-decoration:none; white-space:nowrap; }
.brand span, .text-link { color:var(--green); }
.nav-links { display:flex; gap:24px; font-size:14px; color:var(--muted); }
.nav-links a { display:inline-flex; min-height:44px; align-items:center; text-decoration:none; }
.hero { padding-block:78px 72px; }
.eyebrow { margin:0 0 16px; color:var(--green); font-size:14px; font-weight:700; letter-spacing:.08em; }
h1,h2,h3 { margin:0; color:var(--ink); font-weight:750; }
h1 { font-size:clamp(38px,5vw,58px); line-height:1.22; letter-spacing:-.03em; }
.lead { margin:24px 0 20px; font-size:clamp(25px,3vw,34px); line-height:1.5; }
.intro,.section-copy { max-width:730px; color:var(--muted); }
.intro { margin:0 0 28px; }
.button { display:inline-flex; gap:18px; min-height:50px; align-items:center; justify-content:center; padding:10px 24px; border-radius:10px; color:#0a1006; background:var(--green); text-decoration:none; font-size:16px; font-weight:800; }
.button:hover { background:#cbff93; }
.link-note { color:var(--muted); margin:12px 0 0; font-size:13px; }
.section { padding:64px 0; border-top:1px solid var(--line); }
h2 { font-size:clamp(28px,3vw,36px); line-height:1.4; letter-spacing:-.02em; }
h3 { font-size:20px; line-height:1.5; }
p { color:var(--muted); }
.section-copy { margin:20px 0 0; }
.topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; margin-top:30px; }
.topics article { display:flex; gap:18px; padding:28px 0; border-top:1px solid var(--line); }
.number { color:var(--green); font-size:14px; line-height:30px; }
.topics p { margin:10px 0 0; font-size:16px; }
.split { display:grid; grid-template-columns:1fr 1.2fr; gap:64px; }
.audience { list-style:none; padding:0; margin:0; }
.audience li + li { margin-top:28px; }
.audience p { margin:10px 0 0; }
.teacher { display:grid; grid-template-columns:240px minmax(0,1fr); gap:56px; align-items:center; }
.teacher img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:16px; }
.teacher p:not(.eyebrow) { max-width:620px; }
.text-link { display:inline-flex; align-items:center; min-height:44px; font-weight:600; }
.readable { max-width:1080px; }
.readable > p:not(.eyebrow) { max-width:760px; }
.faq { margin-top:30px; }
details { border-bottom:1px solid var(--line); }
summary { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:72px; padding:18px 0; list-style:none; cursor:pointer; font-weight:600; }
summary::-webkit-details-marker { display:none; }
summary span { color:var(--green); flex:none; }
details[open] summary span { transform:rotate(45deg); }
details p { margin:0 0 24px; max-width:780px; font-size:16px; }
footer { padding:28px 0 36px; text-align:center; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }
footer a { text-decoration:none; }
@media(max-width:700px) {
  .shell { width:calc(100% - 32px); }
  .nav { min-height:66px; gap:12px; }
  .nav-links { gap:14px; font-size:13px; }
  .hero { padding:48px 0; }
  .lead { margin:20px 0; }
  .section { padding:44px 0; }
  .topics,.split { grid-template-columns:1fr; gap:24px; }
  .topics { gap:0; }
  .topics article { padding:24px 0; }
  .teacher { grid-template-columns:1fr; gap:28px; }
  .teacher img { width:180px; }
  .button { width:100%; }
  summary { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
