:root {
  --legal-bg: #030d1a;
  --legal-surface: rgba(6, 21, 37, 0.82);
  --legal-border: rgba(0, 212, 255, 0.18);
  --legal-cyan: #00d4ff;
  --legal-white: #e8f4f8;
  --legal-gray: #8ba9bd;
}

* {
  box-sizing: border-box;
}

html {
  color-scheme: dark;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 15% 0%, rgba(0, 112, 243, 0.18), transparent 38%),
    var(--legal-bg);
  color: var(--legal-white);
  font-family: "Inter", sans-serif;
  line-height: 1.75;
}

a {
  color: var(--legal-cyan);
}

.legal-shell {
  width: min(940px, calc(100% - 40px));
  margin: 0 auto;
  padding: 40px 0 80px;
}

.legal-back {
  display: inline-flex;
  margin-bottom: 48px;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-decoration: none;
}

.legal-header {
  padding: clamp(28px, 6vw, 64px);
  border: 1px solid var(--legal-border);
  background: var(--legal-surface);
}

.legal-kicker {
  color: var(--legal-cyan);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.legal-header h1 {
  margin: 14px 0 12px;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(2.3rem, 7vw, 4.8rem);
  line-height: 0.98;
  text-transform: uppercase;
}

.legal-updated {
  color: var(--legal-gray);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.78rem;
}

.legal-content {
  display: grid;
  gap: 20px;
  margin-top: 24px;
}

.legal-nav {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--legal-border);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.76rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.legal-nav a[aria-current="page"] {
  color: var(--legal-white);
  text-decoration: none;
}

.legal-card {
  padding: clamp(24px, 5vw, 42px);
  border: 1px solid var(--legal-border);
  background: rgba(6, 21, 37, 0.62);
}

.legal-card h2 {
  margin: 0 0 14px;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(1.35rem, 3vw, 2rem);
  text-transform: uppercase;
}

.legal-card h3 {
  margin: 28px 0 10px;
  color: var(--legal-cyan);
  font-family: "Space Grotesk", sans-serif;
}

.legal-card p,
.legal-card li {
  color: var(--legal-gray);
}

.legal-card strong {
  color: var(--legal-white);
}

.legal-disclosure {
  margin-top: 24px;
  border: 1px solid var(--legal-border);
  background: rgba(3, 13, 26, 0.5);
}

.legal-disclosure summary {
  padding: 18px 20px;
  color: var(--legal-cyan);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.76rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  cursor: pointer;
}

.legal-disclosure[open] summary {
  border-bottom: 1px solid var(--legal-border);
}

.legal-disclosure ul {
  margin: 0;
  padding: 20px 42px 24px;
}

.legal-card table {
  width: 100%;
  border-collapse: collapse;
}

.legal-card th,
.legal-card td {
  padding: 12px;
  border: 1px solid var(--legal-border);
  text-align: left;
  vertical-align: top;
}

.legal-card th {
  color: var(--legal-cyan);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

@media (max-width: 640px) {
  .legal-card {
    overflow-x: auto;
  }
}
