:root {
  --paper: #ffffff;
  --paper-2: #f6f7f9;
  --ink: #1d1f23;
  --muted: #5f6670;
  --line: #e3e5e9;
  --violet: #4b3fcf;
  --font: "Google Sans", "Product Sans", Roboto, system-ui, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #1f2125;
    --paper-2: #17181b;
    --ink: #e7e8ea;
    --muted: #9aa0a8;
    --line: #363a40;
    --violet: #9d94ff;
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--paper-2);
  color: var(--ink);
  font: 16px/1.55 var(--font);
  display: flex;
  flex-direction: column;
}
a { color: var(--violet); text-decoration: none; }
a:hover { text-decoration: underline; }
.top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 28px;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.brand { font-weight: 600; }
.brand a { color: inherit; text-decoration: none; }
nav { display: flex; gap: 16px; font-size: 14px; }
.hero, .doc {
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 24px 64px;
  width: 100%;
}
.hero h1, .doc h1 {
  font-size: clamp(28px, 5vw, 40px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}
.hero p { margin: 0 0 12px; max-width: 46ch; }
.muted { color: var(--muted); font-size: 14px; }
.doc h2 { font-size: 18px; margin: 28px 0 8px; }
.doc ul { padding-left: 1.2em; }
.doc li { margin: 6px 0; }
footer {
  margin-top: auto;
  padding: 20px 28px;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 10px;
  color: var(--muted);
  font-size: 13px;
  background: var(--paper);
}
