.legal { position: relative; z-index: 1; max-width: 780px; margin: 50px auto 80px; padding: 0 18px; }
.legal-head { padding: 30px; border-radius: 18px; margin-bottom: 22px; border: 1px solid rgba(155, 140, 255, 0.22);
  background: radial-gradient(120% 120% at 0% 0%, rgba(91, 75, 196, 0.22), transparent 60%), var(--card); }
.legal-head h1 { font-size: 2rem; letter-spacing: -0.03em; }
.legal-head p { color: var(--muted); margin-top: 4px; font-size: 0.9rem; }
.legal-switch { display: flex; gap: 8px; margin-top: 16px; }
.legal-switch a.active { background: var(--accent-soft); border-color: var(--accent); }

.tldr { padding: 18px 20px; border-radius: 14px; margin-bottom: 22px; background: rgba(155, 140, 255, 0.06); border: 1px solid rgba(155, 140, 255, 0.18); }
.tldr h2 { font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.tldr ul { padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 0.92rem; }

.toc { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 26px; }
.toc a { font-size: 0.78rem; padding: 4px 10px; border-radius: 99px; border: 1px solid var(--border); color: var(--muted); transition: color 0.15s, border-color 0.15s; }
.toc a:hover { color: var(--text); border-color: #2a2a36; }

.legal-body section { padding: 22px 0; border-top: 1px solid var(--border); scroll-margin-top: 90px; }
.legal-body h2 { font-size: 1.15rem; letter-spacing: -0.01em; margin-bottom: 10px; display: flex; gap: 10px; align-items: baseline; }
.legal-body h2 span { font-size: 0.8rem; color: var(--accent); font-weight: 700; min-width: 22px; }
.legal-body p, .legal-body li { color: #b9b9c8; font-size: 0.93rem; line-height: 1.7; }
.legal-body p + p, .legal-body p + ul, .legal-body ul + p { margin-top: 10px; }
.legal-body ul { padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.legal-body b { color: var(--text); }
.legal-body a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.legal-body table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 0.86rem; }
.legal-body th, .legal-body td { text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--border); vertical-align: top; color: #b9b9c8; }
.legal-body th { color: var(--muted); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; }
.legal-body td:first-child { color: var(--text); font-weight: 600; white-space: nowrap; }

.legal-foot { margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--border); color: var(--muted); font-size: 0.82rem; }

@media (max-width: 600px) {
  .legal-body td:first-child { white-space: normal; }
}
