/* ==========================================================================
   tokens.css — 艺考信息台 · 设计变量唯一来源
   与 zhai-classteacher.cn 同一套取值，视觉语言保持一致。
   换配色只改「换肤区」10 个值，其余全部自动派生。
   ========================================================================== */

:root {
  /* ---------- 换肤区 ---------- */
  --skin-primary:      #17402F;   /* 主色：深林绿 */
  --skin-primary-pale: #E7F1EC;   /* 主色淡底 */
  --skin-page:         #F2F7EC;   /* 页面底色：薄荷奶白 */
  --skin-card:         #FFFFFF;
  --skin-input:        #EDF2E6;
  --skin-text:         #1F1D19;
  --skin-text-2:       #6B655C;
  --skin-border:       #DCE5D6;
  --skin-cta:          #D4F269;   /* CTA 荧光绿 */
  --skin-cta-hover:    #C9EA58;

  /* ---------- 节点类型语义色（时间轴/日历共用） ---------- */
  --ev-reg:    #17402F;   /* 报名 */
  --ev-pay:    #8A6A2F;   /* 缴费 */
  --ev-exam:   #C0392B;   /* 考试 */
  --ev-score:  #3E6B9B;   /* 查分 */
  --ev-fill:   #7C5CBF;   /* 志愿填报 */
  --ev-other:  #6B655C;   /* 其它 */

  /* ---------- 派生（勿手改） ---------- */
  --primary:          var(--skin-primary);
  --primary-pale:     var(--skin-primary-pale);
  --primary-light:    color-mix(in srgb, var(--skin-primary) 82%, #fff);
  --primary-border:   color-mix(in srgb, var(--skin-primary) 30%, var(--skin-card));
  --primary-alpha:    color-mix(in srgb, var(--skin-primary) 8%, transparent);

  --text:             var(--skin-text);
  --text-2:           var(--skin-text-2);
  --text-3:           color-mix(in srgb, var(--skin-text-2) 72%, var(--skin-page));
  --text-4:           color-mix(in srgb, var(--skin-text-2) 42%, var(--skin-page));

  --card:             var(--skin-card);
  --page:             var(--skin-page);
  --border:           var(--skin-border);
  --border-soft:      color-mix(in srgb, var(--skin-border) 60%, var(--skin-card));

  --radius-sm: 8px;
  --radius:    12px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  --shadow-card: 0 1px 2px rgba(31, 29, 25, .04), 0 8px 24px rgba(31, 29, 25, .045);
  --shadow-pop:  0 2px 8px rgba(31, 29, 25, .08), 0 24px 60px rgba(31, 29, 25, .14);

  --topbar-h: 56px;
  --tabbar-h: 54px;
  --wrap: 1180px;

  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
          "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", sans-serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }

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

body {
  margin: 0;
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.55;
  color: var(--text);
  background: var(--page);
  -webkit-font-smoothing: antialiased;
  padding-top: calc(var(--topbar-h) + env(safe-area-inset-top, 0px));
  padding-bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 861px) {
  body { padding-bottom: 0; }
}

a { color: inherit; text-decoration: none; }

button, input, select, textarea { font-family: inherit; font-size: 14px; color: inherit; }

/* 手机端聚焦不放大：所有输入类 ≥16px */
input, textarea, select { font-size: 16px; }
@media (min-width: 861px) {
  input, textarea, select { font-size: 14px; }
}

::selection { background: color-mix(in srgb, var(--skin-cta) 55%, transparent); }
