/* Olympus OS public pages (the Google app's home page and privacy policy).
   Colours, type and shapes from docs/LOOK_TOKENS.md (look/1.0). No Aurum: nothing here is an authorization. */
:root {
  --ol-void: #06080F;
  --ol-surface: #0B0F18;
  --ol-line: #2A3347;
  --ol-line-soft: #1D2434;
  --ol-ink: #F3EEE3;
  --ol-ink-soft: #CFCBC2;
  --ol-quiet: #9AA3B5;
  --ol-aegean-text: #7FE7DA;
  --ol-glass: rgba(160, 185, 255, 0.06);
  --ol-glass-line: rgba(160, 185, 255, 0.14);
  --ol-glass-blur: 18px;
  --ol-night-glow: rgba(46, 92, 200, 0.18);
}

* { box-sizing: border-box; }

html { background: var(--ol-void); }

body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(60rem 40rem at 50% -10rem, var(--ol-night-glow), transparent 70%) var(--ol-void);
  color: var(--ol-ink-soft);
  font: 400 15px/1.5 Geist, "Segoe UI", system-ui, sans-serif;
}

@media (min-width: 960px) { body { font-size: 17px; } }

main { max-width: 46rem; margin: 0 auto; padding: 32px 16px 48px; }

.wordmark {
  font-family: Marcellus, Georgia, serif;
  font-weight: 400;
  font-size: 17px;
  letter-spacing: 0.32em;
  color: var(--ol-ink);
  text-transform: uppercase;
  text-decoration: none;
}

nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
nav ul { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0; }
nav a.chip {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px;
  border: 1px solid var(--ol-line); border-radius: 999px;
  color: var(--ol-ink); text-decoration: none; font-weight: 500;
}
nav a.chip[aria-current="page"] { border-color: var(--ol-ink); }

h1 {
  margin: 32px 0 12px;
  color: var(--ol-ink);
  font: 600 32px/1.1 Geist, "Segoe UI", system-ui, sans-serif;
  letter-spacing: -0.02em;
}

@media (min-width: 960px) { h1 { font-size: 36px; } }

.lead { font-size: 1.1em; color: var(--ol-ink); margin: 0 0 8px; }

.card {
  margin-top: 24px;
  padding: 24px;
  background: var(--ol-glass);
  border: 1px solid var(--ol-glass-line);
  border-radius: 28px;
  -webkit-backdrop-filter: blur(var(--ol-glass-blur));
  backdrop-filter: blur(var(--ol-glass-blur));
}

h2 {
  margin: 0 0 12px;
  color: var(--ol-quiet);
  font: 600 12px/1.4 Geist, "Segoe UI", system-ui, sans-serif;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

@media (min-width: 960px) { h2 { font-size: 13px; } }

p { margin: 0 0 12px; }
p:last-child, ul:last-child { margin-bottom: 0; }
ul { margin: 0 0 12px; padding-left: 20px; }
li { margin-bottom: 8px; }
strong { color: var(--ol-ink); font-weight: 600; }

a { color: var(--ol-aegean-text); text-underline-offset: 0.15em; }
a:focus-visible { outline: 2px solid var(--ol-ink); outline-offset: 2px; border-radius: 4px; }

code {
  font: 400 13px/1.4 "JetBrains Mono", Menlo, monospace;
  color: var(--ol-ink);
  overflow-wrap: anywhere;
}

@media (min-width: 960px) { code { font-size: 15px; } }

table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; vertical-align: top; padding: 12px 8px 12px 0; border-top: 1px solid var(--ol-line-soft); }
th { color: var(--ol-ink); font-weight: 600; width: 34%; }

footer {
  margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--ol-line-soft);
  color: var(--ol-quiet); font-size: 13px;
}
