/* Club documents share the public /club visual language. */
:root {
  --doc-bg: #edf0f7;
  --doc-paper: #fff;
  --doc-ink: #0a1020;
  --doc-muted: #58647b;
  --doc-line: #ccd4e3;
  --doc-blue: #3d68ff;
}
html { scroll-behavior: smooth; }
body.club-doc {
  margin: 0;
  background: var(--doc-bg);
  color: var(--doc-ink);
  font: 16px/1.55 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.club-doc--rules {
  --ink: var(--doc-ink); --paper: var(--doc-bg); --muted: var(--doc-muted);
  --line: var(--doc-line); --lime: #e7edff; --lime-dark: var(--doc-blue);
  --soft: #f8faff; --white: var(--doc-paper);
}
.club-doc--questions {
  --ink: var(--doc-ink); --blue: var(--doc-blue); --paper: var(--doc-bg);
  --line: var(--doc-line); --accent: var(--doc-blue);
}
.club-doc a { color: var(--doc-blue); }
.club-doc a:focus-visible, .club-doc button:focus-visible, .club-doc textarea:focus-visible,
.club-doc summary:focus-visible { outline: 3px solid var(--doc-blue); outline-offset: 3px; }
.club-doc .top, .club-doc .nav {
  position: sticky; top: 0; z-index: 30; max-width: none; margin: 0; padding: 0;
  background: rgba(255,255,255,.96); border-bottom: 1px solid var(--doc-line);
  backdrop-filter: blur(12px);
}
.club-doc .top-inner, .club-doc .navin {
  width: min(calc(100% - 40px), 1240px); min-height: 70px;
  margin: auto; display: flex; align-items: center; gap: 24px;
}
.club-doc .top-brand, .club-doc .nav .brand {
  flex: 0 0 auto; color: var(--doc-ink); text-decoration: none;
  font: 900 21px/1 Inter, ui-sans-serif, sans-serif; letter-spacing: -.055em;
}
.club-doc .top-brand span, .club-doc .nav .brand span { color: var(--doc-blue); }
.club-doc .top-links, .club-doc .navlinks { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; margin-left: auto; }
.club-doc .top-links a, .club-doc .navlinks a {
  color: var(--doc-muted); text-decoration: none; font: 650 14px/1.3 Inter, ui-sans-serif, sans-serif;
}
.club-doc .top-links a[aria-current], .club-doc .navlinks a[aria-current] { color: var(--doc-ink); text-decoration: underline; text-underline-offset: 6px; }
.club-doc .top-links a:hover, .club-doc .navlinks a:hover { color: var(--doc-blue); }
.club-doc .doc-hero, .club-doc .rules-hero {
  padding: clamp(42px, 6vw, 76px) 0 54px; background: var(--doc-paper);
  border-bottom: 1px solid var(--doc-line);
}
.club-doc .doc-hero-inner { width: min(calc(100% - 40px), 1240px); margin: auto; }
.club-doc .doc-kicker, .club-doc .eyebrow {
  color: var(--doc-blue); font: 900 12px/1.4 "JetBrains Mono", ui-monospace, monospace;
  text-transform: uppercase; letter-spacing: .1em;
}
.club-doc .doc-hero h1, .club-doc .rules-hero h1 {
  max-width: 900px; margin: 12px 0 0; color: var(--doc-ink);
  font: 500 clamp(39px, 6vw, 68px)/1.05 Georgia, "Times New Roman", serif;
  letter-spacing: -.045em;
}
.club-doc .doc-hero p, .club-doc .rules-hero .lead {
  max-width: 760px; margin: 22px 0 0; color: var(--doc-muted); font-size: clamp(17px, 2vw, 20px); line-height: 1.5;
}
.club-doc .doc-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.club-doc .doc-button, .club-doc .doc-button:visited {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
  padding: 10px 18px; border: 1px solid var(--doc-blue); border-radius: 8px;
  color: #fff; background: var(--doc-blue); text-decoration: none; font-weight: 800;
}
.club-doc .doc-button--secondary, .club-doc .doc-button--secondary:visited {
  color: var(--doc-ink); background: #fff; border-color: var(--doc-line);
}
.club-doc .doc-status { margin-top: 16px; color: var(--doc-muted); font-size: 14px; }
.club-doc .doc-origin { margin-top: 15px; max-width: 760px; color: var(--doc-muted); font-size: 14px; }
.club-doc .doc-origin summary { cursor: pointer; font-weight: 700; }
.club-doc .doc-origin p { font-size: 14px; }
.club-doc .doc-section-nav { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0 0 18px; padding: 18px 0; border-bottom: 1px solid var(--doc-line); }
.club-doc .doc-section-nav a { color: var(--doc-muted); text-decoration: none; font-size: 14px; font-weight: 700; }
.club-doc .doc-section-nav a:hover { color: var(--doc-blue); }
.club-doc section[id] { scroll-margin-top: 90px; }
.club-doc h2 { color: var(--doc-ink); font: 500 clamp(30px, 4vw, 46px)/1.1 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.club-doc h3 { color: var(--doc-ink); }
.club-doc .note, .club-doc .law { border-left: 4px solid var(--doc-blue); background: #fff; color: var(--doc-ink); }
.club-doc .table { overflow-x: auto; }
.club-doc th { background: #e7edff; color: var(--doc-ink); }
.club-doc td, .club-doc th { border-color: var(--doc-line); }
.club-doc .question { border-color: var(--doc-line); border-radius: 9px; overflow: hidden; }
.club-doc .question header, .club-doc .flow div { background: #e7edff; border-color: var(--doc-blue); }
.club-doc button { background: var(--doc-blue); color: white; border-radius: 8px; }
.club-doc .version-row span { border-color: var(--doc-line); background: #f8faff; color: var(--doc-ink); }
.club-doc .rule-list article > b { color: var(--doc-blue); }
.club-doc .soft { background: #f8faff; }
.club-doc .wrap { width: min(calc(100% - 40px), 1240px); }
.club-doc .wrap.narrow { max-width: 900px; }
.club-doc .flow-line { overflow-x: auto; }
.club-doc footer { background: var(--doc-ink); color: #fff; }
.club-doc footer a { color: #dbe4ff; }
@media (max-width: 720px) {
  .club-doc .top-inner, .club-doc .navin { min-height: 62px; gap: 12px; }
  .club-doc .top-links, .club-doc .navlinks { gap: 8px 12px; }
  .club-doc .top-links a, .club-doc .navlinks a { font-size: 13px; }
  .club-doc--rules .navlinks a[href="/club-questions#levels"],
  .club-doc--rules .navlinks a[aria-current] { display: block; }
  .club-doc .doc-hero, .club-doc .rules-hero { padding: 34px 0 38px; }
  .club-doc .doc-hero h1, .club-doc .rules-hero h1 { font-size: clamp(36px, 11vw, 47px); }
  .club-doc .doc-actions .doc-button { width: 100%; }
  .club-doc #levels .table { overflow: visible; }
  .club-doc #levels table, .club-doc #levels tbody, .club-doc #levels tr, .club-doc #levels td { display: block; width: 100%; }
  .club-doc #levels thead { display: none; }
  .club-doc #levels tr { margin: 12px 0; border: 1px solid var(--doc-line); border-radius: 9px; background: #fff; overflow: hidden; }
  .club-doc #levels td { min-width: 0; padding: 8px 16px; border: 0; }
  .club-doc #levels td:first-child { padding-top: 15px; font-size: 20px; font-weight: 800; color: var(--doc-blue); }
  .club-doc #levels td:last-child { padding-bottom: 15px; }
  .club-doc #levels td:nth-child(2):before { content: "Зачем: "; font-weight: 800; }
  .club-doc #levels td:nth-child(3):before { content: "Что можно: "; font-weight: 800; }
  .club-doc #levels td:nth-child(4):before { content: "Граница: "; font-weight: 800; }
  .club-doc #levels td:nth-child(5):before { content: "Следующий шаг: "; font-weight: 800; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
