:root {
  color-scheme: dark;
  --background: #030607;
  --surface: #0d1112;
  --header: #101016;
  --foreground: #fafafa;
  --copy: #d4d4d8;
  --muted: #a1a1aa;
  --border: rgba(255, 255, 255, 0.1);
  --accent: #f59e0b;
}

* { box-sizing: border-box; }

html {
  min-width: 280px;
  background: var(--background);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(245, 158, 11, 0.07), transparent 36rem), var(--background);
  color: var(--copy);
  font-size: 1rem;
  line-height: 1.7;
}

a {
  color: #fbbf24;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

a:hover { color: #fcd34d; }

a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
  border-radius: 2px;
}

.site-header {
  padding: max(1rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) 1rem max(1.25rem, env(safe-area-inset-left));
  border-bottom: 1px solid var(--border);
  background: rgba(16, 16, 22, 0.94);
}

.brand {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  gap: 0.75rem;
  color: var(--foreground);
  text-decoration: none;
}

.brand-logo {
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  border-radius: 0.65rem;
}

.brand > span:last-child { min-width: 0; }
.brand strong { display: block; font-size: 1.15rem; line-height: 1.15; letter-spacing: -0.02em; }
.brand small { display: block; margin-top: 0.15rem; overflow-wrap: anywhere; color: var(--muted); font-size: 0.75rem; line-height: 1.35; }

.privacy-page {
  padding: clamp(2.25rem, 7vw, 4.5rem) max(1.25rem, env(safe-area-inset-right)) clamp(3.5rem, 8vw, 6rem) max(1.25rem, env(safe-area-inset-left));
}

.privacy-content {
  width: min(47.5rem, 100%);
  margin: 0 auto;
}

.eyebrow {
  display: block;
  color: #b3b3ba;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

h1, h2 { color: var(--foreground); line-height: 1.2; }
h1 { margin: 0.55rem 0 0.35rem; font-size: clamp(2.25rem, 8vw, 3.25rem); letter-spacing: -0.045em; }
h2 { margin: 2.5rem 0 0.65rem; font-size: clamp(1.2rem, 4vw, 1.4rem); letter-spacing: -0.02em; }
p { margin: 0 0 1rem; }
ul { margin: 0 0 1.25rem; padding-left: 1.4rem; }
li { padding-left: 0.2rem; }
code { padding: 0.1em 0.3em; border: 1px solid var(--border); border-radius: 0.3rem; background: var(--surface); color: var(--foreground); font-size: 0.9em; }

.privacy-updated { margin-bottom: 2rem; color: var(--muted); font-size: 0.85rem; }

.site-footer {
  padding: 1rem max(1.25rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
  border-top: 1px solid var(--border);
  background: var(--surface);
  color: var(--muted);
  font-size: 0.8rem;
  text-align: center;
}

.site-footer p { margin: 0; }

.redirect-page {
  display: grid;
  min-height: 100vh;
  min-height: 100dvh;
  place-items: center;
  padding: 1.5rem;
  text-align: center;
}

.redirect-page p { margin: 0; }

@media (max-width: 420px) {
  body { line-height: 1.65; }
  .site-header { padding-top: max(0.75rem, env(safe-area-inset-top)); padding-bottom: 0.75rem; }
  .brand-logo { width: 2.75rem; height: 2.75rem; flex-basis: 2.75rem; }
  .brand small { font-size: 0.7rem; }
  .privacy-page { padding-top: 2rem; }
}
