/* Shared by both pages. No external requests at all — no CDN, no web fonts,
   no analytics. A privacy policy that phones a third party to render itself
   is making the reader's case for them, and the invite page is opened by
   people who have not agreed to anything yet. */
:root {
  --brand: #5B4BEF;
  --brand-2: #9B5DE5;
  --like: #E0245E;
  --gold: #FFC857;
  --bg: #F7F7FB;
  --surface: #FFFFFF;
  --text: #14141C;
  --muted: #5A5A6E;
  --rule: #E4E4ED;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0E0E14;
    --surface: #1A1A24;
    --text: #F2F2F7;
    --muted: #A0A0B4;
    --rule: #2C2C3A;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--text);
  font: 16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
}
.wrap { max-width: 46rem; margin: 0 auto; padding: 2.5rem 1.25rem 5rem; }
header.brand {
  display: flex; align-items: center; gap: .7rem; margin-bottom: 2rem;
}
header.brand .mark {
  width: 40px; height: 40px; border-radius: 10px; flex: none;
  background: url(icon.png) center/cover no-repeat;
}
header.brand .name { font-weight: 700; font-size: 1.15rem; letter-spacing: -.01em; }
h1 { font-size: 1.9rem; line-height: 1.2; letter-spacing: -.02em; margin: 0 0 .4rem; }
h2 { font-size: 1.15rem; margin: 2.4rem 0 .6rem; letter-spacing: -.01em; }
h3 { font-size: 1rem; margin: 1.6rem 0 .4rem; }
p, li { color: var(--text); }
.lede { color: var(--muted); margin: 0 0 2rem; }
a { color: var(--brand); }
@media (prefers-color-scheme: dark) { a { color: #A99BFF; } }
table { border-collapse: collapse; width: 100%; margin: .8rem 0 1.4rem; font-size: .93rem; }
th, td { text-align: left; padding: .55rem .6rem; border-bottom: 1px solid var(--rule); vertical-align: top; }
th { color: var(--muted); font-weight: 600; }
.scroll { overflow-x: auto; }
footer { margin-top: 3.5rem; padding-top: 1.4rem; border-top: 1px solid var(--rule); color: var(--muted); font-size: .9rem; }

/* Unmissable on purpose. The whole point of an RFC 2606 placeholder URL is
   that it cannot be mistaken for finished; these have to fail the same way. */
.todo {
  background: #FFF4D6; border: 2px solid var(--gold); border-radius: 8px;
  padding: .8rem 1rem; margin: 1rem 0; color: #4A3A00; font-size: .93rem;
}
@media (prefers-color-scheme: dark) {
  .todo { background: #2A2410; color: #FFE9A8; }
}
.todo strong { display: block; margin-bottom: .2rem; }
mark.fill {
  background: var(--gold); color: #3A2E00; padding: 0 .3rem;
  border-radius: 3px; font-weight: 700; white-space: nowrap;
}
