/* Riffle legal pages. Paper and ink, matching the app's palette.
   Served from /legal/style.css — the nginx CSP allows style-src 'self'. */

:root {
  --paper: #FBFBFA;
  --paper-sunk: #F2F2F0;
  --ink: #111112;
  --ink-muted: #6B6B72;
  --rule: #E3E3E0;
  --accent: #E5342A;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #0B0B0C;
    --paper-sunk: #1A1A1F;
    --ink: #FBFBFA;
    --ink-muted: #A0A0A6;
    --rule: #26262B;
    --accent: #FF453A;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  padding: 0 1.5rem 6rem;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.65 ui-serif, Georgia, "Times New Roman", serif;
  -webkit-text-size-adjust: 100%;
}

main { max-width: 40rem; margin: 0 auto; }

header {
  padding: 4rem 0 2.5rem;
  border-bottom: 1px solid var(--rule);
  margin-bottom: 2.5rem;
}

.eyebrow {
  font: 600 12px/1 ui-sans-serif, -apple-system, system-ui, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 1rem;
}

h1 { font-size: 2.2rem; line-height: 1.15; margin: 0 0 .75rem; letter-spacing: -.02em; }

h2 {
  font: 600 1.25rem/1.3 ui-sans-serif, -apple-system, system-ui, sans-serif;
  margin: 3rem 0 .75rem;
  letter-spacing: -.01em;
}

h3 {
  font: 600 1rem/1.4 ui-sans-serif, -apple-system, system-ui, sans-serif;
  margin: 2rem 0 .5rem;
}

p, li { margin: 0 0 1rem; }
ul { padding-left: 1.25rem; }
li::marker { color: var(--ink-muted); }

a { color: var(--ink); text-underline-offset: 3px; text-decoration-color: var(--accent); }
a:hover { color: var(--accent); }

.dates {
  font: 400 14px/1.5 ui-sans-serif, -apple-system, system-ui, sans-serif;
  color: var(--ink-muted);
  margin: 0;
}

.lede { font-size: 1.15rem; color: var(--ink-muted); margin-bottom: 0; }

.callout {
  background: var(--paper-sunk);
  border-left: 3px solid var(--accent);
  padding: 1.1rem 1.25rem;
  margin: 1.75rem 0;
  border-radius: 0 6px 6px 0;
}
.callout p:last-child { margin-bottom: 0; }

table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .95rem; }
th, td { text-align: left; padding: .7rem .6rem; border-bottom: 1px solid var(--rule); vertical-align: top; }
th {
  font: 600 13px/1.4 ui-sans-serif, -apple-system, system-ui, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
/* Tables scroll inside their own container rather than the page. */
.wrap { overflow-x: auto; }

footer {
  margin-top: 4rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--rule);
  font: 400 14px/1.6 ui-sans-serif, -apple-system, system-ui, sans-serif;
  color: var(--ink-muted);
}
footer a { margin-right: 1.25rem; }

/* Index page */
.card-list { list-style: none; padding: 0; margin: 2rem 0 0; }
.card-list li { margin: 0 0 1rem; }
.card-list a {
  display: block;
  padding: 1.25rem 1.4rem;
  background: var(--paper-sunk);
  border-radius: 8px;
  text-decoration: none;
}
.card-list strong {
  display: block;
  font: 600 1.1rem/1.3 ui-sans-serif, -apple-system, system-ui, sans-serif;
  margin-bottom: .3rem;
}
.card-list span { color: var(--ink-muted); font-size: .95rem; }
