/* ══════════════════════════════════════════════════════════════════════════
   tokens.css —— 打靶图产品族设计令牌（2026-08-24 定稿口径）

   铁律：**UI 一律灰黑白，彩色只给数据可视化**（靶图点 / 叙事线色 / 语义状态）。
   主按钮是实心 #666 —— 不是品牌蓝。这一条被用户当面抓过一次，照抄即可。
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  /* —— 家族交互色（不许自创） —— */
  --primary:#666666;
  --primary-hover:#333333;
  --slot:rgba(85,85,85,.08);
  --slot-hover:rgba(85,85,85,.10);
  --slot-on:rgba(85,85,85,.10);

  /* —— 中性阶 —— */
  --text:#1f2329;
  --text-2:#4b5563;
  --text-3:#8a93a6;
  --line:#e5e7eb;
  --line-2:#eef0f2;
  --bg:#ffffff;
  --bg-2:#faf9f6;
  --bg-3:#f5f6fa;

  /* —— 控件尺寸（同行控件锁同一高度，家族踩过"按钮比输入框高 2~6px"） —— */
  --field-h:29px;
  --radius:8px;

  /* —— 状态 —— */
  --disabled-bg:#f1f2f4;
  --disabled-fg:#9aa3b2;
  --danger:#b42318;
  --focus-ring:0 0 0 3px rgba(0,0,0,.08);

  /* —— 靶图引擎依赖的变量（引擎里有 5 处没写回退值，必须在此补齐，
        否则悬停浮层描边会掉成默认黑） —— */
  --ui-line:var(--line);
  --ui-text:var(--text);
  --ui-text-2:var(--text-2);
  --ui-text-3:var(--text-3);
  --ui-radius:var(--radius);
  --muted:var(--text-3);
  --layer-tool:60;

  /* —— 地图数据色（**只用于地图**：水陆灰阶 + 地点按类型着色） —— */
  --mp-sea:#e9edf1;
  /* 体检指认色（2026-09-29 加）：暖琥珀 —— 特意避开"缝隙红"，两种提示不能撞色 */
  --mp-misfit:#d98429;
  --mp-coast:#c3c9d1;
  --mp-river:#9fb0c0;
  --mp-road:#b9c0c9;
  --mp-land-0:#f6f7f9;   /* 大陆 / 岛 */
  --mp-land-1:#edf1ec;   /* 森林 */
  --mp-land-2:#f2f0ea;   /* 沙漠 */
  --mp-land-3:#e8ebee;   /* 山脉 */
  --mp-land-4:#eceff2;   /* 冻原 / 沼地 */
  --mp-land-5:#dde5ed;   /* 水域（湖 / 内海）：比海深一档 —— 压在陆地上要一眼看出是水 */
  --mp-p-0:#1f4e79;      /* 城市 */
  --mp-p-1:#2f6b3f;      /* 城镇 */
  --mp-p-2:#8a5a1f;      /* 要塞 */
  --mp-p-3:#6b4a7a;      /* 圣地 */
  --mp-p-4:#8a4a45;      /* 遗址 */
  --mp-p-5:#5b6472;      /* 自然 */

  /* —— 叙事线色（**只用于数据**：靶图圆点 / 图例 / 标签点） —— */
  --ln-0:#c0392b;   /* 主线 */
  --ln-1:#2f6b3f;   /* 人物 */
  --ln-2:#1f4e79;   /* 冲突 */
  --ln-3:#8a6d1f;   /* 氛围 */
  --ln-4:#6b4a7a;   /* 伏笔 */
  --ln-5:#4a5568;   /* 结局 */
}

*,*::before,*::after{box-sizing:border-box}

/* ⚠ 全站兜底：任何"类选择器里写了 display"的遮罩都会从第一帧铺满全屏吞掉点击。
   这一行必须存在（家族线上事故：登录页看得见但填不进去）。 */
[hidden]{display:none !important}

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

body{
  margin:0;
  font:14px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  color:var(--text);
  background:var(--bg-3);
}

/* —— 控件基线 —— */
.btn{
  background:var(--primary);color:#fff;border:none;
  padding:7px 14px;font-size:12.5px;font-weight:600;
  border-radius:var(--radius);cursor:pointer;font-family:inherit;line-height:1.4;
}
.btn:hover{background:var(--primary-hover)}
.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.btn:disabled,.btn[aria-disabled="true"]{background:var(--disabled-bg);color:var(--disabled-fg);cursor:not-allowed}

.btn2{
  background:var(--slot);border:1px solid transparent;font-weight:400;
  color:var(--text-2);padding:7px 14px;font-size:12.5px;
  border-radius:var(--radius);cursor:pointer;font-family:inherit;line-height:1.4;
}
.btn2:hover{background:var(--slot-hover)}
.btn2:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.btn2:disabled{background:var(--disabled-bg);color:var(--disabled-fg);cursor:not-allowed}

.btn3{
  background:transparent;border:1px solid transparent;color:var(--text-3);
  padding:4px 8px;font-size:12px;border-radius:6px;cursor:pointer;font-family:inherit;line-height:1.4;
}
.btn3:hover{background:var(--slot);color:var(--text-2)}

input[type=text],input[type=password],input[type=number],select,textarea{
  font-family:inherit;font-size:12.5px;color:var(--text);
  border:1px solid var(--line);border-radius:var(--radius);background:#fff;
}
input[type=text],input[type=password],input[type=number],select{height:var(--field-h);padding:0 8px}
textarea{padding:7px 9px;line-height:1.7;resize:vertical;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:#c8ccd4;box-shadow:var(--focus-ring)}
input::placeholder,textarea::placeholder{color:#b6bcc8}
label{font-size:12px;color:var(--text-3)}

/* 关闭按钮：全系统统一「✕ 关闭」胶囊 */
.close-pill{
  background:#f3f4f6;border:none;border-radius:6px;color:var(--text-2);
  font-size:12.5px;padding:5px 10px;cursor:pointer;font-family:inherit;line-height:1.4;
}
.close-pill:hover{background:#e9ebef}
