:root {
  --paper: #faf8f3;
  --ink: #1b1a17;
  --muted: #5f5b52;
  --line: #d9d4c7;
  --note: #1f5fbf;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper: #16161a;
    --ink: #f1eee7;
    --muted: #aaa69c;
    --line: #3a3a40;
    --note: #79aef5;
  }
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.6 var(--sans);
}

.page {
  max-width: 44rem;
  margin: 0 auto;
  padding: 0 1rem;
}

a { color: inherit; text-underline-offset: 0.18em; }
a:hover { color: var(--note); }

.top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 1.5rem 0;
  font-size: 0.95rem;
}
.top .brand { font-family: var(--serif); font-weight: 700; text-decoration: none; }

h1, h2, h3 { font-family: var(--serif); line-height: 1.2; text-wrap: balance; }

.hero { padding: 3rem 0 2rem; }
.hero h1 { font-size: clamp(2.1rem, 7vw, 3.2rem); margin: 0 0 1rem; }
.hero p { font-size: 1.15rem; color: var(--muted); margin: 0; max-width: 34rem; }

.staff { display: block; width: 100%; height: 44px; margin: 0.5rem 0 2.5rem; }
.staff line { stroke: var(--line); stroke-width: 1; vector-effect: non-scaling-stroke; }
.staff ellipse { fill: var(--note); }

section { padding-bottom: 2.5rem; }
section > h2 { font-size: 1.5rem; margin: 0 0 1.25rem; }

.product { border-top: 1px solid var(--line); padding: 1.5rem 0; }
.product h3 { font-size: 1.25rem; margin: 0 0 0.25rem; }
.product .status { font-size: 0.85rem; color: var(--muted); margin: 0 0 0.75rem; }
.product p { margin: 0 0 0.75rem; }
.product ul { margin: 0; padding-left: 1.2rem; }
.product li { margin-bottom: 0.25rem; }

.foot {
  border-top: 1px solid var(--line);
  padding: 1.5rem 0 3rem;
  font-size: 0.9rem;
  color: var(--muted);
}
.foot p { margin: 0 0 0.25rem; }

.doc { padding: 2rem 0 1rem; }
.doc h1 { font-size: 2.2rem; margin: 0 0 0.5rem; }
.doc h2 { font-size: 1.35rem; margin: 2rem 0 0.5rem; }
.doc h3 { font-size: 1.05rem; margin: 1.25rem 0 0.25rem; }
.doc .updated { color: var(--muted); margin: 0 0 1.5rem; }
.doc ul { padding-left: 1.2rem; }
