:root {
  color-scheme: light dark;
  --fg: #1a1a1a;
  --bg: #ffffff;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;

  @media (prefers-color-scheme: dark) {
    --fg: #ececec;
    --bg: #161616;
  }
}

body {
  margin: 0;
  color: var(--fg);
  background: var(--bg);
}

main {
  max-width: 40rem;
  margin: 4rem auto;
  padding: 0 1rem;
}

.platform-header {
  padding: 1rem;
  a { color: inherit; font-weight: 600; text-decoration: none; }
}

main.narrow { max-width: 26rem; }

.field {
  margin-bottom: 1rem;
  label { display: block; font-weight: 600; margin-bottom: 0.25rem; }
  .hint, .error { margin: 0 0 0.25rem; font-size: 0.9rem; }
  .error { color: #b42318; }
}

input {
  width: 100%;
  padding: 0.5rem 0.6rem;
  font: inherit;
  border: 1px solid #c8c8cc;
  border-radius: 6px;
}

button, .button {
  display: inline-block;
  padding: 0.5rem 1rem;
  font: inherit;
  font-weight: 600;
  color: #fff;
  background: #2557d6;
  border: 0;
  border-radius: 6px;
  text-decoration: none;
  cursor: pointer;
}

.notice { padding: 0.6rem 0.8rem; border: 1px solid #c8c8cc; border-radius: 6px; }
.notice-error { border-color: #b42318; color: #b42318; }

/* Terms and privacy */
.legal { line-height: 1.55; }
.legal h2 { margin-top: 2rem; }
.legal table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 1rem 0; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: .5rem .6rem .5rem 0; border-bottom: 1px solid #c8c8cc; }
.legal li { margin-bottom: .4rem; }
