/* 睿课表 Design Token —— 全局唯一来源（UI 设计风格与计划 v1.0 §2）
   v6.4 清新化：底色由冷灰蓝转为「薄荷白」，文字加深提对比，标题字重单列 token。
   所有页面/组件只能引用以下变量，不得写死色值/像素。 */

:root{
  /* 品牌色（计划书 §2.1 锁定，不随风格调整） */
  --brand-blue:        #1E5BFF;   /* 科技蓝·主色(校区线) */
  --brand-blue-hover:  #1746CC;
  --brand-blue-tint:   #EAF1FF;
  --brand-orange:      #FF8A3D;   /* 暖橙·强调(编程线) */
  --brand-orange-hover:#F2761F;
  --brand-orange-tint: #FFF1E6;

  /* 业务线三色（仅区分/筛选/视图切换，不替代主色） */
  --line-campus:  var(--brand-blue);
  --line-program: var(--brand-orange);
  --line-school:  #7C6CF0;        /* 校企·柔和紫 */
  --line-school-tint:#F0EEFE;

  /* 中性（清新薄荷白，非冷灰） */
  --bg:          #F4F9F7;
  --bg-grad:     linear-gradient(180deg,#F8FCFA 0%,#F1F7F4 100%);
  --surface:     #FFFFFF;
  --surface-2:   #EDF4F1;
  --border:      #DFEAE5;
  --text-1:      #16211E;   /* 主文本（深墨绿黑，非纯黑，对比 > 13:1） */
  --text-2:      #4C5C57;   /* 次文本（对比 > 7:1） */
  --text-3:      #7E8D88;   /* 弱文本/占位（在白底上仍 > 4.5:1） */

  /* 语义色（低饱和 + tint） */
  --success:      #17A673; --success-tint: #E4F7EF;
  --warning:      #D98718; --warning-tint: #FDF2E2;
  --danger:       #D94A38; --danger-tint: #FCECE9;
  --info:         var(--brand-blue);

  /* 圆角（柔和关键） */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-pill: 999px;

  /* 阴影（柔和扩散，非硬边） */
  --shadow-sm: 0 1px 2px rgba(22,33,30,.04), 0 2px 8px rgba(22,33,30,.05);
  --shadow-md: 0 4px 16px rgba(22,33,30,.07);
  --shadow-lg: 0 12px 32px rgba(22,33,30,.09);

  /* 间距（8pt 栅格；v6.4 整体收紧一档做「信息密度可控」） */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
  --sp-5:20px; --sp-6:28px; --sp-7:36px; --sp-8:44px;

  /* 字体 */
  --font-sans: "PingFang SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fs-12:12px; --fs-13:13px; --fs-14:14px;
  --fs-16:16px; --fs-18:18px; --fs-20:20px;
  --fs-24:24px; --fs-32:32px; --fs-40:40px;
  --lh: 1.5;
  /* 字重：标题必须明显重于正文（v6.4 修「标题太细不够显眼」） */
  --fw-body: 400;
  --fw-label: 500;
  --fw-title: 700;
  --fw-strong: 800;

  /* 动效 */
  --ease: cubic-bezier(.4,0,.2,1);
  --dur: 200ms;
}

* { box-sizing: border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family: var(--font-sans);
  font-size: var(--fs-14);
  line-height: var(--lh);
  color: var(--text-1);
  background: var(--bg-grad);
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,h2,h3,h4{ font-weight: var(--fw-title); color: var(--text-1); letter-spacing:.2px; }
b,strong{ font-weight: var(--fw-title); }
::selection{ background: var(--brand-blue-tint); color: var(--text-1); }
