:root {
  color-scheme: dark;
  --ink: #f5f5f7;
  --body: #d5d5da;
  --muted: #a3a3ac;
  --surface: #101015;
  --line: #303038;
  --accent: #ffffff;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { background: #000; scroll-padding-top: 1.5rem; }
body {
  margin: 0; min-height: 100vh; min-height: 100dvh;
  color: var(--body);
  background: radial-gradient(ellipse 60rem 38rem at 12% 0%, #1a1a20 0%, transparent 70%),
    radial-gradient(ellipse 40rem 32rem at 100% 25%, #0c0c10 0%, transparent 70%), #000;
  font-size: 1.0625rem; line-height: 1.75; -webkit-font-smoothing: antialiased;
}
main { width: min(48rem, calc(100% - 2.5rem)); margin: 0 auto; padding: 2.5rem 0 3.5rem; }
header { margin-bottom: 2rem; }
.brand {
  display: inline-flex; align-items: center; gap: .75rem; min-height: 44px;
  color: var(--ink); font-size: 1.0625rem; font-weight: 600; letter-spacing: -.02em; text-decoration: none;
}
.brand img { width: 44px; height: 44px; border-radius: 12px; }
.eyebrow { margin: 0 0 2.25rem; }
h1, h2 { color: var(--ink); text-wrap: balance; }
h1 { margin: 0; font-size: clamp(2rem, 6vw, 3rem); line-height: 1.12; letter-spacing: -.045em; font-weight: 650; }
h2 { margin: 2.25rem 0 .75rem; font-size: 1.25rem; line-height: 1.35; letter-spacing: -.02em; font-weight: 600; }
.document > h2:first-child { margin-top: 0; }
header > p:not(.eyebrow) { margin: .875rem 0 0; color: var(--muted); font-size: .875rem; }
header > p strong { font-weight: 400; color: inherit; }
p, ul { margin: 0 0 1.125rem; max-width: 68ch; }
li { margin: .625rem 0; padding-left: .25rem; }
ul { padding-left: 1.25rem; }
strong { color: var(--ink); font-weight: 600; }
a { color: var(--ink); text-underline-offset: .2em; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 4px; }
nav { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
nav a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .5rem 1rem;
  border-radius: 10px; color: var(--muted); text-decoration: none; font-size: .875rem; font-weight: 500;
  transition: background-color 160ms ease, color 160ms ease;
}
nav a:hover { background: #222228; color: var(--ink); }
nav a[aria-current="page"] { background: #f5f5f7; color: #08080b; font-weight: 600; }
nav a:active { background: #303038; color: #fff; }
.document {
  padding: clamp(1.25rem, 4vw, 2rem);
  background: linear-gradient(145deg, #17171c, #101015 60%);
  border: 1px solid var(--line); border-top-color: #42424b; border-radius: 20px;
  box-shadow: inset 0 1px 0 #ffffff08, 0 12px 32px #00000040;
}
.document > :last-child { margin-bottom: 0; }
.notice { color: var(--body); }
footer { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .875rem; }
footer a { display: inline-flex; align-items: center; min-height: 44px; padding: .375rem .25rem; text-decoration: none; }
footer a:hover { text-decoration: underline; }
.skip-link { position: absolute; top: .5rem; left: 1rem; padding: .75rem 1rem; background: var(--ink); color: #08080b; border-radius: 10px; transform: translateY(-200%); z-index: 1; }
.skip-link:focus { transform: none; }
@media (max-width: 400px) {
  main { width: calc(100% - 2rem); padding-top: 1.5rem; }
  nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eyebrow { margin-bottom: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) { nav a { transition: none; } }
@media (prefers-contrast: more) {
  :root { --body: #f5f5f7; --muted: #d5d5da; --line: #73737e; }
  .document { border-color: var(--line); }
}
@media print {
  :root { color-scheme: light; --ink: #000; --body: #000; --muted: #333; --line: #bbb; }
  body { background: #fff; font-size: 11pt; }
  main { width: 100%; padding: 0; }
  .document { background: #fff; padding: 0; border: 0; box-shadow: none; }
  .eyebrow, nav, .skip-link { display: none; }
  h2 { break-after: avoid; }
}
