/* ==========================================================================
 * 物竞堂 设计令牌（tokens.css）
 * 来源：web-frontend-designer 技能 §3「物竞堂设计系统」+ /www/wwwroot/cgkor/index.html 实测值
 * 说明：登录/注册页与公共头尾用本文件；落地页(landing.css)、控制台(console.css)
 *       沿用原型自带的内联值（原样搬运，不重写），三者的视觉是同一套。
 * ========================================================================== */
:root{
  /* 品牌色（用量：底色 70% · 品牌金 20% · 强调 10%） */
  --brand-gold:      #d4ad77;
  --brand-gold-deep: #b9996c;
  --brand-gold-pale: #eadfc4;
  --accent-gold:     #f8bd00;
  --accent-amber:    #fad200;

  /* 墨色 */
  --ink-900:#101215; --ink-800:#131313; --ink-700:#242424;
  --ink-600:#2c333e; --ink-500:#4a4436;
  --page-bg:#f3f3f3; --card-bg:#ffffff; --line:#e8e8e8;

  /* 语义色 */
  --success:#2e8b57; --success-bg:#d6f0e2;
  --danger:#c0392b;  --danger-bg:#ffecec;
  --warn:#e45a0c;    --warn-bg:#feece0;
  --info:#7389c9;    --info-bg:#d8dff4;

  /* 字号阶梯 */
  --fs-xs:11.5px; --fs-sm:12.5px; --fs-base:14px; --fs-md:15px;
  --fs-lg:17px;   --fs-xl:20px;   --fs-2xl:24px;  --fs-num:38px;

  /* 间距与圆角 */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:22px;
  --radius-card:11.5px; --radius-btn:22px;
  --shadow-card:0 2px 8px rgba(20,30,50,.06);
  --shadow-float:0 4px 16px rgba(20,30,50,.10);

  --font-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}

/* ===== 公共重置与页面骨架（H5 手机端优先：先做 390px，PC 只做兼容） ===== */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{background:var(--page-bg);color:var(--ink-800);font-family:var(--font-sans);font-size:var(--fs-base)}
a{color:inherit;text-decoration:none}
.wj-page{width:100%;max-width:430px;margin:0 auto;min-height:100vh;background:var(--page-bg);position:relative}
.wj-card{background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--sp-4)}

/* ===== 公共轻提示（全站禁用 alert 的替代品；api.js 的 toast() 用它） ===== */
.wj-toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,10px);max-width:80vw;
  background:rgba(19,19,19,.92);color:#fff;font-size:var(--fs-sm);line-height:1.6;padding:9px 15px;
  border-radius:18px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:9999;text-align:center}
.wj-toast.show{opacity:1;transform:translate(-50%,0)}
.wj-toast.err{background:rgba(192,57,43,.94)}
.wj-toast.ok{background:rgba(46,139,87,.94)}

/* ===== 公共行内提示（主用形态：错误/说明都用行内小字，不用弹窗） ===== */
.wj-inline-tip{font-size:var(--fs-sm);line-height:1.7;color:var(--warn)}
.wj-inline-tip.err{color:var(--danger)}
.wj-inline-tip.ok{color:var(--success)}
.wj-inline-tip:empty{display:none}

/* ===== 胶囊按钮（含禁用态：#c9ced6 + not-allowed） ===== */
.wj-btn-main{display:block;width:100%;min-height:46px;border:0;border-radius:var(--radius-btn);
  background:linear-gradient(135deg,var(--brand-gold),var(--brand-gold-deep));color:#fff;
  font-size:var(--fs-md);font-weight:600;font-family:inherit;cursor:pointer;
  transition:opacity .15s}
.wj-btn-main:active{opacity:.86}
.wj-btn-main:disabled,.wj-btn-main[disabled]{background:#c9ced6;color:#fff;cursor:not-allowed;box-shadow:none}
.wj-btn-ghost{display:flex;align-items:center;justify-content:center;min-height:46px;width:100%;
  border:1px solid var(--brand-gold);border-radius:var(--radius-btn);background:#fff;
  color:var(--brand-gold-deep);font-size:var(--fs-md);font-weight:600;font-family:inherit;cursor:pointer}
