/* ==========================================================
   设计令牌：玻璃新拟态核心变量 + 明暗双主题
   ========================================================== */
:root {
  /* ===== 玻璃拟态规范令牌 ===== */
  --glass-blur: 12px;
  --glass-saturate: 140%;
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 20px;
  --glass-border: 1px solid var(--glass-border-color);

  /* ===== 布局 ===== */
  --sidebar-w: 280px;
  --sidebar-w-collapsed: 78px;
  --content-max: 1320px;
  --gap: 16px;
  --gap-lg: 24px;

  /* ===== 字体 ===== */
  --font-body: 'PingFang SC', 'HarmonyOS Sans SC', 'MiSans', 'Microsoft YaHei UI', 'Microsoft YaHei', system-ui, -apple-system, sans-serif;
  --font-display: 'Sora', 'PingFang SC', 'HarmonyOS Sans SC', 'MiSans', 'Microsoft YaHei UI', system-ui, sans-serif;
  --font-num: 'Sora', var(--font-body);

  /* ===== 动效 ===== */
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast: 0.18s;
  --dur-mid: 0.32s;
  --dur-slow: 0.6s;

  /* ===== 品牌渐变（标题文字 / 徽章 / 指示条） ===== */
  --grad-brand: linear-gradient(120deg, var(--accent), var(--accent-strong) 55%, var(--accent));
  --grad-brand-soft: linear-gradient(120deg, var(--accent-soft), transparent 70%);
}

/* ---------- 亮色主题（默认） ---------- */
:root,
[data-theme='light'] {
  color-scheme: light;

  --bg-base: linear-gradient(158deg, #eceff6 0%, #f3f1ea 55%, #eef0f6 100%);
  --text-1: #212637;
  --text-2: #59617a;
  --text-3: #8d95ab;

  --accent: #0d9488;
  --accent-strong: #0f766e;
  --accent-contrast: #ffffff;
  --accent-soft: rgba(13, 148, 136, 0.12);
  --accent-glow: rgba(13, 148, 136, 0.35);

  /* 亮色下玻璃透明度上调以保证可读性，规范值 0.15 保留给暗色 */
  --glass-bg: rgba(255, 255, 255, 0.52);
  --glass-bg-strong: rgba(255, 255, 255, 0.72);
  --glass-border-color: rgba(255, 255, 255, 0.7);
  --shadow-neu: 8px 8px 16px rgba(35, 48, 78, 0.09), -8px -8px 16px rgba(255, 255, 255, 0.6);
  --shadow-neu-sm: 4px 4px 10px rgba(35, 48, 78, 0.08), -4px -4px 10px rgba(255, 255, 255, 0.55);
  --shadow-lift: 0 22px 44px -20px rgba(35, 48, 78, 0.3);
  --shadow-focus: 0 0 0 3px var(--accent-glow);

  --mask-strong: rgba(52, 60, 84, 0.32);
  --scroll-thumb: rgba(90, 100, 130, 0.35);
  --divider: rgba(90, 100, 130, 0.14);

  /* 付费类型 */
  --type-free: #0f9d76;
  --type-free-bg: rgba(15, 157, 118, 0.12);
  --type-partial: #c07c10;
  --type-partial-bg: rgba(192, 124, 16, 0.13);
  --type-paid: #d05768;
  --type-paid-bg: rgba(208, 87, 104, 0.13);

  --danger: #dc2640;
  --ok: #178a4c;

  /* 极光光球（亮色：糖果雾色） */
  --orb-1: #f6c3cd;
  --orb-2: #cfbff2;
  --orb-3: #b5e6d2;
  --orb-4: #bcd6f5;
  --orb-opacity: 0.6;
  --grain-opacity: 0.05;
}

/* ---------- 暗色主题 ---------- */
[data-theme='dark'] {
  color-scheme: dark;

  --bg-base: linear-gradient(158deg, #0c111f 0%, #111830 55%, #0d1322 100%);
  --text-1: #edf0f8;
  --text-2: #a8b1c8;
  --text-3: #6a7490;

  --accent: #2dd4bf;
  --accent-strong: #5eead4;
  --accent-contrast: #06281f;
  --accent-soft: rgba(45, 212, 191, 0.14);
  --accent-glow: rgba(45, 212, 191, 0.3);

  /* 规范值：半透明白 0.15 */
  --glass-bg: rgba(255, 255, 255, 0.15);
  --glass-bg-strong: rgba(255, 255, 255, 0.22);
  --glass-border-color: rgba(255, 255, 255, 0.3);
  --shadow-neu: 8px 8px 16px rgba(0, 0, 0, 0.38), -8px -8px 16px rgba(255, 255, 255, 0.04);
  --shadow-neu-sm: 4px 4px 10px rgba(0, 0, 0, 0.35), -4px -4px 10px rgba(255, 255, 255, 0.03);
  --shadow-lift: 0 22px 44px -18px rgba(0, 0, 0, 0.55);
  --shadow-focus: 0 0 0 3px var(--accent-glow);

  --mask-strong: rgba(4, 8, 18, 0.55);
  --scroll-thumb: rgba(170, 182, 214, 0.28);
  --divider: rgba(170, 182, 214, 0.16);

  --type-free: #34d8a4;
  --type-free-bg: rgba(52, 216, 164, 0.14);
  --type-partial: #e8b662;
  --type-partial-bg: rgba(232, 182, 98, 0.15);
  --type-paid: #ee7d8f;
  --type-paid-bg: rgba(238, 125, 143, 0.15);

  --danger: #f2617a;
  --ok: #3ecf7c;

  /* 极光光球（暗色：霓虹微光） */
  --orb-1: #6d3f9e;
  --orb-2: #1f6f8b;
  --orb-3: #8a2f5e;
  --orb-4: #2c4f8f;
  --orb-opacity: 0.4;
  --grain-opacity: 0.07;
}
