/* ==========================================================================
   飞轮之眼 · 外联双端 全局主题令牌（单一来源 · v1.0 · 2026-10-07）
   双端壳（mobile/ desktop/）+ 内容页（pages/）统一 <link> 引用本文件。
   禁止任何页面自行内嵌色值/令牌 —— 新增页签一律继承本令牌。
   护眼设计：暗 #1A2330 系 / 亮 #EEF1F4 系（非纯黑纯白，防刺眼）。
   主题切换：html[data-theme] + localStorage('fw-combo-theme') + postMessage('fw-theme') 三向同步。
   ========================================================================== */

:root{
  /* ---- 色彩（暗色 · 柔和深灰蓝，非纯黑，微暖降对比） ---- */
  --bg:#21252C;            /* 页面背景（柔和深灰蓝） */
  --panel:#292E37;         /* 卡片/导航背景 */
  --panel2:#303640;        /* 次级面板 / hover */
  --line:#3A4150;          /* 分隔线/边框 */
  --line2:#46505F;         /* 强边框/hover 边框 */
  --ink:#D9DEE5;           /* 主文字（微暖白，非纯白） */
  --ink2:#A3ACB8;          /* 次级文字 */
  --ink3:#7F8A97;          /* 弱化文字/说明 */
  --acc:#1FB3AB;           /* 主强调（飞轮青，提亮一档保证暗底可读） */
  --acc2:#0E857F;          /* 强调深 */
  --acc-soft:rgba(31,179,171,.16);  /* 强调柔背景 */
  --ok:#4CC98F;            /* 成功/完成 */
  --ok-soft:rgba(76,201,143,.14);
  --hi:#E2544D;            /* 高优/警告（柔和红，非刺眼） */
  --hi-soft:rgba(226,84,77,.14);
  --mid:#E3B341;           /* 中优/提醒（柔和琥珀） */
  --mid-soft:rgba(227,179,65,.13);

  /* ---- 版式令牌 ---- */
  --radius:12px;           /* 卡片圆角 */
  --radius-s:8px;          /* 小控件圆角 */
  --fs-lg:20px;            /* 页标题 */
  --fs-md:16px;            /* 卡片标题 */
  --fs-base:15px;          /* 正文（移动端 ≥14px 可读下限） */
  --fs-sm:13px;            /* 辅助/说明 */
  --fs-xs:12px;            /* 标签 */
  --tap-min:44px;          /* 触控最小尺寸（移动端标准） */
  --safe-top:env(safe-area-inset-top, 0px);
  --safe-bottom:env(safe-area-inset-bottom, 0px);

  /* ---- 过渡 ---- */
  --t-fast:.18s ease;
  --t-slow:.25s ease;

  /* ---- 内容页语义令牌（arch/board 与双端壳共用，禁止内嵌色值） ---- */
  --tag-border:#42536C;    /* 标签边框 */
  --plain:#C9D5E0;         /* 正文次级（比 --ink 弱、比 --ink2 强） */
  --ok-border:#2E8B63;     /* 完成/成功 边框 */
  --warn-border:#9A7417;   /* 提醒/中优 边框 */
  --bad-border:#96332E;    /* 高优/警告 边框 */
  --radar-soft1:rgba(31,179,171,.05);  /* 雷达图底（浅） */
  --radar-soft2:rgba(31,179,171,.08);  /* 雷达图底（深） */
  /* board 派生语义色（标签文字/数值前景） */
  --idx-fg:#062A26; --tid-fg:#45C9C3; --hi-fg:#F1948A;
  --dep-fg:#F7DC6F; --empty-fg:#F7DC6F; --lv-fg:#F1948A; --warn-fg:#F7DC6F;
  --lo:#8293A2;           /* 中性弱数值 */
}

/* ---- 亮色（护眼 · 柔和暖灰米，非惨白非纯白） ---- */
html[data-theme="light"]{
  --bg:#F0EDE6;            /* 页面背景：柔和暖灰米（降刺眼） */
  --panel:#FAF8F3;         /* 卡片/导航背景：近白带暖 */
  --panel2:#E8E3D9;        /* 次级面板 / hover */
  --line:#D6CFC1;          /* 分隔线/边框 */
  --line2:#C3BAA9;         /* 强边框/hover 边框 */
  --ink:#35312A;           /* 主文字：深暖灰（非纯黑） */
  --ink2:#6B6355;          /* 次级文字 */
  --ink3:#8E8577;          /* 弱化文字/说明 */
  --acc:#0E8F89;           /* 主强调（飞轮青） */
  --acc2:#0B6E6A;          /* 强调深 */
  --acc-soft:rgba(14,143,137,.12);
  --ok:#1E8E5C;            /* 成功/完成 */
  --ok-soft:rgba(30,142,92,.12);
  --hi:#B84A3C;            /* 高优/警告（柔和砖红） */
  --hi-soft:rgba(184,74,60,.12);
  --mid:#A87F1A;           /* 中优/提醒（柔和赭金） */
  --mid-soft:rgba(168,127,26,.12);
  /* 内容页语义令牌（亮色） */
  --tag-border:#C9C0B0;
  --plain:#4A443A;
  --ok-border:#1E7A4E;
  --warn-border:#A87F1A;
  --bad-border:#A33B30;
  --radar-soft1:rgba(14,143,137,.05);
  --radar-soft2:rgba(14,143,137,.08);
  --idx-fg:#FFFFFF; --tid-fg:#0E6E69; --hi-fg:#96392F;
  --dep-fg:#7A5D00; --empty-fg:#7A5D00; --lv-fg:#96392F; --warn-fg:#7A5D00;
  --lo:#6B6355;
}

/* ---- 基础（双端壳与内容页共用骨架） ---- */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg); color:var(--ink);
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  font-size:var(--fs-base); line-height:1.6;
  transition:background var(--t-slow),color var(--t-slow);
}

/* ---- 通用组件令牌（双端壳共用，页面结构样式各自维护） ---- */
.fw-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.fw-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:var(--tap-min);padding:8px 14px;border-radius:var(--radius-s);
  border:1px solid var(--line);background:var(--panel2);color:var(--ink2);
  font-size:var(--fs-base);cursor:pointer;user-select:none;
  -webkit-tap-highlight-color:transparent;transition:background var(--t-fast),color var(--t-fast);
}
.fw-btn:active{transform:scale(.98)}
.fw-btn.on{background:var(--acc-soft);border-color:var(--acc);color:var(--acc)}
.fw-chip{display:inline-block;font-size:var(--fs-sm);padding:1px 10px;border-radius:20px;background:var(--panel2);color:var(--ink2);border:1px solid var(--line)}
.fw-chip.ok{color:var(--ok);background:var(--ok-soft);border-color:transparent}
.fw-chip.hi{color:var(--hi);background:var(--hi-soft);border-color:transparent}
.fw-chip.mid{color:var(--mid);background:var(--mid-soft);border-color:transparent}

/* ---- 滚动条（桌面端细化，移动端隐藏） ---- */
@media (min-width:1024px){
  ::-webkit-scrollbar{width:8px;height:8px}
  ::-webkit-scrollbar-thumb{background:var(--line2);border-radius:4px}
  ::-webkit-scrollbar-track{background:transparent}
}
