/* ═══════════════════════════════════════════════════
   M-Model V3 — Theme Variables
   所有颜色、字体、间距、圆角都从这里来。
   新增颜色必须加变量，禁止硬编码。
   ═══════════════════════════════════════════════════ */

/* ⚠️ 颜色只用 hex/rgba，禁止 oklch（2026-07-01 主人小米8实锤根因，任务#13）：
   旧版曾用 "--c-x: hex; --c-x: oklch" 双声明想"渐进增强"——大错特错！CSS 规范规定
   custom property 不校验值语法，后声明无条件覆盖前声明 → oklch 那行永远盖掉 hex →
   老内核 WebView 不支持 oklch → 变量解析失败被当 invalid 丢弃 → --c-text/accent/border
   全雪崩 → 深黑底无字色 = "啥也看不见"。修法：直接全删 oklch 只留 hex/rgba，根除隐患。
   精度损失可忽略（人眼分不出 oklch 与 hex 算出的相近色），稳过老内核才要紧。 */

/* ─── Dark (default) ─── */
:root, [data-theme="dark"] {
  /* Accent */
  --c-accent:        #ECAA0B;
  --c-accent-dim:    #C08000;
  --c-accent-bg:     rgba(236,170,11,0.10);
  --c-accent-border: rgba(236,170,11,0.22);
  --c-accent-text:   #0c0c14;

  /* Semantic — A股红涨绿跌 */
  --c-up:            #CF4040;
  --c-up-bg:         rgba(207,64,64,0.10);
  --c-down:          #00AC4E;
  --c-down-bg:       rgba(0,172,78,0.10);

  /* v350(2026-08-21) 主人 4 区: 论坛点赞金棕主题色 (与 --c-accent 金棕同源, SVG fill 单独用 --c-like-flat 单色) */
  --c-like:          linear-gradient(135deg, #ECAA0B 0%, #B67700 100%);
  --c-like-flat:     #ECAA0B;

  /* Presence(在线指示, 蓝, 与 A股涨跌语义解耦——绿=跌是负向信号, 不该表"在线") */
  --c-presence:      #3B82F6;
  --c-presence-glow: rgba(59,130,246,0.5);

  /* Role dots(角色徽章, 深浅主题各一套, 替代旧 hex 写死) */
  --c-role-admin:    #ef4444;
  --c-role-sub_admin:#f97316;
  --c-role-pro:      #f59e0b;
  --c-role-plus:    #3b82f6;
  --c-role-user:     #9ca3af;
  --c-role-bot:      #ECAA0B;

  /* Surfaces */
  --c-bg:            #0c0c14;
  --c-sky:           #1677ff;  /* 语义蓝(信息/主指标), 原写死 #1677ff 收编 2026-09-18 P1-3 */
  --c-surface:       #14141e;
  --c-surface-2:     #1c1c28;
  --c-surface-3:     #222230;

  /* Borders */
  --c-border:        rgba(255,255,255,0.06);
  --c-border-2:      rgba(255,255,255,0.10);

  /* Text */
  --c-text:          #E1E5EB;
  --c-text-2:        #7F8793;
  --c-text-3:        #474D58;

  /* Ticker */
  --c-ticker-bg:     rgba(236,170,11,0.06);
  --c-ticker-text:   #ECAA0B;

  /* Shadow */
  --c-shadow:        0 2px 8px rgba(0,0,0,.3);

  --c-mention-self:  #60a5fa;  /* 2026-08-10 @在自己气泡上的颜色(蓝, 从金底跳出) */

  /* 幽灵 token 收编 (2026-09-02): --c-card/--c-bg-2/--c-bg-3/--c-text-1/--c-warn 曾被
     admin.css/components.css/mcp.css/community.css 引用(全站 70+ 处)但从未定义——
     带深色 fallback 的=浅色主题下等效写死暗色, 无 fallback 的=声明直接失效。
     别名指向既有 token, SSOT 不重复值; --c-warn dark 取原 fallback #d29922 保持 0 视觉变化。 */
  --c-card:   var(--c-surface-2);
  --c-bg-2:   var(--c-surface);
  --c-bg-3:   var(--c-surface-2);
  --c-text-1: var(--c-text);
  --c-warn:   #d29922;
}

/* ─── Light ─── */
[data-theme="light"] {
  --c-accent:        #B67700;
  --c-accent-dim:    #945A00;
  --c-accent-bg:     rgba(182,119,0,0.08);
  --c-accent-border: rgba(182,119,0,0.18);
  --c-accent-text:   #ffffff;

  --c-up:            #BD413F;
  --c-up-bg:         rgba(189,65,63,0.08);
  --c-down:          #008130;
  --c-down-bg:       rgba(0,129,48,0.08);

  /* v350(2026-08-21) 主人 4 区: 浅色主题点赞金棕 (深棕→亮金, 浅色底上对比够) */
  --c-like:          linear-gradient(135deg, #B67700 0%, #ECAA0B 100%);
  --c-like-flat:     #B67700;

  --c-presence:      #2563EB;
  --c-presence-glow: rgba(37,99,235,0.5);

  --c-role-admin:    #BD413F;
  --c-role-sub_admin:#ea580c;
  --c-role-pro:      #d97706;
  --c-role-plus:    #2563eb;
  --c-role-user:     #83868C;
  --c-role-bot:      #B8860B;

  --c-bg:            #f4f4f8;
  --c-sky:           #0958d9;  /* 语义蓝 light 档(antd blue-7, 浅底对比度达标) */
  --c-surface:       #ffffff;
  --c-surface-2:     #eeeef2;
  --c-surface-3:     #e4e4ea;

  --c-border:        rgba(0,0,0,0.06);
  --c-border-2:      rgba(0,0,0,0.10);

  --c-text:          #0F1216;
  --c-text-2:        #52555B;
  --c-text-3:        #83868C;

  --c-ticker-bg:     rgba(182,119,0,0.06);
  --c-ticker-text:   #965900;

  --c-shadow:        0 2px 8px rgba(0,0,0,.06);

  --c-mention-self:  #1d4ed8;  /* 2026-08-10 @在自己气泡上的颜色(深蓝, 从棕底白字跳出) */

  --c-card:   var(--c-surface-2);
  --c-bg-2:   var(--c-surface);
  --c-bg-3:   var(--c-surface-2);
  --c-text-1: var(--c-text);
  --c-warn:   #965900;
}


html {
  font-size: 16px;          /* 确保 rem 基准 = 16px，防止系统默认值偏差 */
  -webkit-text-size-adjust: 100%;
  /* ★ 不设 touch-action(v73 2026-07-10):v71 manipulation→v72 pan-y 小米8真机两连测都滑不动,
     铁证老 MIUI WebView 对 touch-action 属性本身处理有 bug(任何值都走 buggy 路径)。
     删掉用默认 auto 恢复原生触摸滚动,双击缩放由 viewport user-scalable=no 在安卓层拦截(不影响)。 */
}
/* ─── Typography tokens ─── */
:root {
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: "SF Mono", "Menlo", "Consolas", ui-monospace, monospace;

  /* Size scale (fixed px → rem) */
  --t-h1:    1.25rem;    /* 20px */
  --t-h2:    1rem;       /* 16px */
  --t-body:  0.9375rem;  /* 15px */
  --t-meta:  0.875rem;   /* 14px — 2026-08-12适老化达标(13px仍低于14px下限, 审计报告第4节) */
  --t-stat:  1.75rem;    /* 28px */
  --t-stat-sm: 1.5rem;   /* 24px */
}

/* ─── Spacing tokens ─── */
:root {
  --sp-xs:   4px;
  --sp-sm:   8px;
  --sp-md:   12px;
  --sp-lg:   16px;
  --sp-xl:   24px;
  --sp-2xl:  32px;

  /* 2026-07-31 社区UI统一: 页面/卡片边距语义token, 全站社区页(论坛+聊天室)统一引用, 禁再硬编码 8px 2px/4px 野路子 */
  --pad-page: 28px;   /* 页面级左右边距(桌面默认, 对齐全局.v3-content桌面28); 移动端@media覆盖为16 */
  --pad-card: 12px;   /* 卡片/消息气泡内边距 */
}

/* ─── Radius tokens ─── */
:root {
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  12px;
}

/* ─── Sidebar width ─── */
:root {
  --sidebar-w: 56px;
  --bottom-nav-h: 56px;
  --header-h: 44px;  /* v237: 全局常驻顶栏窄条默认高(dashboard 左区多行时 JS 测实际高度覆写此值) */
  --safe-top: env(safe-area-inset-top, 0px);  /* 2026-07-29: 安卓状态栏遮挡治本(浏览器返0无副作用) */
}

/* ─── Mobile font override (smaller than desktop) ─── */
@media (max-width: 768px) {
  :root {
    --t-h1:    1.125rem;    /* 18px */
    --t-h2:    0.875rem;    /* 14px */
    --t-body:  0.9375rem;   /* 15px — 2026-08-01适老化(原13px低于14px下限, 老人看不清正文, 全站正文统一加大) */
    --t-meta:  0.875rem;    /* 14px — 2026-08-12审计P2适老化达标(12px仍低于14下限, 聊天室昵称/时间等38处引用自动受益) */
    --pad-page: 16px;       /* 移动页边距(桌面28太宽, 移动收16) */
    --pad-card: 12px;
    --t-stat:  1.5rem;      /* 24px */
    --t-stat-sm: 1.25rem;   /* 20px */
  }
}

/* ── 全屏斜向水印(基础档防盗; app.js _injectWatermark 注入, 画法同 review.html vm-wm 同源) ── */
.vm-wm { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 60; pointer-events: none; background-repeat: repeat; }
