/* Legal pages of the Magic Language School teacher ecosystem. Standalone: opened in an external browser. */
:root {
  --paper: #f2ead7;
  --surface: #f4eddc;
  --ink: #121524;
  --muted: rgba(18, 21, 36, .68);
  --line: rgba(18, 21, 36, .16);
  --accent: #715623;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #09101d;
    --surface: #0e1524;
    --ink: #f2ead7;
    --muted: rgba(242, 234, 215, .7);
    --line: rgba(242, 234, 215, .16);
    --accent: #c2a15c;
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 16px/1.6 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
main { max-width: 760px; margin: 0 auto; padding: 24px 16px 64px; }
header { display: flex; flex-direction: column; align-items: center; gap: 8px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.logo { width: 180px; height: auto; }
.logo--night { display: none; }
@media (prefers-color-scheme: dark) { .logo--light { display: none; } .logo--night { display: block; } }
.tagline { margin: 0; color: var(--muted); font-size: 14px; text-align: center; }
nav.docs { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; font-size: 14px; }
a { color: var(--accent); }
h1 { font: 700 1.6rem/1.25 "Roboto Condensed", Inter, system-ui, sans-serif; margin: 24px 0 4px; }
h2 { font: 700 1.15rem/1.3 "Roboto Condensed", Inter, system-ui, sans-serif; margin: 28px 0 8px; }
h3 { font-size: 1rem; margin: 20px 0 6px; }
.meta { color: var(--muted); font-size: 14px; margin: 0 0 16px; }
ol, ul { padding-left: 1.3em; }
li { margin: 4px 0; }
.note { background: var(--surface); border: 1px solid var(--line); border-radius: 2px; padding: 12px 14px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
th, td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--line); }
th { color: var(--muted); font-weight: 600; font-size: 13px; }
.price { white-space: nowrap; font-weight: 700; }
footer { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
/* Phones: each tariff row becomes a small card instead of a table that scrolls sideways. */
@media (max-width: 560px) {
  table, thead, tbody, tr, th, td { display: block; }
  thead { display: none; }
  tr { padding: 10px 0; border-bottom: 1px solid var(--line); }
  td { padding: 2px 0; border: 0; }
  td:first-child { font-weight: 700; }
}
