/* site.css — neutral placeholder design system. Real design lands with content. */

/* ── the pre-launch brand card (body.brand, home.html.j2) ───────────────────────────
   Typographic ★ rather than emoji: emoji render as fixed-colour glyphs and cannot be
   given the brushed-steel gradient. */
body.brand { max-width: none; margin: 0; min-height: 100vh; display: grid;
  place-items: center; background: #0b0d10;
  background-image: radial-gradient(120% 80% at 50% -10%, #1b2027 0%, #0b0d10 60%, #07080a 100%);
  color: #d9dee4; padding: calc(2rem + env(safe-area-inset-top, 0px)) 1.25rem
    calc(2rem + env(safe-area-inset-bottom, 0px));
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif; }
body.brand main { padding: 0; text-align: center; max-width: 34rem; width: 100%; }
.brandmark { margin: 0; font-weight: 400; display: flex; flex-direction: column;
  align-items: center; gap: clamp(1rem, 4.5vw, 1.9rem); }
.brandmark .name { font-size: clamp(1.6rem, 7.2vw, 2.9rem); line-height: 1.15;
  letter-spacing: .055em;
  background: linear-gradient(180deg, #fff 0%, #dfe5ec 40%, #b9c1ca 70%, #e6ebf1 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.brandmark .stars { font-size: clamp(.85rem, 3.4vw, 1.25rem);
  letter-spacing: clamp(.5em, 2.4vw, .9em); text-indent: clamp(.5em, 2.4vw, .9em);
  background: linear-gradient(180deg, #fff 0%, #cfd6de 32%, #8b949e 52%, #eef2f6 72%, #9aa4ae 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.55)); }
.brandmark .stars::before, .brandmark .stars::after { content: ""; display: inline-block;
  vertical-align: middle; width: clamp(1.5rem, 9vw, 3.5rem); height: 1px;
  margin: 0 .35em 0 0; background: linear-gradient(90deg, transparent, #6b737c); }
.brandmark .stars::after { margin: 0 0 0 -.45em;
  background: linear-gradient(90deg, #6b737c, transparent); }
@media (prefers-contrast: more) {
  .brandmark .name, .brandmark .stars { color: #f2f5f8; background: none;
    -webkit-background-clip: border-box; background-clip: border-box; }
}

:root { --fg: #1a1a1a; --bg: #ffffff; --muted: #666; --line: #ddd; --accent: #0a5; }
* { box-sizing: border-box; }
body { margin: 0 auto; max-width: 46rem; padding: 0 1rem; color: var(--fg);
       background: var(--bg); font: 16px/1.6 system-ui, sans-serif; }
header { display: flex; justify-content: space-between; align-items: baseline;
         border-bottom: 1px solid var(--line); padding: 1rem 0; }
.brand { font-weight: 700; text-decoration: none; color: var(--fg); }
nav a { margin-left: .8rem; }
.langs a { margin-left: .4rem; font-size: .85em; }
.langs a.cur { font-weight: 700; text-decoration: none; }
main { padding: 1.5rem 0 3rem; }
footer { border-top: 1px solid var(--line); padding: 1rem 0; color: var(--muted); font-size: .85em; }
.kunye { color: var(--muted); font-size: .9em; }
.code { color: var(--muted); font-family: monospace; font-size: .8em; margin-left: .5rem; }
.doc-list { list-style: none; padding: 0; }
.doc-list li { padding: .6rem 0; border-bottom: 1px solid var(--line); }
.cover { max-width: 100%; border: 1px solid var(--line); margin: 1rem 0; }
.download { font-weight: 600; color: var(--accent); }
details.sensitive summary { cursor: pointer; color: var(--muted); margin: 1rem 0; }
