/* Legal pages (/privacy/, /en/privacy/): QuickMemo brand, dark in both themes, long readable text,
   no external resources. */
:root {
  --night: #0F131D;
  --panel: #171B26;
  --outline: #464554;
  --on-night: #DFE2F1;
  --on-night-muted: #C7C4D7;
  --on-night-subtle: #908FA0;
  --indigo: #8083FF;
  --indigo-light: #C0C1FF;
  --sky: #7BD0FF;
  --todo-bg: #4A3A00;
  --todo-text: #FFE08A;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  padding: 32px 16px 48px;
  background:
    radial-gradient(circle at 50% 0%, rgba(128, 131, 255, 0.18), transparent 40%),
    var(--night);
  color: var(--on-night-muted);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
main { max-width: 760px; margin: 0 auto; }
header.top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 32px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--on-night);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.4px;
  text-decoration: none;
}
.brand svg { width: 40px; height: 40px; flex: none; }
.brand span {
  background: linear-gradient(90deg, var(--indigo-light), var(--indigo), var(--sky));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lang {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid var(--outline);
  border-radius: 999px;
  color: var(--indigo-light);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
h1 { margin: 0 0 8px; font-size: 34px; line-height: 1.15; letter-spacing: -0.6px; color: var(--on-night); }
h2 { margin: 40px 0 12px; font-size: 22px; line-height: 1.3; color: var(--on-night); }
h3 { margin: 24px 0 8px; font-size: 18px; color: var(--on-night); }
p, ul, ol { margin: 0 0 14px; }
ul, ol { padding-left: 22px; }
li { margin: 4px 0; }
strong { color: var(--on-night); }
a { color: var(--sky); }
a:focus-visible, .lang:focus-visible { outline: 3px solid var(--sky); outline-offset: 2px; }
.updated { color: var(--on-night-subtle); font-size: 14px; }
.summary {
  margin: 24px 0;
  padding: 20px 24px;
  border: 1px solid var(--outline);
  border-radius: 24px;
  background: var(--panel);
}
.summary ul { margin: 0; }
nav.toc ol { columns: 2; column-gap: 32px; font-size: 15px; }
@media (max-width: 600px) { nav.toc ol { columns: 1; } }
.table-wrap { overflow-x: auto; margin: 0 0 16px; }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
th, td { padding: 10px 12px; border-bottom: 1px solid var(--outline); text-align: left; vertical-align: top; }
th { color: var(--on-night); background: var(--panel); }
/* Facts still to be supplied: impossible to miss before publishing. */
.todo {
  padding: 1px 6px;
  border-radius: 6px;
  background: var(--todo-bg);
  color: var(--todo-text);
  font-weight: 600;
}
footer { max-width: 760px; margin: 48px auto 0; font-size: 13px; color: var(--on-night-subtle); }
