:root {
  --legal-bg: #03070d;
  --legal-panel: #07111c;
  --legal-card: #0b1624;
  --legal-line: rgba(151, 170, 198, 0.16);
  --legal-text: #e8eef8;
  --legal-muted: #8ea0b8;
  --legal-copy: #c5d0df;
  --legal-blue: #9ec4ff;
  --legal-accent: #4e91f9;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--legal-bg); }
body.legal-body {
  min-height: 100vh;
  margin: 0;
  color: var(--legal-text);
  background:
    radial-gradient(circle at 12% -10%, rgba(42, 92, 176, .22), transparent 34%),
    var(--legal-bg);
  font: 16px/1.7 Inter, ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.legal-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  min-height: 100vh;
}
.legal-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 22px 18px 18px;
  border-right: 1px solid var(--legal-line);
  background: rgba(7, 17, 28, .92);
}
.legal-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 8px 18px;
  color: inherit;
  text-decoration: none;
}
.legal-brand img {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  object-fit: cover;
}
.legal-brand span { display: grid; line-height: 1.2; }
.legal-brand small { color: var(--legal-muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.legal-brand b { font-size: 14px; }
.legal-nav { display: grid; gap: 18px; padding: 8px; overflow: auto; }
.legal-nav-group { display: grid; gap: 4px; }
.legal-nav-group p {
  margin: 0 10px 6px;
  color: var(--legal-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}
.legal-nav a {
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  color: var(--legal-copy);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.legal-nav a:hover { color: #fff; background: rgba(255, 255, 255, .04); }
.legal-nav a.active { color: #fff; background: rgba(78, 145, 249, .16); }
.legal-sidebar-foot {
  margin-top: auto;
  padding: 12px 8px 0;
}
.legal-sidebar-foot a {
  display: inline-flex;
  color: var(--legal-blue);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.legal-main {
  min-width: 0;
  padding: 36px 48px 96px;
}
.legal-doc { width: min(820px, 100%); }
.legal-crumbs {
  margin: 0 0 18px;
  color: var(--legal-muted);
  font-size: 13px;
  font-weight: 600;
}
.legal-crumbs a { color: var(--legal-blue); text-decoration: none; }
.legal-doc h1 {
  margin: 0 0 8px;
  font-size: clamp(34px, 5vw, 52px);
  letter-spacing: -.05em;
  line-height: 1.05;
}
.legal-updated { margin: 0 0 22px; color: var(--legal-muted); font-size: 13px; }
.legal-summary {
  margin: 0 0 36px;
  padding: 20px 22px;
  border: 1px solid var(--legal-line);
  border-radius: 16px;
  background: rgba(11, 22, 36, .88);
}
.legal-summary h2 {
  margin: 0 0 10px;
  font-size: 15px;
}
.legal-summary ul { margin: 0; padding-left: 18px; }
.legal-summary li { color: var(--legal-copy); }
.legal-doc > h2 {
  margin: 40px 0 10px;
  padding-top: 8px;
  font-size: 22px;
  letter-spacing: -.02em;
}
.legal-doc h3 {
  margin: 22px 0 8px;
  font-size: 17px;
}
.legal-doc p, .legal-doc li { color: var(--legal-copy); }
.legal-doc p { margin: 0 0 12px; }
.legal-doc ul, .legal-doc ol { margin: 0 0 14px; padding-left: 22px; }
.legal-doc li { margin: 0 0 6px; }
.legal-doc a { color: var(--legal-blue); }
.legal-note {
  margin: 16px 0;
  padding: 14px 16px;
  border-left: 3px solid var(--legal-accent);
  border-radius: 0 12px 12px 0;
  background: rgba(78, 145, 249, .08);
  color: var(--legal-copy);
}
@media (max-width: 860px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-sidebar {
    position: static;
    height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--legal-line);
  }
  .legal-nav { grid-template-columns: 1fr 1fr; }
  .legal-sidebar-foot { margin-top: 12px; }
  .legal-main { padding: 28px 20px 72px; }
}
