/*
 * These pages sit outside the React app, so they carry their own copy of the
 * palette. It had drifted: the app was rethemed onto one grey and one green
 * while this file was still on stock indigo and slate, so the legal pages and
 * the 404 read as a different product. The values below mirror the tokens in
 * tailwind.config.js and index.html.
 */
:root {
  --bg: #F5F5F7;
  --panel: #FFFFFF;
  --text: #121212;
  --muted: #63636A;
  /* 4.64:1 on the light ground. The lighter grey this replaced sat at 3.15:1,
     which put the "last updated" line and the footer below AA — and those are
     exactly the lines someone squints at to check a policy is current. Dark
     mode keeps its own value, which already clears the bar at 5.46:1. */
  --faint: #6E6E76;
  --line: #DEDEE3;
  --accent: #006644;
  /* Text that sits ON the accent, not beside it. The accent inverts between
     themes — dark green on light, light green on dark — so a fixed white
     foreground reads at 2.4:1 in dark mode. This flips with it. */
  --on-accent: #FFFFFF;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #121212;
    --panel: #1C1C1E;
    --text: #F5F5F7;
    --muted: #A6A6AC;
    --faint: #8A8A90;
    --line: #2C2C2F;
    --accent: #57BA92;
    --on-accent: #06231A;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

.wrap {
  max-width: 820px;
  margin: 0 auto;
  padding: 3rem 1.5rem 5rem;
}

header.masthead {
  border-bottom: 1px solid var(--line);
  padding-bottom: 1.5rem;
  margin-bottom: 2.5rem;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  text-decoration: none;
  color: var(--text);
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: -.02em;
}

.mark {
  width: 30px; height: 30px;
  border-radius: 9px;
  /* Flat brand green. The indigo-to-purple gradient here belonged to a palette
     the app no longer uses. */
  background: #006644;
  color: #fff;
  display: grid; place-items: center;
  font-size: .85rem; font-weight: 800;
}

h1 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  letter-spacing: -.03em;
  margin: 2rem 0 .5rem;
  line-height: 1.15;
}

h2 {
  font-size: 1.2rem;
  margin: 2.5rem 0 .75rem;
  letter-spacing: -.01em;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}

h3 { font-size: 1rem; margin: 1.5rem 0 .5rem; }

p, li { color: var(--muted); }
li { margin-bottom: .4rem; }

.updated {
  color: var(--faint);
  font-size: .82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
}

a { color: var(--accent); }

table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  font-size: .9rem;
  display: block;
  overflow-x: auto;
}

th, td {
  text-align: left;
  padding: .7rem .8rem;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

th { color: var(--text); font-weight: 700; white-space: nowrap; }
td { color: var(--muted); }

.notice {
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent);
  border-radius: 14px;
  padding: 1rem 1.2rem;
  margin: 1.5rem 0;
  font-size: .9rem;
}

.notice strong { color: var(--text); }

footer.legal-footer {
  margin-top: 4rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
  font-size: .85rem;
  color: var(--faint);
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: space-between;
}

footer.legal-footer a { font-weight: 600; }
