/* style.css locks html+body to the viewport for the game canvas.
   Doc pages must scroll, so undo it on BOTH elements — overriding body alone
   leaves html at overflow:hidden and the page cannot move. */
html.docs,
html:has(body.docs),
body.docs {
  overflow: auto;
  overflow-y: auto;
  height: auto;
  min-height: 100dvh;
  overscroll-behavior: auto;
  user-select: text;
  -webkit-user-select: text;
  touch-action: auto;
}

.docs-shell {
  max-width: 720px;
  margin: 0 auto;
  padding: 20px 20px 72px;
}

.docs-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  padding: 8px 0 28px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 28px;
}

.docs-nav a {
  color: var(--paper);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  opacity: 0.78;
}

.docs-nav a:hover,
.docs-nav a.on {
  opacity: 1;
  color: var(--yellow);
}

.docs-nav .play {
  background: var(--yellow);
  color: var(--ink);
  opacity: 1;
  border-radius: 999px;
  padding: 6px 12px;
  font-weight: 800;
}

.docs-kicker {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--yellow);
  margin-bottom: 8px;
}

.docs-shell h1 {
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(36px, 6vw, 52px);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 0.95;
  margin: 0 0 16px;
}

.docs-shell h2 {
  font-size: 20px;
  font-weight: 800;
  margin: 2em 0 0.55em;
}

.docs-shell h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 1.4em 0 0.4em;
}

.docs-shell p,
.docs-shell li {
  line-height: 1.65;
  color: rgba(244, 241, 232, 0.88);
  font-size: 16px;
}

.docs-shell p { margin: 0 0 1em; }

.docs-shell ul,
.docs-shell ol {
  margin: 0 0 1.1em;
  padding-left: 1.2em;
  display: flex;
  flex-direction: column;
  gap: 0.45em;
}

.docs-shell strong { color: #fff; font-weight: 700; }
.docs-shell p a, .docs-shell li a, .docs-shell dd a { color: var(--paper); text-decoration: underline; text-underline-offset: 2px; }
.docs-shell p a:hover, .docs-shell li a:hover, .docs-shell dd a:hover { color: var(--yellow); }
.docs-shell .site-foot { text-align: left; }

.docs-meta {
  font-size: 13px;
  opacity: 0.55;
  margin-bottom: 1.6em;
}

.docs-note {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 1.4em;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(244, 241, 232, 0.8);
}

.docs-foot {
  margin-top: 48px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-size: 13px;
  opacity: 0.55;
}

.site-foot {
  margin-top: 48px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 13px;
}
.foot-links { display: flex; flex-wrap: wrap; gap: 8px 18px; font-weight: 600; margin-bottom: 10px; }
.foot-note { margin: 0; font-size: 12px; line-height: 1.5; opacity: 0.55; }
.site-foot a { color: rgba(244, 241, 232, 0.7); text-decoration: none; }
.site-foot a:hover { color: var(--yellow); }
.quick-rules { padding-left: 22px; margin: 0 0 12px; }
.quick-rules li { margin: 0 0 6px; }
.faq dt { font-weight: 600; color: rgba(244,241,232,0.9); margin: 12px 0 2px; }
.faq dd { margin: 0; }

.docs-nav .brand {
  font-family: "Barlow Condensed", Impact, sans-serif;
  font-weight: 800;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0.02em;
  opacity: 1;
  margin-right: auto;
}
.docs-nav .brand:hover { color: var(--paper); }
.wordmark .vs { display: inline-block; color: var(--yellow); transform: skewX(-9deg); margin-right: 0.04em; }

/* Guides */
.docs-shell table { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 15px; }
.docs-shell th, .docs-shell td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.docs-shell th { font-weight: 700; color: rgba(244,241,232,0.92); }
.docs-shell td:first-child { font-weight: 600; white-space: nowrap; }
.guide-list { list-style: none; padding: 0; margin: 0 0 18px; }
.guide-list li { border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; margin: 0 0 10px; background: rgba(255,255,255,0.03); }
.guide-list li a { font-weight: 700; text-decoration: none; }
.guide-list li span { display: block; margin-top: 4px; opacity: 0.8; font-size: 14px; }
.docs-shell dl.faq { margin: 0 0 18px; }
.guide-next { margin-top: 36px; }
.guide-next p { margin: 0 0 6px; }
@media (max-width: 480px) { .docs-shell td:first-child { white-space: normal; } }
.fig { margin: 6px 0 22px; padding: 14px 10px 8px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,0.03); }
.fig svg { display: block; width: 100%; max-width: 380px; height: auto; margin: 0 auto; }
.fig figcaption { font-size: 13px; opacity: 0.75; text-align: center; margin: 8px 8px 0; line-height: 1.45; }
.shot { margin: 6px 0 22px; }
.shot img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--line); }
.shot.phone img { max-width: 300px; margin: 0 auto; }
.shot figcaption { font-size: 13px; opacity: 0.75; text-align: center; margin: 8px 8px 0; line-height: 1.45; }
