:root {
  color-scheme: dark;
  --legal-bg: #020914;
  --legal-panel: rgba(7, 20, 38, .78);
  --legal-panel-solid: #071426;
  --legal-border: rgba(117, 172, 255, .19);
  --legal-text: #f4f8ff;
  --legal-muted: #aab8ca;
  --legal-blue: #2f7bff;
  --legal-green: #36d7a3;
  --legal-max: 980px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--legal-text);
  background:
    radial-gradient(circle at 8% -10%, rgba(27, 84, 180, .22), transparent 34rem),
    radial-gradient(circle at 90% 8%, rgba(11, 167, 160, .13), transparent 29rem),
    var(--legal-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}
.legal-shell { width: min(calc(100% - 40px), var(--legal-max)); margin: 0 auto; }
.legal-topbar {
  position: sticky; top: 0; z-index: 5; backdrop-filter: blur(18px);
  background: rgba(2, 9, 20, .82); border-bottom: 1px solid var(--legal-border);
}
.legal-topbar .legal-shell { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.legal-brand { color: #fff; font-size: .9rem; font-weight: 800; letter-spacing: .02em; text-decoration: none; }
.legal-brand span { color: var(--legal-green); font-size: .67rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.legal-back { color: #dceaff; font-size: .84rem; font-weight: 700; text-decoration: none; border: 1px solid var(--legal-border); border-radius: 9px; padding: 8px 12px; }
.legal-back:hover, .legal-back:focus-visible { border-color: #5f9fff; background: rgba(47, 123, 255, .14); outline: none; }
.legal-hero { padding: 76px 0 38px; }
.legal-eyebrow { margin: 0 0 9px; color: var(--legal-green); font-size: .7rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.legal-hero h1 { max-width: 760px; margin: 0; font-size: clamp(2rem, 5vw, 3.65rem); line-height: 1.08; letter-spacing: -.045em; }
.legal-hero p { max-width: 690px; margin: 17px 0 0; color: var(--legal-muted); font-size: 1.04rem; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 23px; }
.legal-meta span { border: 1px solid var(--legal-border); border-radius: 999px; color: #d5e5fc; font-size: .76rem; padding: 5px 10px; }
.legal-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 28px; align-items: start; padding-bottom: 62px; }
.legal-toc { position: sticky; top: 96px; padding: 13px; border: 1px solid var(--legal-border); border-radius: 14px; background: rgba(5, 17, 33, .62); }
.legal-toc strong { display: block; color: #dceaff; font-size: .73rem; letter-spacing: .08em; text-transform: uppercase; margin: 3px 6px 8px; }
.legal-toc a { display: block; color: var(--legal-muted); font-size: .82rem; text-decoration: none; padding: 6px; border-radius: 7px; }
.legal-toc a:hover, .legal-toc a:focus-visible { color: #fff; background: rgba(47, 123, 255, .14); outline: none; }
.legal-content { min-width: 0; }
.legal-section, .legal-notice { border: 1px solid var(--legal-border); border-radius: 17px; background: linear-gradient(145deg, rgba(10, 27, 51, .92), rgba(4, 14, 29, .86)); padding: clamp(22px, 4vw, 36px); box-shadow: 0 18px 60px rgba(0, 0, 0, .13); }
.legal-section + .legal-section, .legal-notice + .legal-section { margin-top: 15px; }
.legal-section h2 { margin: 0 0 12px; font-size: clamp(1.13rem, 2vw, 1.45rem); letter-spacing: -.025em; }
.legal-section h3 { margin: 23px 0 8px; color: #e6efff; font-size: 1rem; }
.legal-section p, .legal-section li { color: var(--legal-muted); }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul, .legal-section ol { padding-left: 20px; }
.legal-section a, .legal-notice a { color: #75a9ff; font-weight: 700; }
.legal-notice { border-color: rgba(54, 215, 163, .36); background: rgba(8, 55, 59, .34); color: #d9fff4; }
.legal-notice strong { color: #fff; }
.legal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 17px; }
.legal-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 15px; color: #fff; background: linear-gradient(135deg, #1558ce, #2f7bff); border: 1px solid #4b8eff; border-radius: 9px; font: inherit; font-size: .86rem; font-weight: 800; text-decoration: none; }
.legal-button:hover, .legal-button:focus-visible { filter: brightness(1.12); outline: 2px solid rgba(117, 169, 255, .5); outline-offset: 2px; }
.legal-footer { border-top: 1px solid var(--legal-border); padding: 25px 0 34px; color: #8392a9; font-size: .8rem; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-bottom: 10px; }
.legal-footer a { color: #b3c9e7; text-decoration: none; }
.legal-footer a:hover { color: #fff; }
@media (max-width: 760px) {
  .legal-shell { width: min(calc(100% - 28px), var(--legal-max)); }
  .legal-topbar .legal-shell { min-height: 62px; }
  .legal-brand span { display: none; }
  .legal-hero { padding: 48px 0 27px; }
  .legal-layout { display: block; padding-bottom: 40px; }
  .legal-toc { position: static; margin-bottom: 15px; }
  .legal-toc a { display: inline-block; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
