/* legal pages (/terms/, /privacy/, /refunds/, /about/) and the 404 page: a readable stone "book" panel under the world */
.legal-hero { grid-template-columns: 1fr !important; padding-bottom: 26px; }
.legal-hero .lead { margin-bottom: 8px; }
.doc-wrap { padding: 0 16px; }
.doc { max-width: 820px; margin: 36px auto 0; padding: 22px 24px 12px; background: var(--panel); color: var(--ink);
  border: 3px solid #0b0b0b; box-shadow: inset 3px 3px 0 #fff, inset -3px -3px 0 #555, 0 10px 24px rgba(0, 0, 0, .35);
  --focus: #0b3fd1; overflow-wrap: anywhere; }
.doc h2 { color: var(--ink); font-size: 1.45rem; margin: 26px 0 6px; }
.doc h2:first-child { margin-top: 4px; }
.doc p, .doc li { max-width: 64ch; }
.doc ul { padding-left: 1.2em; }
.doc li { margin: 4px 0; }
.doc a { color: #0b3fd1; }
.doc .short { background: #e9f7df; border: 3px solid #3a7d24; padding: 10px 14px; margin: 12px 0; }
.doc .short b { font-weight: 700; }
.doc .updated { color: var(--ink-dim); font-size: .9rem; }
.doc table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.doc th, .doc td { text-align: left; vertical-align: top; padding: 8px 6px; border-bottom: 2px solid #9a9a9a; }
.legal-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.legal-tabs a { display: inline-block; padding: 6px 10px; font: 700 .95rem var(--label); color: var(--text); text-decoration: none;
  background: var(--btn); border: 2px solid #0b0b0b; box-shadow: inset 2px 2px 0 var(--btn-hi), inset -2px -2px 0 var(--btn-lo); }
.legal-tabs a[aria-current="page"] { background: var(--gold); color: #2a1c00; box-shadow: inset 2px 2px 0 var(--gold-hi), inset -2px -2px 0 var(--gold-dark); }
.doc a.btn-gold { display: inline-flex; align-items: center; text-decoration: none; color: #2a1c00; }
.lost-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
body.legal-page { display: flex; flex-direction: column; min-height: 100dvh; }
.legal-page main { flex: 1; }
@media (max-width: 520px) { .doc { margin-top: 22px; padding: 16px 14px 8px; } }
