/* Colours mirror lib/core/theme/tokens.dart. */
@font-face { font-family: Geist; src: url(/fonts/Geist-Regular.ttf); font-weight: 400; font-display: swap; }
@font-face { font-family: Geist; src: url(/fonts/Geist-SemiBold.ttf); font-weight: 600; font-display: swap; }
@font-face { font-family: Geist; src: url(/fonts/Geist-Bold.ttf); font-weight: 700; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url(/fonts/GeistMono-Medium.ttf); font-weight: 500; font-display: swap; }

:root {
  --ink: #141413; --chalk: #F7F6F3; --gravel: #8A8984; --ink-soft: #57564F;
  --rule: #C9C8C3; --pace: #F25820; --pace-text: #CB3000; --pace-tint: #FFF1E7;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--chalk); color: var(--ink);
  font: 400 17px/1.6 Geist, system-ui, -apple-system, sans-serif;
}
a { color: var(--pace-text); }
.wrap { max-width: 680px; margin: 0 auto; padding: 28px 22px 64px; }

header.top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 48px; }
.wordmark { font-weight: 700; font-size: 22px; letter-spacing: -0.03em; color: var(--ink); text-decoration: none; }
.wordmark span { color: var(--pace); }
header.top nav a { color: var(--ink-soft); text-decoration: none; font-size: 15px; margin-left: 18px; }

h1 { font-weight: 700; font-size: 44px; line-height: 1.05; letter-spacing: -0.035em; margin: 0 0 16px; }
h2 { font-weight: 600; font-size: 22px; letter-spacing: -0.02em; margin: 40px 0 8px; }
h3 { font-weight: 600; font-size: 17px; margin: 24px 0 4px; }
p, li { color: var(--ink); }
.lede { font-size: 20px; color: var(--ink-soft); margin: 0 0 28px; }
.meta { font-family: "Geist Mono", ui-monospace, monospace; font-size: 13px; color: var(--gravel); text-transform: uppercase; letter-spacing: 0.04em; }
ul { padding-left: 20px; }
li { margin: 4px 0; }

.card { background: #fff; border-radius: 22px; padding: 6px 22px; margin: 20px 0; }
.card .row { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid #ECEBE7; }
.card .row:last-child { border-bottom: 0; }
.card .k { font-family: "Geist Mono", ui-monospace, monospace; font-weight: 500; color: var(--pace-text); min-width: 74px; font-size: 14px; padding-top: 2px; }

.btn {
  display: block; text-align: center; text-decoration: none; font-weight: 600; font-size: 17px;
  padding: 17px 20px; border-radius: 999px; margin: 12px 0;
}
.btn.dark { background: var(--ink); color: var(--chalk); }
.btn.light { background: #fff; color: var(--ink); border: 1px solid #E2E1DC; }
.code {
  font-family: "Geist Mono", ui-monospace, monospace; font-weight: 500; font-size: 15px;
  background: var(--pace-tint); color: var(--pace-text); padding: 3px 8px; border-radius: 8px; word-break: break-all;
}

/* Dark hero, like the splash screen. */
.hero { background: var(--ink); color: var(--chalk); }
.hero .wordmark, .hero header.top nav a { color: var(--chalk); }
.hero .lede { color: var(--rule); }
.lanes { margin: 36px 0 44px; }
.lane { position: relative; height: 2px; background: #2c2c2a; margin: 26px 0; }
.lane i { position: absolute; left: 0; top: 0; height: 2px; background: #8A8984; }
.lane b { position: absolute; top: -7px; width: 16px; height: 16px; border-radius: 50%; background: var(--chalk); margin-left: -8px; }
.lane.you i { background: var(--pace); }
.lane.you b { background: var(--pace); }

footer { margin-top: 56px; padding-top: 20px; border-top: 1px solid var(--rule); font-size: 14px; color: var(--gravel); }
footer a { color: var(--gravel); margin-right: 16px; }
.hero footer { border-color: #2c2c2a; }
