:root {
  color-scheme: light;

  /* Typography */
  --font-ui: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Microsoft YaHei", sans-serif;
  --font-editorial: "Iowan Old Style", "Palatino Linotype", "Songti SC",
    "Noto Serif CJK SC", Georgia, serif;
  --font-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace;
  --text-3xs: 0.65rem;
  --text-2xs: 0.7rem;
  --text-xs: 0.72rem;
  --text-sm: 0.76rem;
  --text-control: 0.82rem;
  --text-ui: 0.86rem;
  --text-body: 0.92rem;
  --text-heading-sm: 1.02rem;
  --text-heading-md: 1.15rem;
  --text-display-sm: 1.35rem;
  --text-display-md: 1.6rem;
  --text-display-lg: 2rem;
  --text-page-title: clamp(1.7rem, 3vw, 2.35rem);
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-strong: 650;
  --weight-bold: 700;

  /* Surfaces and text */
  --surface-canvas: #faf9f5;
  --surface-canvas-translucent: rgba(250, 249, 245, 0.94);
  --surface-raised: #ffffff;
  --surface-raised-translucent: rgba(255, 255, 255, 0.72);
  --surface-muted: #f2f0e8;
  --surface-muted-55: rgba(242, 240, 232, 0.55);
  --surface-muted-62: rgba(242, 240, 232, 0.62);
  --surface-muted-72: rgba(242, 240, 232, 0.72);
  --surface-accent-subtle: #fff8f4;
  --text-primary: #141413;
  --text-secondary: #5f5e58;
  --text-muted: #6d6b64;
  --text-on-accent: #ffffff;
  --text-on-dark-muted: rgba(250, 249, 245, 0.68);
  --border-subtle: #e8e6dc;
  --border-strong: #cfcdc3;
  --border-on-dark: rgba(255, 255, 255, 0.12);

  /* Accent and semantic states */
  --accent: #d97757;
  --accent-strong: #b65334;
  --accent-strong-hover: #9f472d;
  --accent-text: #8f3f27;
  --accent-text-strong: #773722;
  --accent-surface: #f4e1d8;
  --accent-surface-hover: #efd3c6;
  --accent-surface-translucent: rgba(244, 225, 216, 0.38);
  --accent-border-soft: rgba(198, 97, 63, 0.22);
  --accent-border: rgba(198, 97, 63, 0.36);
  --accent-border-strong: #d9a692;
  --accent-border-inset: #e9c3b4;
  --status-info: #6a9bcc;
  --status-info-surface: #e4edf5;
  --status-info-text: #45698d;
  --status-info-text-strong: #315f8b;
  --status-info-border: #cdddea;
  --status-success: #567044;
  --status-success-surface: #e7ecdf;
  --status-success-text: #52663b;
  --status-danger: #9b4036;
  --status-danger-surface: #f3dfdc;
  --status-danger-surface-hover: #ecd1cd;
  --status-danger-text-strong: #913f35;
  --status-danger-border-soft: rgba(168, 79, 67, 0.28);
  --status-danger-border: rgba(168, 79, 67, 0.45);
  --status-danger-border-faint: rgba(155, 64, 54, 0.2);
  --status-danger-border-muted: #e7c9c4;

  /* Shape, elevation, spacing, and layout */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;
  --radius-full: 50%;
  --shadow-subtle: 0 1px 2px rgba(20, 20, 19, 0.05);
  --shadow-floating: 0 8px 24px rgba(20, 20, 19, 0.1);
  --shadow-dialog: 0 14px 34px rgba(20, 20, 19, 0.14), var(--shadow-subtle);
  --shadow-overlay: 0 18px 45px rgba(20, 20, 19, 0.07);
  --shadow-mobile-nav: 0 12px 30px rgba(20, 20, 19, 0.12);
  --shadow-accent-inset: inset 0 0 0 1px #e9c3b4;
  --shadow-on-dark-inset: inset 0 0 0 1px var(--border-on-dark);
  --shadow-focus: 0 0 0 3px var(--focus-ring-color);
  --shadow-focus-wide: 0 0 0 4px var(--focus-ring-color);
  --shadow-focus-accent: 0 0 0 3px var(--focus-ring-accent);
  --shadow-focus-danger: 0 0 0 3px var(--focus-ring-danger);
  --shadow-active-tab: inset 0 -2px var(--accent-strong);
  --shadow-current-marker: 0 0 0 4px var(--accent-surface);
  --focus-ring-color: rgba(217, 119, 87, 0.34);
  --focus-ring-danger: rgba(155, 64, 54, 0.14);
  --focus-ring-accent: rgba(192, 93, 58, 0.15);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --control-height-sm: 32px;
  --control-height-md: 38px;
  --control-height-lg: 40px;
  --sidebar-width: 224px;
}
