/* 微砼工作室 OS 平台 · 设计令牌（V2）
   颜色 / 间距 / 圆角 / 阴影 / 字号 / 动效 —— 只在这里定义，组件一律引用变量。 */

/* ================================================================
   微砼工作室 OS 平台 · 设计令牌（V1）
   案例依据：Stripe（令牌体系 / 单强调色 / 细线分隔）、Linear（4px 栅格 / 阴影只给浮层）
   规则：页面内不再出现 inline 色值；状态一律用 .badge--* 语义类
   ================================================================ */
:root {
    /* 品牌（保留原有品牌深绿作为唯一强调色） */
    --brand-900:#0d3b1e; --brand-800:#166534; --brand-700:#15803d;
    --brand-600:#16a34a; --brand-100:#dcfce7; --brand-50:#f2fbf4;
    /* 墨色 / 文本 */
    --ink:#0f172a; --ink-2:#334155; --muted:#64748b; --muted-2:#94a3b8;
    /* 面（Stripe：层次靠底色阶梯，不靠阴影） */
    --canvas:#f5f7f9; --surface:#ffffff; --surface-2:#f2f4f7; --surface-3:#e8ecf1;
    --line:#e5e9ef; --line-2:#d3dae3;
    /* 语义色（全站唯一的成功/警示/危险/信息定义） */
    --ok-bg:#e7f7ee; --ok-fg:#14663a; --ok-line:#bfe6cf;
    --warn-bg:#fdf4e0; --warn-fg:#8a5a05; --warn-line:#f0dcaf;
    --danger-bg:#fdecec; --danger-fg:#a32424; --danger-line:#f3c9c9;
    --info-bg:#eaf1fd; --info-fg:#1d4ed8; --info-line:#c9dbf7;
    --mute-bg:#eef1f5; --mute-fg:#4a5568; --mute-line:#dde2e9;
    /* 间距（4px 栅格，Linear 纪律） */
    --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px;
    --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-12:48px;
    /* 圆角：三档，不再散用 12/16/24 */
    --r-xs:4px; --r-sm:6px; --r-md:8px; --r-lg:12px; --r-pill:999px;
    /* 阴影：只给浮层（模态/下拉/toast） */
    --e-1:0 1px 2px rgba(15,23,42,.05);
    --e-2:0 10px 28px -10px rgba(15,23,42,.20);
    --e-3:0 28px 60px -20px rgba(15,23,42,.30);
    /* 字号：四档 */
    --fs-display:30px; --fs-title:20px; --fs-body:14px; --fs-cap:12px;
    /* 动效（Linear：120~180ms 只用于确认状态变化） */
    --dur-1:120ms; --dur-2:160ms; --dur-3:240ms;
    --ease:cubic-bezier(.22,1,.36,1);
    /* 布局 */
    --nav-w:236px; --top-h:60px; --content-max:1680px;
}

html, body { height:100%; }
body {
    background-color: var(--canvas);
    color: var(--ink);
    font-family: 'Inter', system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", sans-serif;
    font-size: var(--fs-body);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow: hidden;
}
::selection { background: var(--brand-100); color: var(--brand-900); }
*:focus-visible { outline: 2px solid var(--brand-600); outline-offset: 2px; border-radius: var(--r-xs); }

/* ---------- 字体阶梯：四档，禁止再用 font-bold 当万能标题 ---------- */
h1,h2,h3,h4 { color: var(--ink); letter-spacing: -0.01em; line-height: 1.25; font-weight: 600; }
h1 { font-size: var(--fs-display); }
h2 { font-size: var(--fs-display); }
h3 { font-size: var(--fs-title); }
h4 { font-size: 15px; }
body .text-gray-800, body .text-gray-700 { color: var(--ink); }
body .text-gray-600 { color: var(--ink-2); }
body .text-gray-500, body .text-gray-400 { color: var(--muted); }
.text-muted { color: var(--muted); }
.text-cap { font-size: var(--fs-cap); color: var(--muted); }
.num { font-variant-numeric: tabular-nums; }
