/* Colours are the app's Theme.swift tokens (light + dark). */
:root {
  --ground: #EEF2F1;
  --surface: #FFFFFF;
  --ink: #0E1A18;
  --ink2: #3D4F4B;
  --ink3: #6D7F7A;
  --hairline: rgba(13, 72, 66, 0.14);
  --accent: #0D9488;
  --glow: rgba(13, 148, 136, 0.10);
}
@media (prefers-color-scheme: dark) {
  :root {
    --ground: #0A0F0E;
    --surface: #141B19;
    --ink: #E9EFED;
    --ink2: #93A29D;
    --ink3: #72817C;
    --hairline: rgba(120, 200, 188, 0.15);
    --accent: #16C2B0;
    --glow: rgba(13, 148, 136, 0.16);
  }
}
* { box-sizing: border-box; }
html { background: var(--ground); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background: radial-gradient(640px 360px at 50% -80px, var(--glow), transparent 70%) no-repeat, var(--ground);
  font: 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
}
header, main, footer { max-width: 720px; margin: 0 auto; padding: 0 16px; }
header { padding-top: 20px; }
.brand {
  display: inline-flex; align-items: center; gap: 10px;
  font: 800 18px/1 ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;
  color: var(--ink); text-decoration: none;
}
.brand img { border-radius: 8px; }
main { padding-bottom: 32px; }
h1, h2, h3 { font-family: ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif; letter-spacing: -0.01em; }
h1 { font-size: 30px; font-weight: 800; line-height: 1.2; margin: 28px 0 8px; }
h2 { font-size: 21px; font-weight: 750; margin: 36px 0 8px; padding-top: 16px; border-top: 1px solid var(--hairline); }
h3 { font-size: 17px; font-weight: 700; margin: 24px 0 6px; }
a { color: var(--accent); }
ul { padding-left: 22px; }
li { margin: 4px 0; }
table {
  width: 100%; border-collapse: separate; border-spacing: 0; margin: 12px 0; font-size: 15px;
  background: var(--surface); border: 1px solid var(--hairline); border-radius: 14px; overflow: hidden;
}
th, td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--hairline); }
tr:last-child td { border-bottom: 0; }
th { color: var(--ink2); font-weight: 600; }
footer { padding-top: 16px; padding-bottom: 40px; border-top: 1px solid var(--hairline); color: var(--ink3); font-size: 14px; }
footer a { color: var(--ink2); }

/* Landing page */
body.home header .brand { visibility: hidden; }
body.home main { text-align: center; padding-top: 48px; padding-bottom: 64px; }
body.home .hero-icon { border-radius: 26px; box-shadow: 0 12px 40px rgba(13, 148, 136, 0.25); }
body.home h1 { font-size: 40px; margin-top: 20px; }
body.home main p { color: var(--ink2); font-size: 18px; max-width: 460px; margin: 10px auto; }

@media (max-width: 480px) {
  table { font-size: 14px; }
  th, td { padding: 8px; }
  body.home h1 { font-size: 34px; }
}
