/* Privacy policy and terms: a plain reading page in the game's colours and type. */
body.legal { background: var(--ink); color: var(--bone); min-height: 100vh; }
.legal-page { max-width: 44rem; margin: 0 auto; padding: 2.5rem 16px 4rem; line-height: 1.65; }
.legal-page h1 { font: 700 clamp(2.4rem, 7vw, 3.4rem)/1.05 var(--display); color: var(--torch); margin: 1.2rem 0 .3rem; text-shadow: 0 0 18px var(--torch-glow); }
.legal-page h2 { font: 700 1.55rem/1.2 var(--display); color: var(--bone); margin: 2.2rem 0 .6rem; }
.legal-meta { color: var(--bone-dim); font-size: .9rem; margin: 0 0 1.6rem; }
.legal-lede { font-size: 1.1rem; }
.legal-page p, .legal-page li { max-width: 68ch; }
.legal-page ul { padding-left: 1.2rem; }
.legal-page li { margin-bottom: .45rem; }
.legal-page li::marker { color: var(--torch); }
.legal-page a { color: var(--torch); }
.legal-page a:focus-visible { outline: 2px solid var(--torch); outline-offset: 2px; }
.legal-page code { font-size: .9em; color: var(--bone); background: var(--stone-2); padding: .05em .35em; border-radius: 3px; }
.legal-back { display: inline-block; font-weight: 700; text-decoration: none; }
.legal-back::before { content: "‹ "; }
.legal-table { width: 100%; border-collapse: collapse; font-size: .92rem; margin: .4rem 0 1rem; }
.legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: .55rem .6rem; border-bottom: 1px solid var(--line); }
.legal-table th { color: var(--bone-dim); font-weight: 700; }
.legal-foot { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--bone-dim); }
@media (max-width: 600px) {
  /* The three-column table becomes one card per row. */
  .legal-table thead { display: none; }
  .legal-table tr { display: grid; padding: .6rem 0; border-bottom: 1px solid var(--line); }
  .legal-table td { border: 0; padding: .1rem 0; }
  .legal-table td:first-child { font-weight: 700; }
  .legal-table td:last-child { color: var(--bone-dim); font-size: .85rem; }
}
