:root {
  --background: #f7f3ec;
  --foreground: #1b1a18;
  --muted: #6f6a62;
  --line: rgb(27 26 24 / 0.12);
  --accent: #d71f33;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --background: #101010;
    --foreground: #f4f1ea;
    --muted: #9b968d;
    --line: rgb(244 241 234 / 0.14);
    --accent: #ff3e51;
  }
}
* { box-sizing: border-box; }
html { background: var(--background); color: var(--foreground); }
body {
  margin: 0;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  font: 17px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
main {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 48px 24px 24px;
}
#mark { position: relative; width: 168px; height: 168px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
#mark .av { position: absolute; inset: 0; }
#mark canvas { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); pointer-events: none; }
h1 {
  margin: 28px 0 0;
  font: 700 clamp(44px, 9vw, 64px)/1 ui-rounded, "SF Pro Rounded", system-ui, sans-serif;
  letter-spacing: -0.03em;
}
.tagline {
  margin: 14px 0 0;
  font: 600 clamp(19px, 3.2vw, 22px)/1.3 ui-rounded, "SF Pro Rounded", system-ui, sans-serif;
  color: var(--accent);
}
.lede { margin: 12px 0 0; max-width: 30ch; color: var(--muted); }
.soon {
  margin: 30px 0 0;
  padding: 7px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
}
footer { padding: 24px; text-align: center; font-size: 13px; color: var(--muted); }
