@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
  --foreground-rgb: 0, 0, 0;
  --background-start-rgb: 214, 219, 220;
  --background-end-rgb: 255, 255, 255;
}

@media (prefers-color-scheme: dark) {
  :root {
    --foreground-rgb: 255, 255, 255;
    --background-start-rgb: 0, 0, 0;
    --background-end-rgb: 0, 0, 0;
  }
}

@layer base {
  :root {
    --background: 0 0% 99%;
    --foreground: 0 0% 4%;
    --card: 0 0% 100%;
    --card-foreground: 0 0% 4%;
    --popover: 0 0% 100%;
    --popover-foreground: 0 0% 4%;
    --primary: 15 16% 10%;
    --primary-foreground: 0 0% 99%;
    --secondary: 30 10% 94%;
    --secondary-foreground: 15 16% 10%;
    --muted: 24 9% 91%;
    --muted-foreground: 20 8% 46%;
    --accent: 30 8% 95%;
    --accent-foreground: 15 16% 10%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: 24 8% 88%;
    --input: 0 0% 100%;
    --ring: 18 9% 52%;
    --chart-1: 17 9% 51%;
    --chart-2: 107 9% 55%;
    --chart-3: 216 12% 59%;
    --chart-4: 18 8% 68%;
    --chart-5: 102 12% 74%;
    --radius: 1rem;
  }
  .dark {
    --background: 0 0% 3.9%;
    --foreground: 0 0% 98%;
    --card: 0 0% 3.9%;
    --card-foreground: 0 0% 98%;
    --popover: 0 0% 3.9%;
    --popover-foreground: 0 0% 98%;
    --primary: 0 0% 98%;
    --primary-foreground: 0 0% 9%;
    --secondary: 0 0% 14.9%;
    --secondary-foreground: 0 0% 98%;
    --muted: 0 0% 14.9%;
    --muted-foreground: 0 0% 63.9%;
    --accent: 0 0% 14.9%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 98%;
    --border: 0 0% 14.9%;
    --input: 0 0% 14.9%;
    --ring: 0 0% 83.1%;
    --chart-1: 220 70% 50%;
    --chart-2: 160 60% 45%;
    --chart-3: 30 80% 55%;
    --chart-4: 280 65% 60%;
    --chart-5: 340 75% 55%;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
    font-family: "Public Sans", Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
      "Noto Sans SC", "Source Han Sans SC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: 0;
  }

  h1, h2 {
    font-family: "Lora", Georgia, "Times New Roman", serif;
  }
}

@layer utilities {
  .contained-long-text {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .contained-preserved-long-text {
    min-width: 0;
    max-width: 100%;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .contained-json-text {
    min-width: 0;
    max-width: 100%;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  }
}

/* Override Tailwind Typography table defaults for markdown rendering */
.prose table {
  margin-top: 0;
  margin-bottom: 0;
}

.prose thead th {
  padding: 0;
  vertical-align: middle;
}

.prose tbody td {
  padding: 0;
  vertical-align: middle;
}

.prose thead {
  border-bottom: none;
}

.prose tbody tr {
  border-bottom: none;
}

.prose :where(thead th:first-child) {
  padding-inline-start: 0;
}

.prose :where(thead th:last-child) {
  padding-inline-end: 0;
}

.prose :where(tbody td:first-child, tfoot td:first-child) {
  padding-inline-start: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child) {
  padding-inline-end: 0;
}
