/* Public documentation site (/about/, /docs/…): web/public_docs.py.
   Colours are the app.css tokens only, so light and dark both follow the theme. */
.pubdocs-nav { display: flex; flex-wrap: wrap; gap: 0.35rem 1.1rem; align-items: center;
  margin: 0 0 1.1rem; padding: 0 0 0.6rem; border-bottom: 1px solid var(--line); font-size: 0.92rem; }
.pubdocs-nav a { color: var(--accent-text); text-decoration: none; padding: 0.15rem 0; }
.pubdocs-nav a:hover { text-decoration: underline; }
.pubdocs-nav a[aria-current="page"] { color: var(--dark); font-weight: 600; box-shadow: inset 0 -2px 0 var(--accent); }
.pubdocs-nav .pubdocs-demo { margin-left: auto; font-weight: 600; }
.pubdocs .card + .card, .pubdocs .card + .pubdocs-section, .pubdocs .pubdocs-section + .pubdocs-section { margin-top: 1.25rem; }
.pubdocs-card h2 { font-size: 1.1rem; margin: 0 0 0.5rem; }
.pubdocs-card h3 { font-size: 0.98rem; margin: 1rem 0 0.35rem; }
.pubdocs-card p, .pubdocs-card li { line-height: 1.55; }
.pubdocs-card p { margin: 0.4rem 0; }
.pubdocs-card ul { margin: 0.4rem 0; padding-left: 1.25rem; }
.pubdocs-card li + li { margin-top: 0.3rem; }
.pubdocs a { color: var(--accent-text); }
.pubdocs .btn-primary { color: var(--on-accent); }
.pubdocs code { font-size: 0.88em; overflow-wrap: anywhere; }
.pubdocs-pre { background: var(--surface-2); color: var(--ink); border: 1px solid var(--line); border-radius: 8px;
  padding: 0.8rem 1rem; overflow-x: auto; font-size: 0.85rem; line-height: 1.45; }
.pubdocs-pre code { overflow-wrap: normal; }
.pubdocs-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.pubdocs-table th, .pubdocs-table td { text-align: left; vertical-align: top; padding: 0.45rem 0.6rem;
  border-bottom: 1px solid var(--line); }
.pubdocs-table th { color: var(--muted); font-weight: 600; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.03em; }
.pubdocs-section > h2 { font-size: 1.05rem; margin: 0 0 0.3rem; text-transform: capitalize; }
.pubdocs-section .table-scroll { background: var(--card); border: 1px solid var(--line); border-radius: 10px; }
.pubdocs-ops td:first-child { width: 5.5rem; }
.pubdocs-ops td:nth-child(2) { width: 34%; }
.pubdocs-path { white-space: normal; overflow-wrap: anywhere; }
.pubdocs-method { display: inline-block; min-width: 3.9rem; text-align: center; font-family: var(--mono);
  font-size: 0.75rem; font-weight: 700; padding: 0.1rem 0.35rem; border-radius: 4px;
  border: 1px solid var(--line-strong); color: var(--dark); }
.pubdocs-method.m-get { color: var(--ok-text); }
.pubdocs-method.m-post, .pubdocs-method.m-put, .pubdocs-method.m-patch { color: var(--warn-text); }
.pubdocs-method.m-delete { color: var(--danger); }
.pubdocs-params { display: block; color: var(--muted); font-size: 0.82rem; margin-top: 0.15rem; }
.pubdocs-badge { display: inline-block; font-size: 0.72rem; padding: 0.05rem 0.4rem; border-radius: 999px;
  border: 1px solid var(--line-strong); color: var(--muted); white-space: nowrap; }
.pubdocs-badge-write { color: var(--warn-text); }
.pubdocs-badge-demo { color: var(--danger); }
.pubdocs-legend { font-size: 0.88rem; color: var(--muted); }
.pubdocs-toc { display: flex; flex-wrap: wrap; gap: 0.4rem 0.9rem; margin-top: 0.7rem; font-size: 0.9rem; }
.pubdocs-toc a { text-transform: capitalize; }
.pubdocs-count { color: var(--muted); font-size: 0.78rem; }
.pubdocs-args code { white-space: nowrap; }
.pubdocs-tools td:first-child { white-space: nowrap; }
@media (max-width: 640px) {
  .pubdocs-nav { gap: 0.3rem 0.8rem; }
  .pubdocs-nav .pubdocs-demo { margin-left: 0; }
  .pubdocs-ops, .pubdocs-ops tbody, .pubdocs-ops tr, .pubdocs-ops td { display: block; width: auto !important; }
  .pubdocs-ops thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pubdocs-ops tr { padding: 0.5rem 0.6rem; border-bottom: 1px solid var(--line); }
  .pubdocs-ops td { border: 0; padding: 0.1rem 0; }
  .pubdocs-tools, .pubdocs-tools tbody, .pubdocs-tools tr, .pubdocs-tools td { display: block; }
  .pubdocs-tools thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pubdocs-tools tr { padding: 0.5rem 0.6rem; border-bottom: 1px solid var(--line); }
  .pubdocs-tools td { border: 0; padding: 0.1rem 0; }
}
