/* ============================================================
 * 页面外壳 —— /learning/ 与 /roadmap/ 共用
 * ============================================================
 * 从 static/learning/styles.css 拆出来的:设计变量(:root)、基础 reset、
 * body.lr-body、.lr-shell、.lr-topbar* 这一套。
 *
 * 为什么拆:全站只有 /learning/ 和 /roadmap/ 加载 learning/styles.css,
 * 但两个页面用到的 lr-* 类只有 body.lr-body / .lr-shell / .lr-topbar* ——
 * /learning/ 专属的热力图、继续学习卡、路径列表那 24KB 规则,对 /roadmap/
 * 是纯粹的死重(27KB → 2.6KB)。两个页面各加载自己的那份:
 *   /learning/  → page-shell.css + learning/styles.css
 *   /roadmap/   → page-shell.css + roadmap/roadmap.css
 *
 * 改设计变量(--ink / --accent / --paper-* 等)只改这一份。
 * ============================================================ */

:root {
  --paper: #fbf6ee;
  --paper-strong: #f5ecdc;
  --paper-deep: #eadbc8;
  --paper-card: #f9f2e5;
  --ink: #3d2c1f;
  --ink-soft: #5b4329;
  --muted: #8a6f54;
  --line: rgba(110, 79, 54, 0.14);
  --line-strong: rgba(110, 79, 54, 0.22);
  --shadow: 0 14px 32px rgba(81, 58, 35, 0.10);
  --shadow-hover: 0 18px 36px rgba(81, 58, 35, 0.16);

  --accent: #70543a;
  --accent-hover: #5a4226;
  --accent-soft: #f3e7d2;
  --accent-fg: #ffffff;

  --success-bg: #e6f4ea;
  --success-fg: #1e7a3a;
  --leaf: #5b9c3a;
  --warning-bg: #fef3cd;
  --warning-fg: #856404;
  --error-bg: #fdecea;
  --error-fg: #b3261e;

  --heat-0: #f1e6d2;
  --heat-1: #e1c9a3;
  --heat-2: #c8a273;
  --heat-3: #a87a4a;
  --heat-4: #7a532d;

  --serif: "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC",
           "Times New Roman", Georgia, serif;
  --sans:  -apple-system, BlinkMacSystemFont, "PingFang SC",
           "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --mono:  "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body.lr-body {
  margin: 0;
  font-family: var(--sans);
  color: var(--ink);
  background: linear-gradient(180deg, #fbf6ee 0%, #f3e7d2 100%);
  line-height: 1.2;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
}

/* —— shell —— */
.lr-shell {
  /* 与 /me/ /syllabus /repository 同宽 (1040px),顶栏水平边界对齐 */
  max-width: 1040px;
  margin: 4px auto;
  padding: 28px 24px 64px;
}

/* —— topbar (与 me / syllabus 一致) —— */
.lr-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
  height: 30px;
  line-height: 1;
}
.lr-topbar__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--ink-soft);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.lr-topbar__brand:hover { color: var(--accent); }
.lr-topbar__brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  line-height: 1;
  border-radius: 8px;
  background: linear-gradient(135deg, #f8f1e7, #eadbc8);
  color: #6e4f36;
  font-weight: 700;
  font-size: 14px;
}
