/* curriculum.css — 「题目怎么对齐课程」页(/curriculum/、/curriculum/zh/)。页面由 web/curriculum-src/build_curriculum.py 生成。
   接在 /site.css 与 /_shared.css 之后;只加这页独有的东西:宽表格、官方文件清单、样题。
   🔴 CSP 不许内联样式:版面全在这里。改完跑 build_shell.py(按内容哈希改写 ?v=)。
   🔴 表格比 720 栏宽:包在 .tw 里各自横向滚动,页面本身不许横向滚动。 */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:16px 0 8px;border:1px solid var(--line);border-radius:14px;background:var(--night2)}
.tw table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}
.tw th,.tw td{padding:9px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);color:var(--ink4)}
.tw thead th{font:600 10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);background:var(--surf3);white-space:nowrap}
.tw tbody tr:last-child th,.tw tbody tr:last-child td{border-bottom:0}
.tw .r{color:var(--ink);font-weight:700;white-space:nowrap}
.tw .num{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}
.tw .hd{display:block;color:var(--ink2);font-size:13px}
.tw .to{display:block;margin-top:4px;color:var(--ink)}
.tw .cov{display:block;color:var(--ink)}
.tw .cnt{display:block;margin-top:3px;font:600 10.5px var(--mono);letter-spacing:.06em;color:var(--ink3)}
.tw .ex{display:block;margin-top:8px;padding:9px 11px;background:var(--surf3);border:1px solid var(--line);border-radius:10px}
table.split thead th,table.cells thead th,table.split .r{white-space:normal}
table.split .r{min-width:96px}
table.years{min-width:760px}
table.years td{white-space:nowrap}
.q{display:block;color:var(--ink4);font-size:13.5px;white-space:pre-line}
.ex .fig{display:block;margin:10px 0 4px}
.ex .fig svg{display:block;max-width:100%;height:auto}   /* 插图由生成器用 70-figure.js 的 night 主题画成实色;根上不带 style(CSP) */
.swipe{display:none;color:var(--ink3);font-size:12.5px;margin:4px 0 0}
@media (max-width:760px){.swipe{display:block}}
.tag{display:inline-block;margin-top:5px;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--aur);
  border:1px solid var(--aurline);background:var(--aursoft);border-radius:999px;padding:4px 8px}
.approx{border-left:3px solid var(--lamp);padding:2px 0 2px 14px;margin:16px 0}
.approx strong{font-weight:600}
h3.st{font:700 17px/1.3 var(--disp);color:var(--ink);margin:30px 0 4px}
.docs{display:grid;gap:12px;margin:16px 0}
.doc{background:var(--night2);border:1px solid var(--line);border-radius:14px;padding:14px 18px}
.doc h3{font:700 16px/1.3 var(--disp);color:var(--ink);margin:0 0 6px}
.doc h3 small{font:600 11px var(--mono);letter-spacing:.08em;color:var(--ink3);margin-left:6px}
.doc ul{list-style:none;padding:0;margin:0}
.doc li{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin:6px 0;font-size:14.5px}
.doc .rg{flex:none;font:600 11px var(--mono);letter-spacing:.06em;color:var(--lamp);white-space:nowrap}
.doc .fine{margin:8px 0 0}
ul.checks li{margin:9px 0}
.card h2.m0{margin:0 0 8px}
@media (max-width:520px){.doc li{flex-direction:column;gap:2px}}
