:root {
  --accent: #4B4FCF;
  --accent-muted: #E7E8FA;
  --background: #F4F4F7;
  --surface: #FFFFFF;
  --separator: #E2E2E8;
  --text-primary: #14151A;
  --text-secondary: #60636E;
  --text-tertiary: #9296A2;
  --card-radius: 22px;
  --control-radius: 14px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --accent: #8A8DF5;
    --accent-muted: #262A4A;
    --background: #0E0F13;
    --surface: #1A1C22;
    --separator: #2E313A;
    --text-primary: #F2F3F7;
    --text-secondary: #9CA0AC;
    --text-tertiary: #686C78;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  padding: 28px 20px calc(40px + env(safe-area-inset-bottom));
  background: var(--background);
  color: var(--text-primary);
  font: 400 16px/1.5 ui-rounded, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-text-size-adjust: 100%;
}

main { max-width: 620px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }

.masthead { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.brand { font-size: 17px; font-weight: 600; }
.brand span { color: var(--text-tertiary); font-weight: 400; }

.langs { display: flex; gap: 6px; flex-wrap: wrap; }
.langs button {
  font: inherit;
  font-size: 13px;
  padding: 5px 11px;
  border-radius: 999px;
  border: 0.5px solid var(--separator);
  background: var(--surface);
  color: var(--text-secondary);
  cursor: pointer;
}
.langs button[aria-pressed="true"] { background: var(--accent-muted); color: var(--accent); border-color: transparent; }
.langs button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.card {
  background: var(--surface);
  border: 0.5px solid var(--separator);
  border-radius: var(--card-radius);
  padding: 18px 18px 20px;
}

h1 { font-size: 26px; line-height: 1.15; font-weight: 600; margin: 0 0 6px; }
h2 { font-size: 17px; font-weight: 600; margin: 22px 0 6px; }
h2:first-of-type { margin-top: 12px; }
p { margin: 0 0 10px; }
p:last-child { margin-bottom: 0; }
ul { margin: 0 0 10px; padding-left: 20px; }
li { margin: 0 0 5px; }
.updated { font-size: 13px; color: var(--text-tertiary); margin: 0 0 4px; }
.muted { color: var(--text-secondary); }
a { color: var(--accent); }

.faq { border-top: 1px solid var(--separator); padding: 14px 0 0; margin-top: 14px; }
.faq:first-of-type { border-top: none; padding-top: 0; margin-top: 0; }
.faq h3 { font-size: 16px; font-weight: 600; margin: 0 0 6px; }
.faq p { color: var(--text-secondary); }

.mail {
  display: inline-block;
  margin-top: 4px;
  padding: 11px 16px;
  border-radius: var(--control-radius);
  background: var(--accent);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

[data-lang] { display: none; }
[data-lang].is-visible { display: block; }
.no-js [data-lang] { display: block; border-top: 1px solid var(--separator); margin-top: 18px; padding-top: 14px; }
.no-js [data-lang]:first-of-type { border-top: none; margin-top: 0; padding-top: 0; }
