/* Docs pages: light, readable, same tokens as the home page. */
body.docs { background: var(--bg); }
.nav nav a.on { color: #fff; }
.docs-shell { display: grid; grid-template-columns: 240px minmax(0, 1fr) 200px; gap: 48px; width: min(1240px, 100% - 48px); margin: 0 auto; padding: 48px 0 96px; }
.docs-nav, .docs-toc { position: sticky; top: 92px; align-self: start; max-height: calc(100vh - 110px); overflow: auto; font-size: 14.5px; }
.docs-nav p, .docs-toc p { margin: 22px 0 8px; font: 600 12px var(--body); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-2); }
.docs-nav p:first-child, .docs-toc p:first-child { margin-top: 0; }
.docs-nav ul, .docs-toc ul { list-style: none; margin: 0; padding: 0; }
.docs-nav a, .docs-toc a { display: block; padding: 5px 10px; border-radius: 8px; color: var(--ink-2); text-decoration: none; }
.docs-nav a:hover, .docs-toc a:hover { color: var(--ink); background: #ecece6; }
.docs-nav a.on { color: var(--ink); background: #e4ecd6; font-weight: 600; }
.docs-toc a { padding: 3px 0; }
.docs-toc a:hover { background: none; }
.docs-main { min-width: 0; max-width: 760px; }
.docs-main article > :first-child { margin-top: 0; }
.docs-main h1 { font-size: clamp(34px, 4vw, 46px); line-height: 1.1; margin: 0 0 18px; }
.docs-main h2 { font-size: 26px; margin: 48px 0 12px; scroll-margin-top: 90px; }
.docs-main h3 { font-size: 19px; margin: 30px 0 8px; scroll-margin-top: 90px; }
.docs-main p, .docs-main li { color: #2f332d; }
.docs-main article > p:first-of-type { font-size: 19px; color: var(--ink-2); }
.docs-main ul, .docs-main ol { padding-left: 22px; }
.docs-main li { margin: 5px 0; }
.docs-main a { color: var(--green-deep); text-underline-offset: 3px; }
.docs-main code { font: 500 .88em var(--mono); background: #ecece5; padding: 2px 6px; border-radius: 6px; }
.docs-main pre { background: var(--night); color: #e6e9e2; padding: 16px 18px; border-radius: 12px; overflow: auto; font-size: 13.5px; line-height: 1.55; }
.docs-main pre code { background: none; padding: 0; color: inherit; }
.docs-main .note { border-left: 3px solid var(--green); background: #eef4e3; padding: 12px 16px; border-radius: 0 10px 10px 0; margin: 18px 0; color: #2f332d; }
.docs-main .table { overflow-x: auto; margin: 18px 0; }
.docs-main table { border-collapse: collapse; width: 100%; font-size: 15px; }
.docs-main th, .docs-main td { text-align: left; padding: 9px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.docs-main th { font-weight: 600; background: #efefe9; }
.docs-main img { max-width: 100%; border-radius: 12px; border: 1px solid var(--line); }
.pager { display: flex; justify-content: space-between; gap: 16px; margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--line); }
.pager a { display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; color: var(--ink); font-weight: 600; background: var(--surface); }
.pager a.next { text-align: right; margin-left: auto; }
.pager small { color: var(--ink-2); font-weight: 400; font-size: 12.5px; }
@media (max-width: 1100px) { .docs-shell { grid-template-columns: 220px minmax(0, 1fr); } .docs-toc { display: none; } }
@media (max-width: 760px) {
  .docs-shell { grid-template-columns: 1fr; gap: 24px; padding-top: 24px; }
  .docs-nav { position: static; max-height: none; border-bottom: 1px solid var(--line); padding-bottom: 16px; }
  .docs-nav p { display: none; }
  .docs-nav ul { display: inline; }
  .docs-nav li { display: inline-block; margin: 0 4px 6px 0; }
  .docs-nav a { padding: 4px 10px; background: #ecece6; font-size: 13.5px; }
}
.docs-shell.changelog { grid-template-columns: minmax(0, 760px); justify-content: center; }
.changelog h2 { border-top: 1px solid var(--line); padding-top: 32px; margin-top: 44px; }
.changelog h2 + p { margin-top: 4px; font-size: 18px; }
