/* 生成物（site/scripts/build.mjs），勿手改。PlutoKeating design system 的变量，取自 apps/web/src/design-system/tokens.css（去掉了只给 Tailwind 用的部分）。 */
:root {
  color-scheme: dark;
  --ds-color-bg: #0e0f11;
  --ds-color-bg-elevated: #131417;
  --ds-color-surface: #17181c;
  --ds-color-surface-hover: #1d1e23;
  --ds-color-surface-glass: rgb(14 15 17 / 0.72);
  --ds-color-border: rgb(232 228 221 / 0.08);
  --ds-color-border-strong: rgb(232 228 221 / 0.18);
  --ds-color-fg: #e8e4dd;
  --ds-color-fg-display: #e8e4dd;
  --ds-color-display-shadow: rgb(0 0 0 / 0.45);
  --ds-color-fg-muted: #a9a49c;
  --ds-color-fg-subtle: #6f6b65;
  --ds-color-link: #cfd8d5;
  --ds-color-link-hover: #e8e4dd;
  --ds-color-accent: #f0a35e;
  --ds-color-accent-hover: #f5b67c;
  --ds-color-accent-fg: #1a120a;
  --ds-color-accent-soft: rgb(240 163 94 / 0.12);
  --ds-color-accent-glow: rgb(240 163 94 / 0.32);
  --ds-color-accent-glow-faint: rgb(240 163 94 / 0.08);
  --ds-color-secondary: #7d8f8a;
  --ds-color-secondary-fg: #c2cfcb;
  --ds-color-secondary-soft: rgb(125 143 138 / 0.14);
  --ds-color-success: #7fb08f;
  --ds-color-warning: #d9b96a;
  --ds-color-danger: #c97c7c;
  --ds-color-overlay: rgb(0 0 0 / 0.6);
  --ds-color-code-bg: #111215;
  --ds-color-code-fg: #d8d4cc;
  --ds-color-selection: rgb(240 163 94 / 0.28);
  --ds-color-chart-line: #7d8f8a;
  --ds-color-chart-fill: rgb(125 143 138 / 0.12);
  --ds-color-chart-marker: #f0a35e;
  --ds-color-orb-hi: #fffefc;
  --ds-color-orb-mid: #ffd3ab;
  --ds-color-orb: #ffb26e;
  --ds-color-orb-rim: #fa7600;
  --ds-color-orb-glow: rgb(255 178 110 / 0.64);
  --ds-color-orb-glow-mid: rgb(255 178 110 / 0.19);
  --ds-color-orb-glow-end: rgb(255 178 110 / 0);
  --ds-color-syntax-keyword: #c9a7d9;
  --ds-color-syntax-string: #a7c9a3;
  --ds-color-syntax-constant: #e0c48a;
  --ds-color-syntax-function: #9fc3d6;
  --ds-color-syntax-comment: #6f6b65;
  --ds-color-syntax-punctuation: #8f8a83;
  --ds-radius-xs: 0.25rem;
  --ds-radius-sm: 0.375rem;
  --ds-radius-md: 0.625rem;
  --ds-radius-lg: 0.875rem;
  --ds-radius-xl: 1.25rem;
  --ds-radius-2xl: 1.75rem;
  --ds-radius-full: 9999px;
  --ds-border-hairline: 1px;
  --ds-border-thick: 2px;
  --ds-shadow-none: none;
  --ds-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.18);
  --ds-shadow-md: 0 8px 24px -12px rgb(0 0 0 / 0.4);
  --ds-shadow-lg: 0 24px 60px -24px rgb(0 0 0 / 0.5);
  --ds-shadow-glow: 0 0 0 1px var(--ds-color-accent-soft), 0 0 48px -8px var(--ds-color-accent-glow);
  --ds-shadow-glow-strong: 0 0 0 1px var(--ds-color-accent-soft), 0 0 96px -12px var(--ds-color-accent-glow);
  --ds-shadow-ring: 0 0 0 3px var(--ds-color-accent-soft);
  --ds-blur-glass: 12px;
  --ds-blur-halo: 90px;
  --ds-text-shadow-display: 0 2px 16px var(--ds-color-display-shadow);
  --ds-opacity-disabled: 0.45;
  --ds-opacity-muted: 0.7;
  --ds-opacity-hover: 0.85;
  --ds-opacity-halo: 0.55;
  --ds-opacity-halo-light: 0.3;
  --ds-opacity-pattern: 0.5;
  --ds-duration-fast: 150ms;
  --ds-duration-base: 240ms;
  --ds-duration-slow: 320ms;
  --ds-duration-reveal: 600ms;
  --ds-duration-breath: 5000ms;
  --ds-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ds-ease-emphasized: cubic-bezier(0.3, 0, 0, 1);
  --ds-ease-breath: cubic-bezier(0.45, 0, 0.55, 1);
  --ds-font-sans: "Inter", "Noto Sans SC Variable", "Source Han Sans SC", "Noto Sans CJK SC", sans-serif;
  --ds-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", "Noto Sans Mono CJK SC", monospace;
  --ds-text-xs: 0.8125rem;
  --ds-text-xs--line-height: 1.2rem;
  --ds-text-sm: 0.9375rem;
  --ds-text-sm--line-height: 1.5rem;
  --ds-text-base: 1.0625rem;
  --ds-text-base--line-height: 1.75rem;
  --ds-text-lg: 1.1875rem;
  --ds-text-lg--line-height: 1.9rem;
  --ds-text-xl: 1.375rem;
  --ds-text-xl--line-height: 2rem;
  --ds-text-2xl: 1.625rem;
  --ds-text-2xl--line-height: 2.15rem;
  --ds-text-3xl: 2rem;
  --ds-text-3xl--line-height: 2.45rem;
  --ds-text-4xl: 2.5rem;
  --ds-text-4xl--line-height: 2.9rem;
  --ds-text-5xl: 3.25rem;
  --ds-text-5xl--line-height: 3.55rem;
  --ds-text-6xl: 4.25rem;
  --ds-text-6xl--line-height: 4.45rem;
  --ds-container-figure: 32rem;
  --ds-container-prose: 44rem;
  --ds-container-content: 72rem;
  --ds-container-wide: 88rem;
  --ds-weight-normal: 450;
  --ds-weight-medium: 600;
  --ds-weight-semibold: 700;
  --ds-tracking-tight: -0.02em;
  --ds-tracking-normal: 0;
  --ds-tracking-wide: 0.06em;
  --ds-reveal-offset: 6px;
  --ds-breath-amplitude: 0.08;
  --ds-header-height: 3.75rem;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --ds-color-bg: #f7f3ec;
    --ds-color-bg-elevated: #fbf9f5;
    --ds-color-surface: #fdfbf8;
    --ds-color-surface-hover: #f1ece3;
    --ds-color-surface-glass: rgb(247 243 236 / 0.8);
    --ds-color-border: rgb(44 38 32 / 0.1);
    --ds-color-border-strong: rgb(44 38 32 / 0.22);
    --ds-color-fg: #26221e;
    --ds-color-fg-display: #16130f;
    --ds-color-display-shadow: transparent;
    --ds-color-fg-muted: #625b53;
    --ds-color-fg-subtle: #8d857c;
    --ds-color-link: #4b6560;
    --ds-color-link-hover: #26221e;
    --ds-color-accent: #a5623f;
    --ds-color-accent-hover: #8f5233;
    --ds-color-accent-fg: #fbf6ef;
    --ds-color-accent-soft: rgb(165 98 63 / 0.1);
    --ds-color-accent-glow: rgb(165 98 63 / 0.2);
    --ds-color-accent-glow-faint: rgb(165 98 63 / 0.06);
    --ds-color-secondary: #5f726d;
    --ds-color-secondary-fg: #3e4f4b;
    --ds-color-secondary-soft: rgb(95 114 109 / 0.12);
    --ds-color-success: #3f7a53;
    --ds-color-warning: #8f7325;
    --ds-color-danger: #9c4b4b;
    --ds-color-overlay: rgb(38 34 30 / 0.4);
    --ds-color-code-bg: #efe9df;
    --ds-color-code-fg: #2d2822;
    --ds-color-selection: rgb(165 98 63 / 0.22);
    --ds-color-chart-line: #5f726d;
    --ds-color-chart-fill: rgb(95 114 109 / 0.1);
    --ds-color-chart-marker: #a5623f;
    --ds-color-orb-hi: #fffefc;
    --ds-color-orb-mid: #ffd3ab;
    --ds-color-orb: #ffb26e;
    --ds-color-orb-rim: #fa7600;
    --ds-color-orb-glow: rgb(255 178 110 / 0.64);
    --ds-color-orb-glow-mid: rgb(255 178 110 / 0.19);
    --ds-color-orb-glow-end: rgb(255 178 110 / 0);
    --ds-color-syntax-keyword: #7a4f8c;
    --ds-color-syntax-string: #3f7a4a;
    --ds-color-syntax-constant: #8a6a1f;
    --ds-color-syntax-function: #2f6a84;
    --ds-color-syntax-comment: #8d857c;
    --ds-color-syntax-punctuation: #6b655e;
  }
}

