:root {
  color-scheme: light;
  --bg: #eef5f3;
  --surface: #ffffff;
  --border: #d7e4e1;
  --border-strong: #b9cfca;
  --ink: #102f35;
  --muted: #597276;
  --faint: #52666a;
  --brand: #087f78;
  --brand-hover: #06645f;
  --brand-ink: #ffffff;
  --brand-wash: #e0f4f0;
  --good: #07866f;
  --good-wash: #e8faf4;
  --bad: #b42318;
  --bad-wash: #fff0ef;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);
  --shadow-md: 0 8px 24px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);
  --font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { height: 100%; }
body {
  margin: 0;
  background: radial-gradient(circle at 100% 0%, #e1f2ee 0, transparent 34%), linear-gradient(135deg, #eef5f3 0%, #f7faf9 52%, #f6f4ed 100%);
  font: 15px/1.5 var(--font);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
input, button { font: inherit; color: inherit; }
a { color: var(--brand); }
button:hover, .save-btn:hover { background: var(--brand-hover); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
