/* 法律英语课堂 · 配色变量和基础排版。课程渲染器（课程/app/course.css）靠这些变量；离线版也内嵌这一份。奶白底、深海军蓝字、橙色点睛。 */
:root {
  --paper: #f5f0e6;
  --paper-2: #ece5d6;
  --card: #fbf8f1;
  --ink: #1b2238;
  --ink-2: #4a5068;
  --ink-3: #757a90;
  --rule: #ddd4c2;
  --accent: #9a530a;
  --accent-fill: #ee9f2a;
  --navy: #1b2238;
  --g1: #6f62a8; --g2: #c0533a; --g3: #2f78a8; --g4: #3c8656; --g5: #b8841f; --g6: #637890;
  --shadow: 0 1px 2px rgba(27, 34, 56, .06), 0 8px 24px rgba(27, 34, 56, .07);
  --serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #121729; --paper-2: #181e33; --card: #1b2238; --ink: #f1ece0; --ink-2: #c4c2c9; --ink-3: #8f94aa;
    --rule: #2c3350; --accent: #f3ad45; --accent-fill: #f3a525;
    --g1: #9a8fd6; --g2: #e07a5f; --g3: #5ea8d8; --g4: #66b27f; --g5: #e0ad48; --g6: #93a6bb;
    --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .25);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --paper: #121729; --paper-2: #181e33; --card: #1b2238; --ink: #f1ece0; --ink-2: #c4c2c9; --ink-3: #8f94aa;
  --rule: #2c3350; --accent: #f3ad45; --accent-fill: #f3a525;
  --g1: #9a8fd6; --g2: #e07a5f; --g3: #5ea8d8; --g4: #66b27f; --g5: #e0ad48; --g6: #93a6bb;
  --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .25);
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 84px; }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font: 17px/1.85 var(--sans); letter-spacing: .01em;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
h1, h2, h3 { font-family: var(--serif); font-weight: 700; color: var(--ink); line-height: 1.3; letter-spacing: .02em; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--accent-fill); outline-offset: 3px; border-radius: 4px; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--ink); color: var(--paper); padding: 6px 12px; border-radius: 6px; z-index: 99; }
.skip:focus { left: 16px; }

.wrap { width: min(1180px, 100% - 32px); margin-inline: auto; }
.narrow { width: min(760px, 100% - 32px); }
