/* The legal pages (privacy policy, terms, legal notice) in every language.
   Plain documents that work without JavaScript; the colours follow the app. */
:root {
  --bg: #FAF6F0;
  --paper: #FFFFFF;
  --ink: #2A2A3A;
  --muted: #5D5D6C;
  --accent: #303090;
  --line: #E7E0D6;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #17171F;
    --paper: #20202A;
    --ink: #ECEAF2;
    --muted: #B4B2C2;
    --accent: #A9A9F5;
    --line: #34343F;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.65;
  overflow-wrap: break-word;
}
a { color: var(--accent); }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 2px; }
.top, main, .bottom { max-width: 780px; margin: 0 auto; padding-left: 20px; padding-right: 20px; }
.top {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 8px 20px; padding-top: 22px; padding-bottom: 6px;
}
.brand { font-weight: 700; font-size: 18px; text-decoration: none; color: var(--ink); }
.top nav a, .bottom nav a { display: inline-block; padding: 10px 6px; }
main { padding-top: 18px; padding-bottom: 40px; }
h1 { font-size: 30px; line-height: 1.25; letter-spacing: -0.5px; margin: 0 0 6px; }
h2 { font-size: 19px; line-height: 1.35; margin: 36px 0 8px; color: var(--accent); }
h3 { font-size: 16px; margin: 22px 0 6px; }
p, li { font-size: 16px; }
ul, ol { padding-left: 22px; }
li { margin: 4px 0; }
.meta { color: var(--muted); font-size: 14px; margin: 0 0 22px; }
.note {
  background: var(--paper); border: 1px solid var(--line); border-radius: 12px;
  padding: 12px 16px; margin: 18px 0;
}
address { font-style: normal; }
.bottom { border-top: 1px solid var(--line); padding-top: 12px; padding-bottom: 40px; color: var(--muted); font-size: 14px; }
.bottom p { font-size: 14px; }
