﻿/* ==========================================================================
   TaiQi Design Tokens — 全站共享契约
   --------------------------------------------------------------------------
   消费者：css/auth.css（登录/注册）、css/master.css（Base.master 外壳），
   以及后续逐页迁移的 index / Search / SearchDtl 等页面。

   规则：
   1. 本文件只放「可移植原始量」——色阶、中性色、语义色、字体、字号、间距、
      圆角、阴影、动效缓动。不放任何组件级或页面级布局知识。
   2. 认证页专属 token（--ctl-h / --icon-size / --brand-col）留在 auth.css
      自己的 :root；外壳专属 token（版心、导航尺寸、z-index 契约）留在
      master.css 自己的 :root。
   3. 改这里的任何一个值会同时影响登录页、注册页与全站外壳——这是有意的，
      这正是让整站看起来是同一个站点的原因。改动前请全量回归。
   4. 颜色一律以 HSL 分量存放，使用处写 hsl(var(--token)) 或
      hsl(var(--token) / <alpha>)。
   ========================================================================== */

:root {
    /* 品牌蓝阶 */
    --brand-50: 214 100% 97%;
    --brand-100: 214 96% 93%;
    --brand-200: 214 92% 85%;
    --brand-300: 215 88% 74%;
    --brand-400: 216 86% 64%;
    --brand-500: 217 91% 55%;
    --brand-600: 219 88% 50%;
    --brand-700: 224 80% 40%;
    --brand-800: 226 72% 27%;
    --brand-900: 228 66% 17%;
    --brand-950: 230 60% 11%;

    /* 点缀青蓝，仅用于光晕/装饰，不承载文字 */
    --accent-300: 195 90% 70%;
    --accent-400: 199 89% 60%;

    /* 中性色 */
    --ink-900: 222 47% 11%;
    --ink-800: 217 33% 20%;
    --ink-700: 215 28% 27%;
    --ink-600: 215 19% 40%;
    --ink-500: 215 16% 47%;
    --ink-400: 215 20% 65%;
    --surface: 0 0% 100%;
    --surface-muted: 210 40% 98%;
    --line-soft: 214 32% 95%;
    --line: 214 32% 91%;
    --line-strong: 214 24% 80%;

    /* 语义色 */
    --danger: 356 76% 52%;
    --danger-soft: 356 100% 97%;
    --success: 158 68% 36%;

    /* 字体 */
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Helvetica Neue", Arial, sans-serif;
    --fs-11: 11px;
    --fs-12: 12px;
    --fs-13: 13px;
    --fs-14: 14px;
    --fs-15: 15px;
    --fs-16: 16px;
    --fs-20: 20px;
    --fs-26: 26px;
    --fs-34: 34px;

    /* 间距阶（4px 基） */
    --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;
    --sp-16: 64px;

    /* 圆角 */
    --r-sm: 8px;
    --r-input: 10px;
    --r-md: 14px;
    --r-lg: 18px;
    --r-xl: 24px;
    --r-full: 999px;

    /* 阴影：克制、分层 */
    --shadow-focus: 0 0 0 4px hsl(var(--brand-500) / .14);
    --shadow-focus-danger: 0 0 0 4px hsl(var(--danger) / .13);
    --shadow-btn: 0 10px 24px -10px hsl(var(--brand-700) / .65);
    --shadow-btn-hover: 0 16px 32px -12px hsl(var(--brand-700) / .7);
    --shadow-card: 0 28px 60px -28px hsl(var(--brand-950) / .85);
    --shadow-pop: 0 18px 44px -18px hsl(var(--ink-900) / .28);

    /* 动效 */
    --ease-out: cubic-bezier(.22, 1, .36, 1);
    --ease-in-out: cubic-bezier(.65, 0, .35, 1);
    --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
    --dur-fast: 150ms;
    --dur: 260ms;
    --dur-slow: 640ms;
}
