/* Public legal pages (tpl/legal_page.tpl). External file: the page's CSP does not allow inline styles (only the accent color block of LC_Config::legalAccentCss() by its hash). */
/* Colors: light by default, dark via the system setting; body.theme-dark / body.theme-light (from the modal, &theme=) take precedence */
body {
  --lp-bg: #d4d7dc; --lp-surface: #E3E5E8; --lp-surface-2: #c8ccd1; --lp-text: #1e1f22; --lp-text-muted: #4d5057;
  --lp-border: #b3b7bd; --lp-link: #0055aa; --lp-accent: #E6A70B; --lp-notice-bg: #efe3bd;
}
@media (prefers-color-scheme: dark) {
  body {
    --lp-bg: #2C2F33; --lp-surface: #36393f; --lp-surface-2: #23262a; --lp-text: #E3E5E8; --lp-text-muted: #b9bbbe;
    --lp-border: #555555; --lp-link: #E6A70B; --lp-accent: #E6A70B; --lp-notice-bg: #3d3a2a;
  }
}
body.theme-light {
  --lp-bg: #d4d7dc; --lp-surface: #E3E5E8; --lp-surface-2: #c8ccd1; --lp-text: #1e1f22; --lp-text-muted: #4d5057;
  --lp-border: #b3b7bd; --lp-link: #0055aa; --lp-accent: #E6A70B; --lp-notice-bg: #efe3bd;
}
body.theme-dark {
  --lp-bg: #2C2F33; --lp-surface: #36393f; --lp-surface-2: #23262a; --lp-text: #E3E5E8; --lp-text-muted: #b9bbbe;
  --lp-border: #555555; --lp-link: #E6A70B; --lp-accent: #E6A70B; --lp-notice-bg: #3d3a2a;
}
body { margin: 0; background: var(--lp-bg); color: var(--lp-text); font: 16px/1.6 Arial, Helvetica, sans-serif; }
main { box-sizing: border-box; max-width: 50rem; margin: 2rem auto; padding: 1.5rem 2rem; background: var(--lp-surface); border: 1px solid var(--lp-border); border-top: 4px solid var(--lp-accent); }
header { margin-bottom: 1.5rem; color: var(--lp-text-muted); font-size: 0.9rem; }
h1 { margin: 0 0 1rem; font-size: 1.8rem; }
h2 { margin-top: 1.8rem; font-size: 1.3rem; }
h3, h4, h5, h6 { margin-top: 1.4rem; font-size: 1.1rem; }
a { color: var(--lp-link); }
blockquote { margin: 1rem 0; padding-left: 1rem; border-left: 3px solid var(--lp-border); color: var(--lp-text-muted); }
table { width: 100%; margin: 1rem 0; border-collapse: collapse; }
th, td { padding: 0.4rem 0.6rem; border: 1px solid var(--lp-border); text-align: left; vertical-align: top; }
th { background: var(--lp-surface-2); }
code { padding: 0.1rem 0.3rem; background: var(--lp-surface-2); border-radius: 3px; font-size: 0.9em; }
pre { overflow-x: auto; padding: 0.8rem; background: var(--lp-surface-2); border-radius: 3px; }
pre code { padding: 0; background: none; }
.notice { padding: 1rem; background: var(--lp-notice-bg); border: 1px solid var(--lp-accent); }
footer { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--lp-border); font-size: 0.9rem; }
footer a + a::before { content: "\00B7"; display: inline-block; margin: 0 0.5rem; color: var(--lp-text-muted); }
body.embed { background: var(--lp-surface); }
body.embed main { max-width: none; margin: 0; border: 0; }
@media (max-width: 40rem) { main { margin: 0; padding: 1rem; border: 0; } }
