:root {
  color-scheme: light;
  --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;

  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;

  --radius-md: .375rem;
  --radius-lg: .5rem;
  --radius-xl: .625rem;
  --radius-2xl: 1rem;
  --radius-pill: 999px;
  --container-max: 70rem;

  --color-background: #f9f9f9;
  --color-surface: #ffffff;
  --color-surface-hover: #fbfbfb;
  --color-border: #ededed;
  --color-border-strong: #e3e3e3;
  --color-foreground: #262626;
  --color-body: #3a3a3a;
  --color-muted: #6b6b6b;
  --color-faint: #a3a3a3;
  --color-primary: #5cdd28;
  --color-primary-hover: #4ebc22;
  --color-primary-foreground: #0f2005;
  --color-primary-ink: #337a16;
  --color-primary-soft: rgb(92 221 40 / 8%);
  --color-primary-border: rgb(92 221 40 / 20%);
  --color-secondary: rgb(0 0 0 / 4%);
  --color-secondary-hover: rgb(0 0 0 / 7%);
  --color-success: #16a34a;
  --color-success-soft: rgb(22 163 74 / 10%);
  --color-warning: #d97706;
  --color-warning-soft: rgb(217 119 6 / 10%);

  --shadow-card: 0 1px 2px rgb(0 0 0 / 4%), 0 8px 24px -12px rgb(0 0 0 / 8%);
  --shadow-float: 0 1px 2px rgb(0 0 0 / 4%), 0 16px 40px -16px rgb(0 0 0 / 14%);
  --shadow-button: inset 0 -2px 0 rgb(0 0 0 / 12%), inset 0 1px 0 rgb(255 255 255 / 20%), 0 1px 2px rgb(92 221 40 / 35%);

  --duration-fast: 150ms;
  --duration-normal: 240ms;
  --ease-standard: cubic-bezier(.2, .8, .2, 1);
}

html.dark,
html[data-theme="dark"] {
  color-scheme: dark;
  --color-background: #0a0a0a;
  --color-surface: #111111;
  --color-surface-hover: #161616;
  --color-border: #1f1f1f;
  --color-border-strong: #2e2e2e;
  --color-foreground: #ededed;
  --color-body: #d4d4d4;
  --color-muted: #a1a1a1;
  --color-faint: #5e5e5e;
  --color-primary-ink: #9deb7e;
  --color-primary-soft: rgb(92 221 40 / 14%);
  --color-primary-border: rgb(92 221 40 / 32%);
  --color-secondary: rgb(255 255 255 / 6%);
  --color-secondary-hover: rgb(255 255 255 / 10%);
  --color-success-soft: rgb(22 163 74 / 16%);
  --color-warning-soft: rgb(217 119 6 / 16%);
  --shadow-card: 0 0 0 1px rgb(255 255 255 / 3%), 0 8px 24px -12px rgb(0 0 0 / 60%);
  --shadow-float: 0 0 0 1px rgb(255 255 255 / 4%), 0 16px 40px -16px rgb(0 0 0 / 70%);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not(.light) {
    color-scheme: dark;
    --color-background: #0a0a0a;
    --color-surface: #111111;
    --color-surface-hover: #161616;
    --color-border: #1f1f1f;
    --color-border-strong: #2e2e2e;
    --color-foreground: #ededed;
    --color-body: #d4d4d4;
    --color-muted: #a1a1a1;
    --color-faint: #5e5e5e;
    --color-primary-ink: #9deb7e;
    --color-primary-soft: rgb(92 221 40 / 14%);
    --color-primary-border: rgb(92 221 40 / 32%);
    --color-secondary: rgb(255 255 255 / 6%);
    --color-secondary-hover: rgb(255 255 255 / 10%);
    --shadow-card: 0 0 0 1px rgb(255 255 255 / 3%), 0 8px 24px -12px rgb(0 0 0 / 60%);
    --shadow-float: 0 0 0 1px rgb(255 255 255 / 4%), 0 16px 40px -16px rgb(0 0 0 / 70%);
  }
}
