/* Datenschutz, Support, Impressum: tonight's rule card from the game as a reading page, under neon at the door.
   Fonts ("Lilita", "Nunito", "Baloo") and the colour tokens (--night, --pink, --cyan, --gold ...) come from style.css. */
body.legal {
  --l-paper: var(--card);          /* cream rule card */
  --l-ink: #1e1138;                /* text on the card: the night colour */
  --l-ink-soft: #5d4b80;
  --l-edge: #e6cf9f;
  --l-link: #c0137a;               /* --pink, darkened for contrast on cream */
  --l-display: "Lilita", "Baloo", sans-serif;
  background:
    radial-gradient(55% 520px at 85% 0, rgba(255, 61, 168, .22), transparent 70%),
    radial-gradient(45% 480px at 5% 30%, rgba(45, 226, 230, .12), transparent 70%),
    linear-gradient(to bottom, var(--night2), var(--night) 900px);
  background-color: var(--night);
  min-height: 100vh;
}
html[data-lang="de"] .l-en, html[data-lang="en"] .l-de { display: none; }

.legal-top {
  display: flex; align-items: center; gap: 12px;
  max-width: 46rem; margin: 0 auto;
  padding: max(14px, env(safe-area-inset-top)) 16px 0;
}
.legal-top .home { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.legal-top .home img { width: 44px; height: 44px; border-radius: 12px; box-shadow: 0 2px 0 var(--edge); }
.legal-top .home span { font: 400 1.5rem/1 var(--l-display); color: var(--pink-glow); text-shadow: 0 0 10px var(--pink); }
.legal-top nav { margin-left: auto; display: flex; gap: 6px; align-items: center; }
.legal-top nav a {
  font-weight: 800; font-size: .9rem; text-decoration: none; color: var(--muted);
  padding: 6px 10px; border-radius: 999px;
}
@media (max-width: 420px) { .legal-top .home span { display: none; } }
.legal-top nav a[aria-current="page"] { color: var(--ink); background: var(--panel); box-shadow: inset 0 0 0 2px rgba(255, 61, 168, .45); }

.paper {
  max-width: 46rem; margin: 22px auto 0;
  background: var(--l-paper); color: var(--l-ink);
  border: 3px solid var(--l-edge); border-radius: 28px;
  box-shadow: 0 10px 0 rgba(0, 0, 0, .45), 0 0 40px rgba(255, 61, 168, .18);
  padding: clamp(24px, 5vw, 48px) clamp(20px, 5vw, 52px) clamp(28px, 5vw, 52px);
  font-weight: 600; line-height: 1.6;
}
@media (max-width: 760px) { .paper { margin-left: 16px; margin-right: 16px; } }
.paper h1 {
  font: 400 clamp(2.2rem, 6vw, 3rem)/1.02 var(--l-display); color: var(--l-ink);
  -webkit-text-stroke: 0; text-shadow: none; margin: 0;
}
.paper .stand { color: var(--l-ink-soft); font-size: .95rem; margin: .4rem 0 0; }
.paper .summary {
  margin: 1.4rem 0 0; padding: 14px 18px; border-radius: 16px;
  background: #ffe3f1; border-left: 6px solid var(--pink); font-weight: 700;
}
.paper h2 {
  font-family: var(--l-display); font-size: 1.55rem; color: var(--l-ink); text-shadow: none; max-width: none;
  line-height: 1.15; margin: 2.2rem 0 .4rem;
}
.paper p, .paper ul { margin: .55rem 0 0; max-width: 62ch; }
.paper ul { padding-left: 1.2rem; }
.paper li { margin-top: .35rem; }
.paper li::marker { color: var(--pink); }
.paper a { color: var(--l-link); text-decoration-thickness: 2px; text-underline-offset: 2px; }
.paper strong { font-weight: 900; }

/* support: one guest accessory per question */
.faq { display: grid; gap: 4px; margin-top: 1.6rem; }
.faq details {
  border-bottom: 2px solid var(--l-edge);
  padding: 10px 0;
}
.faq summary {
  display: grid; grid-template-columns: 52px 1fr auto; gap: 14px; align-items: center;
  cursor: pointer; list-style: none;
  font: 400 1.3rem/1.15 var(--l-display);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary img { width: 52px; height: 52px; object-fit: contain; }
.faq summary::after { content: "+"; font-size: 1.6rem; color: var(--pink); transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details > p, .faq details > ul { margin-left: 66px; }
@media (max-width: 520px) { .faq details > p, .faq details > ul { margin-left: 0; } }

.contact {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
  margin-top: 2rem; padding: 18px; border-radius: 18px;
  background: var(--panel); color: var(--ink); border: 2px solid rgba(45, 226, 230, .35);
}
.contact img { width: 56px; height: 56px; object-fit: contain; }
.contact p { margin: 0; flex: 1 1 16rem; color: var(--ink); }
.contact a.mail {
  background: var(--gold); color: var(--night); text-decoration: none;
  border-radius: 14px; padding: 10px 18px; font: 400 1.15rem/1 var(--l-display);
  box-shadow: 0 4px 0 #b8861a;
}

.legal-foot { text-align: center; color: rgba(185, 169, 216, .7); font-size: .9rem; padding: 34px 16px max(34px, env(safe-area-inset-bottom)); }
.legal-foot a { color: inherit; }