:root[data-theme="light"] {
  color-scheme: light;
  --ds-color-bg: #f7f3ec;
  --ds-color-bg-elevated: #fbf9f5;
  --ds-color-surface: #fdfbf8;
  --ds-color-surface-hover: #f1ece3;
  --ds-color-surface-glass: rgb(247 243 236 / 0.8);
  --ds-color-border: rgb(44 38 32 / 0.1);
  --ds-color-border-strong: rgb(44 38 32 / 0.22);
  --ds-color-fg: #26221e;
  --ds-color-fg-display: #16130f;
  --ds-color-display-shadow: transparent;
  --ds-color-fg-muted: #625b53;
  --ds-color-fg-subtle: #8d857c;
  --ds-color-link: #4b6560;
  --ds-color-link-hover: #26221e;
  --ds-color-accent: #a5623f;
  --ds-color-accent-hover: #8f5233;
  --ds-color-accent-fg: #fbf6ef;
  --ds-color-accent-soft: rgb(165 98 63 / 0.1);
  --ds-color-accent-glow: rgb(165 98 63 / 0.2);
  --ds-color-accent-glow-faint: rgb(165 98 63 / 0.06);
  --ds-color-secondary: #5f726d;
  --ds-color-secondary-fg: #3e4f4b;
  --ds-color-secondary-soft: rgb(95 114 109 / 0.12);
  --ds-color-success: #3f7a53;
  --ds-color-warning: #8f7325;
  --ds-color-danger: #9c4b4b;
  --ds-color-overlay: rgb(38 34 30 / 0.4);
  --ds-color-code-bg: #efe9df;
  --ds-color-code-fg: #2d2822;
  --ds-color-selection: rgb(165 98 63 / 0.22);
  --ds-color-chart-line: #5f726d;
  --ds-color-chart-fill: rgb(95 114 109 / 0.1);
  --ds-color-chart-marker: #a5623f;
  --ds-color-orb-hi: #fffefc;
  --ds-color-orb-mid: #ffd3ab;
  --ds-color-orb: #ffb26e;
  --ds-color-orb-rim: #fa7600;
  --ds-color-orb-glow: rgb(255 178 110 / 0.64);
  --ds-color-orb-glow-mid: rgb(255 178 110 / 0.19);
  --ds-color-orb-glow-end: rgb(255 178 110 / 0);
  --ds-color-syntax-keyword: #7a4f8c;
  --ds-color-syntax-string: #3f7a4a;
  --ds-color-syntax-constant: #8a6a1f;
  --ds-color-syntax-function: #2f6a84;
  --ds-color-syntax-comment: #8d857c;
  --ds-color-syntax-punctuation: #6b655e;
}
