:root {
  --color-paper: oklch(97% 0.013 83);
  --color-paper-2: oklch(93% 0.024 83);
  --color-paper-3: oklch(87% 0.036 78);
  --color-paper-wash: oklch(97% 0.022 83 / 0.68);
  --color-ink: oklch(25% 0.04 151);
  --color-ink-2: oklch(34% 0.038 151);
  --color-muted: oklch(38% 0.025 147);
  --color-muted-on-ink: oklch(78% 0.035 83);
  --color-rule: oklch(58% 0.032 83 / 0.32);
  --color-rule-strong: oklch(45% 0.038 83 / 0.52);
  --color-accent: oklch(45% 0.15 28);
  --color-accent-hover: oklch(42% 0.145 28);
  --color-accent-active: oklch(39% 0.14 28);
  --color-accent-ink: oklch(96% 0.03 82);
  --color-accent-wash: oklch(45% 0.15 28 / 0.08);
  --color-gold: oklch(50% 0.105 75);
  --color-gold-on-ink: oklch(78% 0.09 75);
  --color-gold-wash: oklch(78% 0.09 75 / 0.12);
  --color-paper-wash-on-ink: oklch(93% 0.032 83 / 0.08);
  --color-gold-rule: oklch(50% 0.105 75 / 0.32);
  --color-gold-rule-on-ink: oklch(78% 0.09 75 / 0.34);
  --color-teal: oklch(45% 0.055 164);
  --color-focus: oklch(31% 0.07 151);
  --color-focus-inverse: oklch(86% 0.09 75);
  --color-focus-on-ink: var(--color-focus-inverse);
  --color-error: oklch(49% 0.17 25);
  --color-success: oklch(42% 0.09 151);
  --color-courier-wind: oklch(81% 0.105 78);
  --color-courier-mist: oklch(78% 0.075 160);
  --color-courier-river: oklch(80% 0.08 225);
  --color-courier-river-wash: oklch(80% 0.08 225 / 0.2);
  --color-courier-earth: oklch(77% 0.095 64);
  --color-courier-feather: oklch(91% 0.045 100);
  --color-courier-dawn: oklch(75% 0.13 37);
  --color-shadow: oklch(16% 0.025 151 / 0.28);
  --color-scrim: oklch(14% 0.02 151 / 0.72);
  --color-transparent: oklch(0% 0.005 151 / 0);

  --color-surface: oklch(99% 0.009 83);
  --color-scene-veil: oklch(20% 0.026 151 / 0.82);
  --color-scene-fade: oklch(20% 0.026 151 / 0);
  --color-scene-label: oklch(24% 0.034 151 / 0.9);
  --color-scene-rule: oklch(90% 0.04 83 / 0.25);
  --color-marker-idle: oklch(75% 0.012 83);
  --color-paper-fiber: oklch(47% 0.046 83 / 0.04);
  --color-letter-bamboo: oklch(96% 0.034 89);
  --color-letter-peach: oklch(96% 0.022 45);
  --color-letter-water: oklch(96% 0.016 164);
  --color-shadow-soft: oklch(18% 0.025 151 / 0.1);
  --color-ink-wash: oklch(25% 0.04 151 / 0.06);
  --color-scene-control: oklch(28% 0.04 151 / 0.95);
  --color-landscape-far: oklch(93% 0.028 115);
  --color-landscape-near: oklch(87% 0.035 115);

  --font-display: "Yishi QingKai", "Kaiti SC", "STKaiti", "KaiTi", serif;
  --font-ui: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --font-body: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
  --font-outlier: ui-monospace, "SFMono-Regular", monospace;

  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-group: var(--space-md);
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 7rem;
  --space-shell-reserve: calc(var(--space-2xl) + var(--space-2xl) + var(--space-lg));
  --space-safe-bottom: max(var(--space-sm), env(safe-area-inset-bottom));
  --size-touch-target: 44px;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: var(--text-base);
  --text-lg: 1.25rem;
  --text-xl: 1.75rem;
  --text-2xl: 2.25rem;
  --text-display: clamp(2rem, 8vw, 2.75rem);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-short: 140ms;
  --dur-medium: 260ms;
  --dur-long: 420ms;
  --dur-story-enter: 720ms;
  --dur-story-object: 760ms;
  --dur-signature: 6.8s;
  --dur-ambient: 7s;

  --radius-input: 0.625rem;
  --radius-card: 1rem;
  --radius-sheet: 1.5rem;
  --radius-pill: 999px;
  --rule-thin: 1px;
  --rule-thick: 3px;

  --shadow-raised: 0 4px 12px oklch(18% 0.02 151 / 0.1);
  --shadow-modal: 0 24px 48px oklch(16% 0.025 151 / 0.24);

  --layer-base: 0;
  --layer-scene-decor: 1;
  --layer-scene-fold: 2;
  --layer-scene-envelope: 3;
  --layer-scene-courier: 4;
  --layer-scene-object: 5;
  --layer-scene-copy: 6;
  --layer-chrome: 10;
  --layer-sticky: 20;
  --layer-scrim: 40;
  --layer-sheet: 50;
  --layer-modal: 60;
  --layer-toast: 70;
  --layer-blocking: 80;
}
