/* Weread Stats — 「纸森林 Paper Forest」design tokens
   简洁 · 灵动 · 温暖 · default forest-green theme */

:root {
  /* — Paper / surfaces (warm, low-saturation) — */
  --paper:        oklch(0.965 0.012 86);   /* app background, warm cream */
  --paper-2:      oklch(0.945 0.014 84);   /* sunken / sidebar */
  --surface:      oklch(0.992 0.006 86);   /* cards, warm white */
  --surface-2:    oklch(0.978 0.009 85);

  /* — Ink (warm near-black) — */
  --ink:          oklch(0.26 0.012 70);    /* primary text */
  --ink-2:        oklch(0.44 0.012 72);    /* secondary text */
  --ink-3:        oklch(0.60 0.012 74);    /* tertiary / captions */
  --hairline:     oklch(0.90 0.012 84);    /* borders */

  /* — Forest green (primary brand) — */
  --green:        oklch(0.55 0.085 158);
  --green-deep:   oklch(0.43 0.078 160);
  --green-soft:   oklch(0.92 0.035 158);   /* tint backgrounds */

  /* — Amber (warm accent, equal chroma family) — */
  --amber:        oklch(0.74 0.115 66);
  --amber-deep:   oklch(0.64 0.115 58);
  --amber-soft:   oklch(0.93 0.045 75);

  /* — Heatmap scale: paper → deep forest (5 steps) — */
  --hm-0:  oklch(0.93 0.012 84);
  --hm-1:  oklch(0.87 0.045 160);
  --hm-2:  oklch(0.76 0.072 159);
  --hm-3:  oklch(0.62 0.085 158);
  --hm-4:  oklch(0.47 0.082 160);

  /* — Type — */
  --serif: "Noto Serif SC", "Songti SC", serif;
  --sans:  "Noto Sans SC", -apple-system, "PingFang SC", sans-serif;

  /* — Radius / shadow / motion — */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 22px;
  --r-xl: 30px;
  --shadow-sm: 0 1px 2px oklch(0.4 0.02 70 / 0.05), 0 2px 8px oklch(0.4 0.02 70 / 0.04);
  --shadow-md: 0 2px 6px oklch(0.4 0.02 70 / 0.06), 0 10px 30px oklch(0.4 0.02 70 / 0.07);
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-soft: cubic-bezier(0.34, 1.2, 0.64, 1);
}

/* ============ THEME VARIANTS ============
   Each theme retunes the primary family + heatmap scale + accent.
   Paper/ink stay warm-neutral so the "温暖" base is constant. */

/* 暮山紫 Dusk — plum/violet primary, warm clay accent */
[data-theme="dusk"] {
  --green:        oklch(0.54 0.10 318);
  --green-deep:   oklch(0.42 0.095 322);
  --green-soft:   oklch(0.93 0.035 320);
  --amber:        oklch(0.74 0.11 48);
  --amber-deep:   oklch(0.63 0.115 42);
  --amber-soft:   oklch(0.93 0.045 55);
  --hm-1: oklch(0.88 0.04 320); --hm-2: oklch(0.76 0.08 319);
  --hm-3: oklch(0.62 0.10 318); --hm-4: oklch(0.47 0.10 320);
}
/* 海盐蓝 Sea — blue primary, warm sand accent */
[data-theme="sea"] {
  --green:        oklch(0.55 0.095 235);
  --green-deep:   oklch(0.43 0.088 240);
  --green-soft:   oklch(0.93 0.035 232);
  --amber:        oklch(0.76 0.10 72);
  --amber-deep:   oklch(0.65 0.105 64);
  --amber-soft:   oklch(0.94 0.04 78);
  --hm-1: oklch(0.88 0.04 232); --hm-2: oklch(0.76 0.075 234);
  --hm-3: oklch(0.62 0.09 235); --hm-4: oklch(0.47 0.09 238);
}
/* 暖陶 Clay — terracotta primary, sage accent */
[data-theme="clay"] {
  --green:        oklch(0.58 0.105 40);
  --green-deep:   oklch(0.46 0.10 36);
  --green-soft:   oklch(0.93 0.04 48);
  --amber:        oklch(0.66 0.07 150);
  --amber-deep:   oklch(0.55 0.07 152);
  --amber-soft:   oklch(0.92 0.035 150);
  --hm-1: oklch(0.88 0.045 48); --hm-2: oklch(0.78 0.08 44);
  --hm-3: oklch(0.66 0.10 40); --hm-4: oklch(0.52 0.10 38);
}

html, body { background: var(--paper); }
* { box-sizing: border-box; }

/* shared utility motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
