/* 由 tokens/build.py 从 tokens/tokens.json 生成，不要手改。Terry 的颜色、字体、间距、圆角、标志尺寸与动效。 */
:root,
[data-theme="light"] {
  --brand: #128a7c;
  --brand-ink: #0b5c53;
  --brand-tint: #ddf1ec;
  --eye: #fbf8f3;
  --task: #c47f14;
  --on-task: #10181a;
  --surface: #fbf8f3;
  --surface-raised: #ffffff;
  --ink: #1d2a2e;
  --muted: #5e6b6e;
  --line: #e4e0d8;
  --focus: #0b5c53;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --brand: #128a7c;
    --brand-ink: #7fd6c8;
    --brand-tint: #16302d;
    --eye: #fbf8f3;
    --task: #c47f14;
    --on-task: #10181a;
    --surface: #141a1a;
    --surface-raised: #1c2423;
    --ink: #e9eeec;
    --muted: #9aa7a6;
    --line: #2c3634;
    --focus: #7fd6c8;
  }
}

[data-theme="dark"] {
  --brand: #128a7c;
  --brand-ink: #7fd6c8;
  --brand-tint: #16302d;
  --eye: #fbf8f3;
  --task: #c47f14;
  --on-task: #10181a;
  --surface: #141a1a;
  --surface-raised: #1c2423;
  --ink: #e9eeec;
  --muted: #9aa7a6;
  --line: #2c3634;
  --focus: #7fd6c8;
}

:root {
  --font-display: "Outfit", "Noto Sans SC", system-ui, sans-serif;
  --font-sans: "Noto Sans SC", "PingFang SC", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --type-wordmark: 600 48px/1 var(--font-display);
  --type-wordmark-tracking: -0.01em;
  --type-display: 600 40px/48px var(--font-display);
  --type-title: 600 28px/36px var(--font-display);
  --type-heading: 600 20px/28px var(--font-display);
  --type-body: 400 15px/24px var(--font-sans);
  --type-small: 400 13px/20px var(--font-sans);
  --type-label: 500 12px/16px var(--font-sans);
  --type-label-tracking: 0.04em;
  --type-code: 400 13px/20px var(--font-mono);
  --space-1: 4px;
  --space-2: 8px;
  --space-4: 16px;
  --space-6: 24px;
  --space-12: 48px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --mark-min: 16px;
  --mark-expression-min: 32px;
  --mark-clearspace: 25%;
  --duration-blink: 90ms;
  --duration-beat: 160ms;
  --duration-look: 200ms;
  --duration-pop: 280ms;
  --duration-catch: 300ms;
  --duration-tap: 320ms;
  --duration-lean: 360ms;
  --duration-hop: 440ms;
  --duration-glide: 520ms;
  --duration-flight: 560ms;
  --duration-rest: 700ms;
  --duration-work: 1400ms;
  --duration-breathe: 3200ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-squash: cubic-bezier(0.3, 0, 0.3, 1);
  --ease-spring: cubic-bezier(0.3, 1.4, 0.5, 1);
  --ease-flight: cubic-bezier(0.3, 0, 0.2, 1);
}
