/* ===== 竞技场之夜 Arena Night —— 设计令牌（唯一真源） =====
   1. 会员侧改色只动本文件；style.css / member.css 只准引用 var()，禁止硬编码色值。
   2. admin.css 不接入本文件（后台变量挂 body 作用域自成一套，两侧互不污染）。
   3. 语义纪律：红=占用/淘汰/错误，绿=通过/确认，金=当前/行动/荣誉，不得混用。
   4. 配色已按 WCAG AA 核算（底 #10151D）：
        #C7D0DC 正文   ≈ 11.7:1    #F2F5F9 高亮 ≈ 16.7:1    #8B97A7 次要 ≈ 6.2:1
        #E8B45A 金字   ≈  9.7:1    #4ADE80 通过 ≈ 10.5:1    #5B8DEF 信息 ≈ 5.7:1
        #FF8A8D 危险文字 ≈ 8.1:1（#E5484D 本体 4.7:1，只作边框/填充/斜纹，不作小字）
        #1A1206 金底文字：对金渐变最深端 #B87F2E ≈ 5.4:1，渐变全程过 AA。
   5. prefers-reduced-motion 全局降级已在 style.css，此处不重复。 */

/* 得意黑：构建期 pyftsubset 子集化产物（字符清单与命令见 tools/），60–120KB。
   swap 保证字体未到时系统黑体先渲染；证书获奖人姓名等任意文本一律系统黑体 900（子集不覆盖任意人名）。 */
@font-face {
  font-family: "Smiley Sans";
  src: url("/fonts/smiley-sans-subset.woff2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
}

:root {
  /* ---- 底色：近黑蓝炭，由深到浅=由远到近（950 页面底 → 700 悬浮层） ---- */
  --arena-950: #0B0E13;
  --arena-900: #10151D;   /* 主底，对比度核算基准 */
  --arena-800: #161D28;   /* 卡片/面板 */
  --arena-700: #1F2836;   /* 悬浮/输入框/hover 抬升 */
  --line: rgba(232, 238, 248, 0.10);
  --line-strong: rgba(232, 238, 248, 0.18);

  /* ---- 冠军金：锚定旧品牌金 #d99a42（=gold-500），深底主用 400 ---- */
  --gold-300: #F5D08C;    /* 高光/大字描边 */
  --gold-400: #E8B45A;    /* 金色文字/图标/边框主用 */
  --gold-500: #D99A42;    /* 品牌锚点，饱和填充 */
  --gold-600: #A86F24;    /* 深金：描边/按下态/渐变收尾，不作小字 */
  --grad-gold: linear-gradient(135deg, #F5D08C 0%, #E8B45A 45%, #B87F2E 100%);
  --on-gold: #1A1206;     /* 金底上的文字，全渐变段过 AA */

  /* ---- 文本 ---- */
  --text-hi: #F2F5F9;     /* 标题/强调 */
  --text: #C7D0DC;        /* 正文 */
  --text-dim: #8B97A7;    /* 次要/说明，仍过 AA 4.5 */

  /* ---- 语义色 + .12 透明底（徽章/状态条软填充） ---- */
  --ok: #4ADE80;          /* 通过/确认 */
  --ok-soft: rgba(74, 222, 128, 0.12);
  --danger: #E5484D;      /* 占用/淘汰/错误：只作边框/填充/斜纹 */
  --danger-text: #FF8A8D; /* 危险文字专用亮红（--danger 深底上仅 4.7:1） */
  --danger-soft: rgba(229, 72, 77, 0.12);
  --info: #5B8DEF;        /* 中性提示 */
  --info-soft: rgba(91, 141, 239, 0.12);
  --gold-soft: rgba(232, 180, 90, 0.12); /* 当前赛段/荣誉徽章软底 */

  /* ---- 字体：展示字=得意黑，正文=系统栈（不上中文 webfont） ---- */
  --font-display: "Smiley Sans", "PingFang SC", "HarmonyOS Sans SC",
    "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-body: -apple-system, "PingFang SC", "HarmonyOS Sans SC",
    "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;

  /* ---- 字号：hero/h2 流式，正文固定 ---- */
  --fs-hero: clamp(34px, 6vw, 64px);
  --fs-h2: clamp(24px, 3.4vw, 36px);
  --fs-body: 15px;
  --fs-sm: 13px;

  /* ---- 间距：4px 基准递进 4/8/12/16/24/32/48/64 ---- */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;

  /* ---- 圆角 ---- */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-pill: 999px;

  /* ---- 阴影/辉光：金辉光只给当前节点与主 CTA，滥用即廉价 ---- */
  --glow-gold: 0 0 20px rgba(232, 180, 90, 0.22), 0 0 60px rgba(232, 180, 90, 0.10);
  --shadow-panel: 0 18px 48px rgba(0, 0, 0, 0.45);

  /* ---- 舞台元素：顶部追光 + 斜切分割（transform: skewY 用） ---- */
  --spotlight: radial-gradient(60% 40% at 50% 0%, rgba(232, 180, 90, 0.08), transparent);
  --cut-angle: 3deg;

  /* ---- 尺寸 ---- */
  --tap: 44px;            /* 最小触控目标 */
  --maxw: 1160px;         /* 内容最大宽，与旧版一致 */

  /* ---- 动效：出场快进慢出；reduced-motion 降级见 style.css ---- */
  --t-fast: 0.18s;
  --t-med: 0.28s;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* 图标基类：等宽字形定宽占位对齐（与 admin.css .nav-menu .ico 同法；颜色由上下文决定） */
.ico {
  display: inline-block;
  width: 24px;
  flex-shrink: 0;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  letter-spacing: 0;
  text-align: center;
}
