:root {
  color-scheme: light;
  --paper: #f3efe6;
  --paper-2: #ebe4d6;
  --ink: #221f1b;
  --ink-soft: #5c564c;
  --line: rgba(40, 34, 26, 0.12);
  --line-strong: rgba(40, 34, 26, 0.22);
  --terracotta: #c9482a;
  --terracotta-soft: #f3c4b4;
  --moss: #3f7a55;
  --amber: #b7791f;
  --card: rgba(255, 252, 246, 0.78);
  --card-solid: #fffdf8;
  --glow: rgba(255, 255, 255, 0.7);
  --shadow: 0 18px 48px rgba(54, 42, 28, 0.08);
  --radius: 22px;
  --radius-sm: 12px;
  --header-h: 76px;
  --serif: "Noto Serif SC", "Songti SC", "Source Han Serif SC", Georgia, serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

[data-theme="dark"] {
  color-scheme: dark;
  --paper: #161512;
  --paper-2: #1e1c18;
  --ink: #f3efe4;
  --ink-soft: #aea79a;
  --line: rgba(255, 248, 236, 0.1);
  --line-strong: rgba(255, 248, 236, 0.2);
  --terracotta: #ef7d5e;
  --terracotta-soft: #5a3228;
  --moss: #7dba90;
  --amber: #e0b15a;
  --card: rgba(34, 32, 28, 0.78);
  --card-solid: #23211c;
  --glow: rgba(70, 66, 56, 0.35);
  --shadow: 0 22px 56px rgba(0, 0, 0, 0.32);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 50% -12%, var(--glow), transparent 36rem),
    var(--paper);
  font-family: var(--sans);
  font-feature-settings: "ss01" on, "cv11" on;
}

button, input, textarea, select { font: inherit; color: inherit; }

a { color: inherit; }

::selection { background: color-mix(in srgb, var(--terracotta) 28%, white); }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
