html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body.docs { display: block; }
.docs .nav { grid-template-columns: 1fr auto; }
.docs .btn { text-decoration: none; }

.docs-grid { display: grid; grid-template-columns: 220px minmax(0, 720px) 220px; justify-content: center; gap: 56px; padding: 0 40px; }
.side, .toc { position: sticky; top: 67px; align-self: start; display: flex; flex-direction: column; gap: 2px; padding: 48px 0; font-size: 14px; }
.side p, .toc p { margin-bottom: 8px; color: var(--ink); font-size: 13px; font-weight: 500; }
.side a { padding: 7px 12px; border-radius: 8px; color: var(--muted); text-decoration: none; }
.side a:hover { color: var(--ink); }
.side a[aria-current] { background: var(--raised); color: var(--accent); }
.toc a { padding: 5px 0; color: var(--muted); font-size: 13px; text-decoration: none; }
.toc a:hover { color: var(--accent); }

.doc { min-width: 0; padding: 48px 0 96px; color: #c2d2cf; }
.doc h1 { margin: 10px 0 20px; color: var(--ink); font: 400 clamp(44px, 5vw, 60px)/1.05 var(--serif); letter-spacing: -.01em; }
.doc h2 { margin: 48px 0 14px; color: var(--ink); font: 400 32px/1.15 var(--serif); }
.doc p + p { margin-top: 14px; }
.doc ol, .doc ul { margin: 0 0 14px; padding-left: 22px; }
.doc li { margin: 8px 0; }
.doc b { color: var(--ink); font-weight: 500; }
.doc a { color: var(--accent); text-underline-offset: 3px; }
.eyebrow { color: var(--accent); font: 400 12px var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.callout { margin: 22px 0; padding: 14px 16px; background: var(--surface); border: 1px solid var(--line-strong); border-radius: 12px; font-size: 15px; }
.callout strong { color: var(--moon); font-weight: 500; }
.doc-foot { margin-top: 48px !important; padding-top: 20px; border-top: 1px solid var(--line); color: var(--faint); font-size: 13px; }

.table-wrap { margin-bottom: 16px; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
table { width: 100%; min-width: 440px; border-collapse: collapse; font-size: 15px; }
th, td { padding: 12px 18px; text-align: left; font-weight: 400; }
thead th { color: var(--muted); font-size: 13px; }
tbody tr { border-top: 1px solid var(--line); }
td { font: 400 13px var(--mono); }
.pri { color: var(--accent); }
.pub { color: var(--faint); }

@media (max-width: 1180px) {
  .docs-grid { grid-template-columns: 200px minmax(0, 720px); gap: 40px; }
  .toc { display: none; }
}
@media (max-width: 760px) {
  .docs-grid { display: block; padding: 0 16px; }
  .side { position: static; flex-direction: row; align-items: center; gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .side p { display: none; }
  .doc { padding-top: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
