/* legal.css — shared styling for terms / privacy / changelog pages */
:root {
  --brand: #c26fe2;
  --brand-2: #9b4ebf;
  --bg: #0a0418;
  --surface: rgba(255,255,255,0.06);
  --border: rgba(255,255,255,0.10);
  --text: #f4f0fb;
  --text-dim: #b6acc9;
  --text-soft: #8f85a6;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(circle at 30% 0%, rgba(194,111,226,.35), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(107,78,191,.30), transparent 60%),
    linear-gradient(180deg, #0a0418 0%, #06030f 100%);
}
nav.top {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px clamp(20px, 4vw, 48px);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  background: rgba(10, 4, 24, 0.55);
  border-bottom: 1px solid var(--border);
}
nav.top .brand { display: flex; align-items: center; gap: 12px; font-weight: 600; color: var(--text); text-decoration: none; }
nav.top .brand img { width: 30px; height: 30px; border-radius: 7px; }
nav.top .back { color: var(--text-dim); text-decoration: none; font-size: 14px; }
nav.top .back:hover { color: var(--text); }
main.legal {
  max-width: 760px;
  margin: 60px auto;
  padding: 0 clamp(20px, 4vw, 48px) 80px;
}
main.legal h1 {
  font-size: clamp(36px, 5vw, 52px);
  font-weight: 700;
  letter-spacing: -.025em;
  margin: 0 0 8px;
  background: linear-gradient(180deg, #ffffff 0%, #d6c8ee 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
main.legal .updated { color: var(--text-soft); font-size: 14px; margin: 0 0 40px; }
main.legal h2 {
  margin: 38px 0 12px;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -.01em;
}
main.legal p, main.legal li { color: var(--text-dim); }
main.legal ul { padding-left: 22px; }
main.legal li { padding: 4px 0; }
main.legal a { color: var(--brand); text-decoration: none; border-bottom: 1px dotted rgba(194,111,226,.4); transition: color 200ms; }
main.legal a:hover { color: #ffa8d3; }
main.legal strong { color: var(--text); }
