.api-docs { max-width:1180px; margin:auto; }
.api-heading { padding:2rem 0 1.5rem; text-align:center; }
.api-heading h1 { font-size:clamp(2.25rem,5vw,3.5rem); margin:.4rem 0 .75rem; }
.api-heading .sub { color:#c4b598; font:1rem/1.7 system-ui,sans-serif; max-width:650px; margin:0 auto; }
.api-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; margin:1.25rem 0 0; }
.api-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:2rem; align-items:start; }
.api-toc { position:sticky; top:1.5rem; padding:1rem 0; font:.9rem/1.5 system-ui,sans-serif; }
.api-toc a { display:block; padding:.5rem .75rem; border-left:2px solid #4a3b24; color:#c4b598; text-decoration:none; }
.api-toc a:hover { color:#f0c060; border-color:#f0c060; }
.api-content { min-width:0; }
.api-content section { margin-bottom:1.25rem; scroll-margin-top:1.5rem; padding:1.5rem; }
.api-docs h2 { text-align:left; font-size:1.55rem; margin:0 0 1rem; }
.api-docs h3 { font-size:1.1rem; margin:1.5rem 0 .75rem; }
.api-content p, .api-content li, .api-content td { font:.92rem/1.75 system-ui,sans-serif; }
.api-content p { margin:.75rem 0; }
.api-content a { color:#f0c060; text-underline-offset:.2em; }
.api-content ul, .api-content ol { padding-left:1.4rem; }
.api-content li + li { margin-top:.5rem; }
.api-content code { font:.85em/1.6 Consolas,ui-monospace,monospace; overflow-wrap:anywhere; }
.api-content p code, .api-content td code, .api-content li code { color:#f4d598; }
.api-content th { color:#c4b598; }
.api-content td { padding:.7rem .6rem; }
.api-content th:first-child, .api-content td:first-child { padding-left:0; }
.api-example { margin:1.25rem 0; border:1px solid #4a3b24; border-radius:5px; overflow:hidden; }
.api-example figcaption { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.65rem .9rem; background:#302619; color:#cdbb99; font:.8rem system-ui,sans-serif; }
.api-example button { font:.75rem system-ui,sans-serif; padding:.3rem .6rem; }
.api-example pre { margin:0; padding:1rem; overflow-x:auto; background:#15110c; tab-size:2; }
.api-example pre code { font:.8rem/1.7 Consolas,ui-monospace,monospace; overflow-wrap:normal; }
.api-note { border-left:3px solid #d6a34c; padding:.5rem 1rem; background:#302619; }
.api-copy-status { min-height:1.5rem; font:.85rem system-ui,sans-serif; color:#b7e8a2; }
.verify-page { max-width:850px; }
.verify-page label { display:block; margin:1rem 0 .5rem; }
.verify-page label span { color:#c4b598; font-weight:normal; }
.verify-page textarea { box-sizing:border-box; width:100%; resize:vertical; font:.9rem/1.5 Consolas,ui-monospace,monospace; padding:.75rem; background:#15110c; color:#e8dcc0; border:1px solid #6b512a; border-radius:4px; }
.verify-page textarea:focus-visible { outline:2px solid #f0c060; outline-offset:2px; }
#verify-result { min-height:1.75rem; overflow-wrap:anywhere; }
#verify-result[data-state="valid"] { color:#b7e8a2; }
#verify-result[data-state="invalid"] { color:#ffb7a8; }
.api-docs summary { color:#f0c060; cursor:pointer; padding:.5rem 0; }
@media(max-width:850px) {
  .api-layout { grid-template-columns:minmax(0,1fr); gap:1rem; }
  .api-toc { position:static; display:flex; flex-wrap:wrap; gap:.25rem; padding:0 0 .5rem; }
  .api-toc a { border:1px solid #4a3b24; border-radius:4px; }
}
@media(max-width:500px) {
  .api-content section { padding:1rem; }
  .api-content td { font-size:.83rem; }
  .api-content th { font-size:.7rem; letter-spacing:.03em; }
  .api-heading { padding-top:1rem; }
}
