/* base.css — Hannah专属CPA系统 视觉系统
   参考 Duolingo：圆润 / 高饱和 / 拟物 / 鲜艳撞色
   反 AI 默认风：不出现 indigo/sky gradient / 极简灰白 / 平面化
   字体：Noto Sans SC（中文阅读最舒服）+ Nunito（数字） */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800;900&family=Noto+Sans+SC:wght@400;500;700;900&display=swap');

:root {
  /* === Duolingo 调色板 === */
  --c-green: #58CC02;     /* 主成功色 */
  --c-green-dark: #46A302;
  --c-green-light: #89E219;
  --c-yellow: #FFC800;
  --c-yellow-dark: #E5B400;
  --c-red: #FF4B4B;
  --c-red-dark: #E53935;
  --c-blue: #1CB0F6;
  --c-blue-dark: #1899D6;
  --c-purple: #CE82FF;
  --c-purple-dark: #B968E5;
  --c-pink: #FF6B9D;
  --c-orange: #FF8C42;
  --c-brown: #4D2D00;

  /* === 中性色 === */
  --c-bg: #F7F7F7;
  --c-bg-card: #FFFFFF;
  --c-text: #3C3C3C;
  --c-text-light: #777777;
  --c-text-lighter: #AFAFAF;
  --c-border: #E5E5E5;
  --c-divider: #F0F0F0;
  --c-shadow: rgba(0, 0, 0, 0.08);
  --c-shadow-strong: rgba(0, 0, 0, 0.15);

  /* === 拟物阴影 === */
  --shadow-up-sm: 0 2px 0 rgba(0,0,0,0.1);
  --shadow-up: 0 4px 0 rgba(0,0,0,0.15);
  --shadow-up-lg: 0 6px 0 rgba(0,0,0,0.18);
  --shadow-soft: 0 4px 12px var(--c-shadow);
  --shadow-bounce: 0 8px 0 rgba(0,0,0,0.18);

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

  /* === 字体：可读性优先 === */
  --font-cn: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-en: 'Nunito', -apple-system, system-ui, sans-serif;
  --font-num: 'Nunito', monospace;
}

[data-theme="green"] { --theme-color: var(--c-green); --theme-dark: var(--c-green-dark); --theme-light: #D7FFB8; }
[data-theme="blue"]  { --theme-color: var(--c-blue);  --theme-dark: var(--c-blue-dark);  --theme-light: #B6E7FB; }
[data-theme="pink"]  { --theme-color: var(--c-pink);  --theme-dark: #E55A89;            --theme-light: #FFD2E1; }
[data-theme="purple"]{ --theme-color: var(--c-purple);--theme-dark: var(--c-purple-dark);--theme-light: #ECC8FF; }
[data-theme="yellow"]{ --theme-color: var(--c-yellow);--theme-dark: var(--c-yellow-dark);--theme-light: #FFEFA8; }
[data-theme="dark"]  { --theme-color: #4A5568; --theme-dark: #2D3748; --theme-light: #1A202C; --c-bg:#1A202C; --c-bg-card:#2D3748; --c-text:#F7FAFC; --c-text-light:#A0AEC0; --c-border:#4A5568; }

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  font-family: var(--font-cn);
  background: var(--c-bg);
  color: var(--c-text);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  user-select: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
  color: inherit;
}

input, textarea {
  font-family: inherit;
  color: inherit;
  background: transparent;
  border: none;
  outline: none;
}

a { color: var(--theme-color); text-decoration: none; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #DDD; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #BBB; }

/* === 实用类 === */
.num { font-family: var(--font-en); font-weight: 800; font-variant-numeric: tabular-nums; }
.hide { display: none !important; }
.flex { display: flex; }
.flex-1 { flex: 1; }
.gap-1 { gap: 8px; } .gap-2 { gap: 12px; } .gap-3 { gap: 16px; } .gap-4 { gap: 20px; }
.center { display: flex; align-items: center; justify-content: center; }
.between { display: flex; align-items: center; justify-content: space-between; }
.col { display: flex; flex-direction: column; }

/* === 主题色应用 === */
body { background: var(--c-bg); }
