/* ============================================================
   RedPenKit 统一设计系统 · Design Tokens（唯一权威）
   所有页面通过 <link> 引入本文件 + rp-core.css，禁止再内联 :root。
   命名统一 --rp-*；配色对比度满足 WCAG AA（正文 ≥4.5:1）。
   ============================================================ */

:root {
  /* ===== 品牌色 ===== */
  --rp-navy: #1C2B3D;          /* 墨蓝 - 主品牌色 / 标题 */
  --rp-navy-light: #2C3E50;    /* 浅墨蓝 - hover / 选中 */
  --rp-navy-deep: #14202E;     /* 深墨蓝 - 渐变底 / footer */
  --rp-red: #B91C1C;           /* 朱砂红 - 核心强调 / 主按钮 */
  --rp-red-light: #991B1B;     /* 深朱砂红 - hover */
  --rp-red-soft: rgba(185, 28, 28, 0.08);   /* 红色极淡背景 */
  --rp-gold: #B8902F;          /* 鎏金 - 次要强调（加深以达对比度） */
  --rp-gold-light: #D4B060;
  --rp-gold-soft: rgba(184, 144, 47, 0.10);

  /* ===== 中性色 ===== */
  --rp-bg: #FFFCF7;            /* 暖白背景 */
  --rp-bg-alt: #FFF8F0;        /* 次级背景 */
  --rp-bg-soft: #F5EDE0;       /* 柔和背景 */
  --rp-card: #FFFFFF;          /* 卡片背景 */
  --rp-text: #2C1810;          /* 主文字（近黑棕） */
  --rp-text-2: #4A3B33;        /* 次级文字 */
  --rp-text-muted: #6B5750;    /* 弱化文字（已修正：白底 ≈ 4.6:1 达标） */
  --rp-border: #E4D9C8;        /* 边框 */
  --rp-border-light: #F0E8D8;  /* 浅边框 */

  /* ===== 状态色（语义） ===== */
  --rp-success: #157F4E;
  --rp-success-soft: rgba(21, 127, 78, 0.10);
  --rp-warning: #B45309;
  --rp-warning-soft: rgba(180, 83, 9, 0.10);
  --rp-error: #C0392B;
  --rp-error-soft: rgba(192, 57, 43, 0.09);
  --rp-info: #1D4ED8;
  --rp-info-soft: rgba(29, 78, 216, 0.09);

  /* ===== 阴影 ===== */
  --rp-shadow-sm: 0 1px 3px rgba(28, 43, 61, 0.08);
  --rp-shadow: 0 4px 24px rgba(28, 43, 61, 0.08);
  --rp-shadow-lg: 0 20px 60px rgba(28, 43, 61, 0.12);
  --rp-shadow-focus: 0 0 0 3px rgba(185, 28, 28, 0.14);

  /* ===== 圆角 ===== */
  --rp-radius-sm: 8px;
  --rp-radius: 10px;
  --rp-radius-lg: 16px;
  --rp-radius-xl: 20px;
  --rp-radius-pill: 999px;

  /* ===== 字体 ===== */
  --rp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --rp-font-serif: "Noto Serif SC", serif;
  --rp-text-scale: 1;          /* 预留：支持 200% 缩放下仍可读 */

  /* ===== 字号（基准 16px） ===== */
  --rp-fs-xs: 12px;
  --rp-fs-sm: 13px;
  --rp-fs-base: 14px;
  --rp-fs-md: 15px;
  --rp-fs-lg: 17px;
  --rp-fs-xl: 20px;
  --rp-fs-2xl: 24px;
  --rp-fs-3xl: 30px;
  --rp-fs-4xl: 36px;

  /* ===== 间距（4px 基准） ===== */
  --rp-space-1: 4px;
  --rp-space-2: 8px;
  --rp-space-3: 12px;
  --rp-space-4: 16px;
  --rp-space-5: 20px;
  --rp-space-6: 24px;
  --rp-space-8: 32px;
  --rp-space-10: 40px;
  --rp-space-12: 48px;
  --rp-space-16: 64px;

  /* ===== 过渡 ===== */
  --rp-t-fast: 150ms ease;
  --rp-t: 200ms ease;
  --rp-t-slow: 300ms ease;

  /* ===== 布局 ===== */
  --rp-nav-h: 68px;
  --rp-max-w: 1200px;
  --rp-z-nav: 100;
  --rp-z-toast: 1000;

  /* ===== 装饰性渐变 / 光晕 / 质感（精美层） ===== */
  --rp-grad-red: linear-gradient(135deg, #C8402F 0%, var(--rp-red) 55%, var(--rp-red-light) 100%);
  --rp-grad-gold: linear-gradient(135deg, #E6CD86 0%, var(--rp-gold) 52%, #8C6B1E 100%);
  --rp-grad-navy: linear-gradient(165deg, #22344A 0%, var(--rp-navy) 45%, var(--rp-navy-deep) 100%);
  --rp-line-gold: linear-gradient(90deg, transparent 0%, var(--rp-gold-light) 30%, var(--rp-gold) 50%, var(--rp-gold-light) 70%, transparent 100%);
  /* 多层柔光阴影：替代单层生硬投影，营造漂浮精致感 */
  --rp-shadow-soft: 0 1px 2px rgba(28,43,61,.04), 0 6px 16px rgba(28,43,61,.06);
  --rp-shadow-float: 0 2px 6px rgba(28,43,61,.05), 0 14px 38px rgba(28,43,61,.10);
  --rp-shadow-float-lg: 0 6px 14px rgba(28,43,61,.07), 0 28px 70px rgba(28,43,61,.14);
  /* 内描边高光（精致卡片/按钮） */
  --rp-ring-gold: inset 0 0 0 1px rgba(184,144,47,.16);
  --rp-ring-soft: inset 0 1px 0 rgba(255,255,255,.75);
  /* 背景光晕（极淡，叠加营造氛围） */
  --rp-glow-red: rgba(185,28,28,.10);
  --rp-glow-gold: rgba(184,144,47,.13);
  --rp-glow-navy: rgba(28,43,61,.18);
  /* 极淡宣纸纹理（叠加在浅底上提供纸感） */
  --rp-paper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.028'/%3E%3C/svg%3E");
}

/* ===== 基础重置 ===== */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }

html { -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--rp-font);
  background: var(--rp-bg);
  color: var(--rp-text);
  line-height: 1.6;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* 统一可访问焦点环（键盘导航可见，鼠标点击不显） */
:focus-visible {
  outline: 2px solid var(--rp-red);
  outline-offset: 2px;
  border-radius: var(--rp-radius-sm);
}
