@charset "UTF-8";

/* Privacy, Terms, and Cookies share this route-owned presentation. The global
   stylesheet keeps only the legal footer and consent controls used everywhere. */
.legal-main {
  margin: 28px auto 42px;
}

.legal-main a {
  color: #d5deef;
  text-decoration: none;
}

.legal-main a:hover {
  color: #f3f8ff;
  text-decoration: underline;
}

:root[data-theme="light"] .legal-main a {
  color: #334155;
}

:root[data-theme="light"] .legal-main a:hover {
  color: #0f172a;
}

.legal-hero {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: radial-gradient(520px 220px at 12% 0%, rgba(var(--accent-rgb), 0.20), transparent 70%), var(--panel);
  box-shadow: none;
}

.legal-hero h1 {
  margin: 0 0 8px;
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: -0.03em;
}

.legal-panel {
  margin-top: 18px;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--panel);
  box-shadow: var(--shadow-soft, none);
}

.legal-panel h2 {
  margin-top: 0;
}

.legal-panel h3 {
  margin-bottom: 8px;
}

.legal-panel p,
.legal-panel li {
  line-height: 1.62;
}

.legal-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 16px;
}

.legal-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

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

.legal-table th {
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
}

.legal-table tr:last-child td {
  border-bottom: 0;
}

.legal-callout {
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--border));
  border-radius: 16px;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}

.legal-warning {
  border-color: rgba(245, 158, 11, 0.45);
  background: rgba(245, 158, 11, 0.10);
}

.legal-placeholder {
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.94em;
}

@media (max-width: 720px) {
  .legal-main {
    margin-top: 16px;
  }

  .legal-hero,
  .legal-panel {
    padding: 16px;
    border-radius: 18px;
  }
}
