/* Styles for the LEGAL pages only (privacy.html, terms.html).
 *
 * The landing page (index.html) has its own inline styles on the app's
 * "Playful Lavender" design system and does not load this file.
 *
 * The base rules below are lifted from app/routers/legal.py so the legal pages
 * and the API-hosted /delete-account page stay visually identical — that page
 * is still served by FastAPI and carries its own inline copy of these rules.
 * Change one, change the other.
 */

:root {
  color-scheme: light dark;
  /* PALETTE shades from the app's src/data/theme.ts */
  --bg: #EFECFC; --surface: #FFFFFF; --ink: #1A1726; --text: #2A2740;
  --muted: #8B88A0; --line: #E6E2F6; --accent: #7A5AF0;
}
* { box-sizing: border-box; }

body {
  margin: 0; padding: 0;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.7; color: var(--ink); background: var(--bg);
}

.wrap { max-width: 720px; margin: 0 auto; padding: 40px 24px 80px; }

header { border-bottom: 1px solid var(--line); padding-bottom: 20px; margin-bottom: 32px; }
.brand { font-size: 20px; font-weight: 700; letter-spacing: -0.4px; }
.brand a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; }
.brand img { width: 40px; height: 40px; border-radius: 11px; display: block; }
.updated { font-size: 13px; color: var(--muted); margin-top: 10px; }

h1 { font-size: 30px; font-weight: 800; letter-spacing: -0.8px; margin: 0 0 8px; }
h2 { font-size: 18px; font-weight: 700; margin: 36px 0 10px; letter-spacing: -0.3px; }
h3 { font-size: 15.5px; font-weight: 700; margin: 22px 0 6px; }
p, li { font-size: 15px; color: var(--text); }
ul { padding-left: 20px; }
li { margin-bottom: 6px; }
a { color: var(--accent); }

.note {
  border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 14px;
  padding: 16px 18px; margin: 24px 0; background: var(--surface);
}
.note strong { display: block; margin-bottom: 6px; }

table { width: 100%; border-collapse: collapse; margin: 12px 0 8px; font-size: 14px; background: var(--surface); border-radius: 12px; overflow: hidden; }
th, td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; color: var(--text); }
th { font-weight: 700; color: var(--ink); }
tr:last-child td { border-bottom: 0; }

footer {
  margin-top: 56px; font-size: 13px; color: var(--muted);
  border-top: 1px solid var(--line); padding-top: 20px;
}

@media (prefers-color-scheme: dark) {
  :root { --bg: #1A1726; --surface: #2A2740; --ink: #F7F5FC; --text: #D9D4EA;
          --muted: #A5A2B8; --line: #5B5873; --accent: #AB93F2; }
}
