/* ==========================================================================
   素养星计划 · 设计令牌（唯一视觉常量来源）
   所有颜色 / 字号 / 间距 / 圆角 / 阴影 / 动效均从此处取值
   ========================================================================== */

:root {
  /* ---------- 色板：深空底色 ---------- */
  --c-void:        #05081a;
  --c-space:       #070b1a;
  --c-nebula:      #0f1530;
  --c-nebula-2:    #151d3f;
  --c-nebula-3:    #1c2650;

  /* ---------- 色板：品牌 ---------- */
  --c-violet:      #6d5bff;
  --c-blue:        #3d7bff;
  --c-cyan:        #00d2ff;
  --c-gold:        #ffc53d;

  /* ---------- 色板：中性 ---------- */
  --c-white:       #ffffff;
  --c-ink:         #0b1020;
  --c-muted:       #6b7280;
  --c-muted-2:     #9aa3b7;
  --c-light-bg:    #f5f7ff;

  /* ---------- 色板：功能 ---------- */
  --c-success:     #22c55e;
  --c-danger:      #ef4444;
  --c-warning:     #f59e0b;

  /* ---------- 玻璃拟态 ---------- */
  --glass-bg:      rgba(255, 255, 255, 0.06);
  --glass-bg-2:    rgba(255, 255, 255, 0.10);
  --glass-bg-3:    rgba(255, 255, 255, 0.15);
  --glass-border:  rgba(255, 255, 255, 0.14);
  --glass-border-2:rgba(255, 255, 255, 0.24);
  --glass-blur:    15px;

  /* 文字在深空底上的层级 */
  --t-1:           rgba(255, 255, 255, 0.98);
  --t-2:           rgba(255, 255, 255, 0.76);
  --t-3:           rgba(255, 255, 255, 0.54);
  --t-4:           rgba(255, 255, 255, 0.34);

  /* ---------- 渐变 ---------- */
  --g-brand:       linear-gradient(135deg, #6d5bff 0%, #3d7bff 52%, #00d2ff 100%);
  --g-brand-soft:  linear-gradient(135deg, rgba(109, 91, 255, .28), rgba(0, 210, 255, .18));
  --g-gold:        linear-gradient(135deg, #ffd76e 0%, #ffc53d 55%, #f59e0b 100%);
  --g-aurora:      radial-gradient(120% 90% at 12% 0%, rgba(109, 91, 255, .40) 0%, transparent 55%),
                   radial-gradient(110% 80% at 88% 6%, rgba(0, 210, 255, .26) 0%, transparent 52%),
                   radial-gradient(90% 70% at 50% 100%, rgba(61, 123, 255, .16) 0%, transparent 60%);
  --g-line:        linear-gradient(90deg, transparent, rgba(255, 255, 255, .28), transparent);
  --g-card-sheen:  linear-gradient(150deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, 0) 42%);

  /* ---------- 字体 ---------- */
  --font-sans: "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC",
               "Microsoft YaHei", "Hiragino Sans GB", system-ui, -apple-system,
               "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-num:  "DIN Alternate", "SF Pro Display", "Segoe UI", var(--font-sans);

  --fs-display: 44px;
  --fs-h1:      34px;
  --fs-h2:      26px;
  --fs-h3:      20px;
  --fs-sub:     18px;
  --fs-body:    15px;
  --fs-sm:      13px;
  --fs-xs:      12px;

  --fw-regular: 400;
  --fw-medium:  500;
  --fw-semi:    600;
  --fw-bold:    700;
  --fw-heavy:   800;

  --lh-tight:   1.18;
  --lh-snug:    1.4;
  --lh-body:    1.72;

  --ls-tight:   -0.02em;
  --ls-wide:    0.08em;

  /* ---------- 间距 ---------- */
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  20px;
  --sp-6:  24px;
  --sp-7:  32px;
  --sp-8:  40px;
  --sp-9:  56px;
  --sp-10: 72px;
  --sp-11: 96px;

  /* ---------- 圆角 ---------- */
  --r-xs:   8px;
  --r-sm:   12px;
  --r-md:   16px;
  --r-lg:   22px;
  --r-xl:   28px;
  --r-full: 999px;

  /* ---------- 阴影与光晕 ---------- */
  --sh-sm:    0 6px 18px -10px rgba(0, 0, 0, .75);
  --sh-card:  0 22px 48px -24px rgba(0, 0, 0, .82);
  --sh-float: 0 34px 70px -30px rgba(0, 0, 0, .9);
  --glow-violet: 0 0 42px -6px rgba(109, 91, 255, .55);
  --glow-cyan:   0 0 42px -6px rgba(0, 210, 255, .42);
  --glow-gold:   0 0 38px -6px rgba(255, 197, 61, .48);
  --ring-brand:  0 0 0 3px rgba(109, 91, 255, .38);
  --ring-danger: 0 0 0 3px rgba(239, 68, 68, .34);

  /* ---------- 动效 ---------- */
  --d-fast:  150ms;
  --d-base:  240ms;
  --d-slow:  400ms;
  --d-slower: 650ms;
  --e-out:   cubic-bezier(.22, .8, .28, 1);
  --e-in:    cubic-bezier(.5, 0, .75, 0);
  --e-spring: cubic-bezier(.34, 1.56, .64, 1);

  /* ---------- 布局 ---------- */
  --w-container: 1200px;
  --h-nav:       68px;
  --h-tabbar:    62px;
  --z-bg:        0;
  --z-content:   10;
  --z-nav:       60;
  --z-tabbar:    70;
  --z-overlay:   90;
  --z-modal:     100;
  --z-toast:     120;
}
