/* ============================================================
   站点端海蓝宝 UI 令牌层（唯一真源）
   与小程序 utils/theme-schemes.js 逐键对齐；默认方案 = 2 冰海
   尺寸基准：克里斯托数列 x(n)=2^(n/2)，1u = 0.5px @375
   ============================================================ */
:root{
  --u:min(calc(100vw / 750), .5733px);
  --page-max:1024px;
  --r-scale:1;

  /* ---------- 语义色（默认 = 方案 2 冰海；theme.js 会按配置中心覆盖） ---------- */
  --c-primary:#2FA8C9;
  --c-primary-deep:#1687A3;
  --c-primary-dark:#103F52;
  --c-primary-light:#8ED6E7;
  --c-primary-soft:#E8F6F9;
  --c-bg:#F2FAFC;
  --c-surface:#FFFFFF;
  --c-surface-alt:#E4F2F6;
  --c-cream:#EDF5FA;
  --c-text:#173A47;
  --c-text-2:#4E6E7A;
  --c-text-3:#82A0AB;
  --c-text-4:#ACC1C9;
  --c-line:#CFE5EB;
  --c-irid-edge-a:#6FC7DE;
  --c-irid-edge-b:#B8CDE8;
  --c-irid-bg-a:#E3F4F8;
  --c-irid-bg-m:#F7FBFD;
  --c-irid-bg-b:#EAF0F8;
  --c-irid-glow:#8ADCF0;

  /* ---------- 功能色（不随方案变） ---------- */
  --c-gold:#C2A878;
  --c-gold-deep:#8B744C;
  --c-success:#4E9D89;
  --c-danger:#CD8478;
  --c-warning:#D9A05B;
  --c-wechat:#07C160;
  /* 微信登录辅助色（品牌派生，不随方案变） */
  --c-wechat-soft:#F2FBF5;
  --c-wechat-deep:#2E7D46;

  /* ---------- 派生通道 / 透明度（禁止页面手写） ---------- */
  --c-primary-rgb:47,168,201;
  --c-surface-rgb:255,255,255;
  --c-shadow-rgb:68,123,144;
  --c-gold-rgb:194,168,120;
  --c-primary-a10:rgba(var(--c-primary-rgb),.10);
  --c-primary-a16:rgba(var(--c-primary-rgb),.16);
  --c-primary-a18:rgba(var(--c-primary-rgb),.18);
  --c-primary-a28:rgba(var(--c-primary-rgb),.28);
  --c-primary-a35:rgba(var(--c-primary-rgb),.35);
  --c-primary-a45:rgba(var(--c-primary-rgb),.45);
  --c-primary-a55:rgba(var(--c-primary-rgb),.55);
  --c-gold-a18:rgba(var(--c-gold-rgb),.18);
  --c-gold-a20:rgba(var(--c-gold-rgb),.20);
  --c-gold-a25:rgba(var(--c-gold-rgb),.25);
  --c-gold-a35:rgba(var(--c-gold-rgb),.35);
  --c-gold-a45:rgba(var(--c-gold-rgb),.45);
  --c-gold-a55:rgba(var(--c-gold-rgb),.55);
  --c-gold-a60:rgba(var(--c-gold-rgb),.60);
  --c-ink-a04:rgba(var(--c-shadow-rgb),.04);
  --c-ink-a05:rgba(var(--c-shadow-rgb),.05);
  --c-ink-a08:rgba(var(--c-shadow-rgb),.08);
  --c-card:rgba(var(--c-surface-rgb),.48);
  --c-card-strong:rgba(var(--c-surface-rgb),.96);
  --c-glass:rgba(var(--c-surface-rgb),.58);
  --c-mask:rgba(var(--c-shadow-rgb),.45);
  --c-mask-strong:rgba(var(--c-shadow-rgb),.55);

  /* ---------- 字号（7 级等比，正文锚点 16px，三档设备不变） ---------- */
  --fs-display:64px;
  --fs-h1:45.2548px;
  --fs-h2:32px;
  --fs-h3:22.6274px;
  --fs-body:16px;
  --fs-sm:11.3137px;
  --fs-xs:8px;

  /* ---------- 圆角（4 档 + 全圆） ---------- */
  --r-sm:calc(var(--u)*16*var(--r-scale));
  --r-md:calc(var(--u)*22.6274*var(--r-scale));
  --r-lg:calc(var(--u)*32*var(--r-scale));
  --r-xl:calc(var(--u)*45.2548*var(--r-scale));
  --r-full:999px;

  /* ---------- 阴影（偏移与模糊半径同样取数列） ---------- */
  --shadow-sm:0 calc(var(--u)*4) calc(var(--u)*16) rgba(var(--c-shadow-rgb),.09);
  --shadow-card:0 calc(var(--u)*5.6569) calc(var(--u)*22.6274) rgba(var(--c-shadow-rgb),.09);
  --shadow-card-sm:0 calc(var(--u)*8) calc(var(--u)*32) rgba(var(--c-shadow-rgb),.09);
  --shadow-modal:0 calc(var(--u)*22.6274) calc(var(--u)*90.5097) rgba(var(--c-shadow-rgb),.18);

  /* ---------- 动效 / 字体 ---------- */
  --ease:cubic-bezier(.32,.72,.24,1);
  --font-sans:"Source Han Sans SC","思源黑体","Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,sans-serif;
  /* 品牌/logo 标题专用：写完整栈，避免被页面自有 :root 覆盖 --font-sans 后偏离思源黑体 */
  --font-brand:"Source Han Sans SC","思源黑体","Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,sans-serif;
  --font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --font-serif:Georgia,"Songti SC","STSong","SimSun",serif;

  /* ============================================================
     兼容别名：老页面遗留变量 → 新令牌
     （迁移页须删除自身 :root 里的旧值定义，否则以旧值为准）
     ============================================================ */
  --gold:var(--c-gold);
  --gold-dark:var(--c-primary-deep);
  --gold-light:var(--c-primary-light);
  --gold-deep:var(--c-primary-deep);
  --gold-d:var(--c-primary-deep);
  --ink:var(--c-text);
  --ink-sub:var(--c-text-2);
  --paper:var(--c-bg);
  --paper-warm:var(--c-surface-alt);
  --stone:var(--c-text-2);
  --border:var(--c-line);
  --line:var(--c-line);
  --bg:var(--c-bg);
  --cream:var(--c-cream);
  --purple:var(--c-primary-deep);
  --purple-border:var(--c-primary-a18);
  --danger:var(--c-danger);
  --ok:var(--c-success);
}

/* 基础元素：仅接管未显式声明过的属性，不覆盖页面自有布局 */
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text);line-height:1.4142;-webkit-font-smoothing:antialiased}
a{color:var(--c-primary-deep)}
::selection{background:var(--c-primary-a28)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
