/* Generated by scripts/prerender.mjs — edit the script, not this file. */

.doc-body {
  background: var(--bg, #f4f3ec);
  color: var(--text, #16241c);
  font-family: var(--font, 'Inter', ui-sans-serif, system-ui, sans-serif);
  line-height: 1.6;
}

/* ── header ───────────────────────────────────────────────────────────────── */

.doc-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 22px;
  padding: 14px clamp(16px, 4vw, 40px);
  border-bottom: 1px solid var(--line-soft, #e2e1d4);
  background: var(--bg-raise, #fff);
}

.doc-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  color: var(--forest-deep, #143524);
  font-weight: 700;
  font-size: 1.06rem;
  letter-spacing: -0.02em;
}

.doc-brand-mark { font-size: 1.2rem; }
.doc-brand-name em { font-style: normal; color: var(--forest, #1f5136); opacity: 0.75; }

.doc-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-left: auto;
  font-size: 0.92rem;
}

.doc-nav a { color: var(--text-dim, #4d5a51); text-decoration: none; }
.doc-nav a:hover { color: var(--forest, #1f5136); text-decoration: underline; }

/* ── article ──────────────────────────────────────────────────────────────── */

.doc-main {
  max-width: 72ch;
  margin: 0 auto;
  padding: clamp(24px, 5vw, 46px) clamp(16px, 4vw, 28px) 60px;
}

.doc-article h1 {
  font-size: clamp(1.75rem, 5vw, 2.6rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--forest-deep, #143524);
  margin: 0 0 18px;
}

.doc-article > p {
  font-size: 1.08rem;
  color: var(--text-dim, #4d5a51);
  margin: 0 0 16px;
}

.doc-section { margin-top: 34px; }

.doc-section h2 {
  font-size: clamp(1.2rem, 3vw, 1.5rem);
  letter-spacing: -0.02em;
  color: var(--forest, #1f5136);
  margin: 0 0 10px;
  padding-top: 16px;
  border-top: 1px solid var(--line-soft, #e2e1d4);
}

.doc-section p {
  margin: 0 0 14px;
  font-size: 1.02rem;
}

/* ── play-through card ────────────────────────────────────────────────────── */

.doc-play {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin: 26px 0 8px;
  padding: 16px;
  background: var(--bg-raise, #fff);
  border: 1px solid var(--line-soft, #e2e1d4);
  border-radius: var(--radius, 14px);
  box-shadow: 0 10px 30px -18px rgba(20, 53, 36, 0.4);
}

.doc-play-art {
  width: 200px;
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-sm, 9px);
  display: block;
}

.doc-play-body { flex: 1 1 220px; }

.doc-play-line {
  margin: 0 0 12px;
  font-size: 1.02rem;
  color: var(--text, #16241c);
}

.doc-play-btn {
  display: inline-block;
  background: var(--forest, #1f5136);
  color: #fff;
  text-decoration: none;
  font-weight: 650;
  padding: 10px 18px;
  border-radius: 999px;
}

.doc-play-btn:hover { background: var(--forest-deep, #143524); }

.doc-play-meta {
  margin: 10px 0 0;
  font-size: 0.86rem;
  color: var(--text-faint, #7b877e);
}

/* ── ad ───────────────────────────────────────────────────────────────────── */

.doc-ad {
  margin: 40px 0 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* Labelled, because an unlabelled ad that looks like site content is exactly
   what the policies prohibit. */
.doc-ad-label {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--text-faint, #7b877e);
}

/* ── related ──────────────────────────────────────────────────────────────── */

.doc-related { margin-top: 44px; }

.doc-related-group + .doc-related-group { margin-top: 26px; }

.doc-related-group h2 {
  font-size: 1.02rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-faint, #7b877e);
  margin: 0 0 10px;
}

.doc-related ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.doc-related li {
  background: var(--bg-raise, #fff);
  border: 1px solid var(--line-soft, #e2e1d4);
  border-radius: var(--radius-sm, 9px);
  padding: 11px 14px;
}

.doc-related a {
  color: var(--forest, #1f5136);
  font-weight: 600;
  text-decoration: none;
}

.doc-related a:hover { text-decoration: underline; }

.doc-related span {
  display: block;
  font-size: 0.88rem;
  color: var(--text-dim, #4d5a51);
  margin-top: 2px;
}

/* ── footer ───────────────────────────────────────────────────────────────── */

.doc-foot {
  border-top: 1px solid var(--line-soft, #e2e1d4);
  padding: 24px clamp(16px, 4vw, 40px) 40px;
  background: var(--bg-raise, #fff);
}

.doc-foot p {
  max-width: 72ch;
  margin: 0 auto 12px;
  font-size: 0.88rem;
  color: var(--text-dim, #4d5a51);
}

.doc-foot-nav {
  max-width: 72ch;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  font-size: 0.88rem;
}

.doc-foot-nav a { color: var(--forest, #1f5136); }

@media (max-width: 560px) {
  .doc-nav { margin-left: 0; width: 100%; }
  .doc-play { gap: 14px; }
  .doc-play-art { width: 100%; }
}
