:root {
  color-scheme: dark;
  --page-black: #020706;
  --page-deep: #071511;
  --page-panel: #0b2a22;
  --page-line: #367765;
  --page-white: #effff8;
  --page-muted: #aac7bd;
  --page-acid: #52e7c7;
  --page-brass: #f3a42b;
  font-family: "Trebuchet MS", Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--page-black);
}

body {
  min-height: 100%;
  margin: 0;
  padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  background:
    radial-gradient(circle at 80% 8%, rgb(25 225 189 / 13%), transparent 24rem),
    linear-gradient(145deg, var(--page-deep), var(--page-black) 48%);
  color: var(--page-white);
  line-height: 1.65;
}

a {
  color: var(--page-acid);
  text-underline-offset: 0.2em;
}

a:hover {
  color: #cffff3;
}

a:focus-visible {
  outline: 2px solid #fff1a2;
  outline-offset: 4px;
  border-radius: 0.1rem;
}

.legal-shell {
  width: min(52rem, 100%);
  margin: 0 auto;
}

.legal-header {
  padding: clamp(1.25rem, 4vw, 3rem) 0 1.5rem;
  border-bottom: 1px solid var(--page-line);
}

.legal-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-bottom: 1rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.legal-kicker {
  margin: 0 0 0.35rem;
  color: var(--page-acid);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

h1 {
  margin: 0;
  font-size: clamp(2.15rem, 7vw, 4.25rem);
  font-weight: 300;
  letter-spacing: 0.06em;
  line-height: 1;
}

h2 {
  margin: 2.2rem 0 0.55rem;
  color: #dffff6;
  font-size: 1.25rem;
  letter-spacing: 0.025em;
}

h3 {
  margin: 1.5rem 0 0.4rem;
  color: #dffff6;
  font-size: 1rem;
}

p,
li,
td,
th {
  color: var(--page-muted);
}

strong {
  color: var(--page-white);
}

code,
.release-placeholder {
  padding: 0.08em 0.28em;
  border: 1px solid #bb771c;
  border-radius: 0.2rem;
  background: #271606;
  color: #ffe3a3;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  overflow-wrap: anywhere;
}

.release-warning {
  margin: 1.5rem 0;
  padding: 1rem;
  border-left: 4px solid var(--page-brass);
  background: rgb(94 52 5 / 30%);
  color: #ffeac0;
}

ul,
ol {
  padding-left: 1.35rem;
}

li + li {
  margin-top: 0.45rem;
}

.table-wrap {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  padding: 0.75rem;
  border-bottom: 1px solid rgb(54 119 101 / 55%);
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--page-white);
}

.legal-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
  margin-top: 3rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--page-line);
}

.legal-footer a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

@media (max-width: 36rem) {
  table,
  tbody,
  tr,
  th,
  td {
    display: block;
  }

  th {
    padding-bottom: 0.15rem;
    border-bottom: 0;
  }

  td {
    padding-top: 0.15rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }
}

@media (forced-colors: active) {
  .release-warning,
  code,
  .release-placeholder {
    border: 1px solid CanvasText;
  }
}
