/* Legal pages (/terms, /privacy, /rules): one readable column, numbered sections, print-friendly. */
.page-terms, .page-privacy, .page-rules { grid-template-columns: minmax(0, 1fr); max-width: 820px; gap: 0; }
.legal-wrap { display: grid; }
.legal {
  padding: 28px clamp(18px, 4vw, 40px) 36px; border-radius: var(--r-lg); background: var(--card); box-shadow: var(--shadow), 0 0 0 1px var(--line) inset;
  font-size: var(--step-0); line-height: 1.7; color: var(--mute); max-width: 760px; width: 100%; justify-self: center;
}
.legal .kicker {
  display: inline-block; margin: 0 0 12px; padding: 5px 12px; border-radius: 999px; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--gold); background: rgba(255, 201, 64, 0.1); box-shadow: 0 0 0 1px rgba(255, 201, 64, 0.35) inset;
}
.legal h1 { font-size: clamp(26px, 3.4vw, 40px); line-height: 1.08; font-weight: 800; letter-spacing: -0.03em; color: var(--ink); }
.legal-updated { margin: 10px 0 18px; font-size: var(--step--1); color: var(--dim); font-variant-numeric: tabular-nums; }
.legal-lead { font-size: var(--step-1); line-height: 1.55; color: var(--ink); padding-left: 14px; border-left: 3px solid var(--violet); margin: 0 0 8px; }
.legal h2 { margin: 30px 0 10px; font-size: 1.05rem; color: var(--ink); scroll-margin-top: 80px; }
.legal h2::before { content: ""; display: block; width: 36px; height: 2px; margin-bottom: 10px; background: linear-gradient(90deg, var(--violet), var(--lose)); border-radius: 2px; }
.legal p { margin: 0 0 10px; }
.legal p + p { margin-top: -2px; }
.legal ul, .legal ol { margin: 0 0 12px; padding-left: 22px; display: grid; gap: 6px; }
.legal li::marker { color: var(--violet-2); font-weight: 800; }
.legal strong { color: var(--ink); font-weight: 800; }
.legal a { color: var(--violet-2); font-weight: 700; text-underline-offset: 3px; }
.legal a:hover { color: var(--ink); }
.legal code { font: 0.9em var(--mono); padding: 1px 6px; border-radius: 6px; background: var(--well); color: var(--ink); box-shadow: 0 0 0 1px var(--line) inset; }
.legal-note { padding: 12px 16px; border-radius: var(--r); background: rgba(255, 201, 64, 0.08); box-shadow: 0 0 0 1px rgba(255, 201, 64, 0.3) inset; color: var(--ink); }
.legal-also { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--line); font-size: var(--step--1); color: var(--dim); }

@media (max-width: 640px) {
  .legal { padding: 22px 16px 28px; border-radius: var(--r); }
  .legal h2 { margin-top: 24px; }
}

@media print {
  .top, .foot, .chat, #feature-root, #announce, dialog, .legal-also { display: none !important; }
  body { background: #fff; color: #000; }
  .shell, .page { padding: 0; max-width: none; }
  .legal { box-shadow: none; background: none; color: #000; max-width: none; padding: 0; font-size: 11pt; line-height: 1.5; }
  .legal h1, .legal h2, .legal strong, .legal-lead, .legal-note, .legal code { color: #000; }
  .legal-lead { border-left-color: #000; }
  .legal h2::before { background: #000; }
  .legal a { color: #000; text-decoration: none; }
  .legal a[href^="http"]::after { content: " (" attr(href) ")"; font-weight: 400; }
  .legal .kicker, .legal-note { box-shadow: none; background: none; padding: 0; }
  .legal-updated { color: #333; }
}
