/* API pages: reference layout, code samples and tables. Loaded where an api-doc block or a code sample is used. */
.api-layout{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:3rem;align-items:start}
.api-toc{position:sticky;top:6rem;display:flex;flex-direction:column;border-left:1px solid var(--hairline)}
.api-toc-title{font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--graphite);margin:0 0 .7rem 1rem}
.api-toc a{font-size:.95rem;font-weight:600;color:var(--graphite);text-decoration:none;padding:.45rem 0 .45rem 1rem;margin-left:-1px;border-left:2px solid transparent}
.api-toc a:hover,.api-toc a.on{color:var(--violet-deep);border-left-color:var(--violet-bright)}
.api-sec{scroll-margin-top:6rem;padding-bottom:2.8rem}
.api-sec+.api-sec{padding-top:2.4rem;border-top:1px solid var(--hairline)}
.api-sec>h2{font-size:var(--fs-h3);line-height:var(--lh-h3);margin:0 0 .7rem;color:var(--plum)}
.api-lead{color:var(--graphite);margin:0 0 1rem;max-width:62ch}
.api-auth,.api-note{color:var(--graphite);font-size:.95rem;margin:.9rem 0}
.api-auth span,.api-note>span{display:inline-block;margin-right:.6rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--plum)}
.api-ep{margin-top:1.6rem;padding:1.4rem 1.5rem 1.5rem;background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius-l);scroll-margin-top:6rem}
.api-ep header h3{font-size:1.15rem;line-height:1.3;margin:0 0 .6rem;color:var(--plum)}
.api-route{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin:0}
.api-route code{font-family:var(--mono);font-size:.92rem;color:var(--plum);overflow-wrap:anywhere}
.api-method{display:inline-block;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;padding:.28rem .55rem;border-radius:var(--radius-s);color:#fff;background:var(--violet-deep)}
.api-method.m-get{background:var(--green)}
.api-method.m-post{background:var(--violet-deep)}
.api-meta{margin:1rem 0 0;display:grid;gap:.5rem}
.api-meta>div{display:flex;flex-wrap:wrap;gap:.3rem 1rem}
.api-meta dt{min-width:8rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);align-self:center}
.api-meta dd{margin:0;color:var(--plum);font-size:.95rem}
.api-meta code,.api-note code{font-family:var(--mono);font-size:.88rem;background:var(--mist);padding:.1rem .35rem;border-radius:4px}
.api-table-wrap{overflow-x:auto;margin:1.1rem 0 0}
.api-table{width:100%;border-collapse:collapse;font-size:.92rem}
.api-table caption{text-align:left;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);padding-bottom:.5rem}
.api-table th{text-align:left;font-weight:600;color:var(--plum);background:var(--mist);padding:.55rem .8rem;white-space:nowrap}
.api-table td{padding:.55rem .8rem;border-bottom:1px solid var(--hairline);color:var(--graphite);vertical-align:top}
.api-table td code{font-family:var(--mono);font-size:.86rem;color:var(--plum)}
.cs-code{position:relative;margin:1.2rem 0 0}
.cs-code figcaption{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);margin:0 0 .45rem}
.cs-code pre{margin:0;padding:1rem 4.6rem 1rem 1.1rem;background:var(--plum);color:#E9E4FA;border-radius:var(--radius-s);overflow-x:auto;font-family:var(--mono);font-size:.85rem;line-height:1.6;tab-size:2}
.cs-code code{font-family:inherit;white-space:pre}
.cs-code .copy{position:absolute;right:.6rem;top:1.95rem;font:inherit;font-size:.75rem;font-weight:600;color:var(--plum);background:#fff;border:0;border-radius:var(--radius-s);padding:.3rem .65rem;cursor:pointer}
.cs-code .copy:hover{background:var(--mist)}
@media (max-width:960px){.api-layout{grid-template-columns:minmax(0,1fr);gap:1.4rem}.api-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:.2rem 1rem;border-left:0;border-bottom:1px solid var(--hairline);padding-bottom:.6rem}.api-toc-title{display:none}.api-toc a{padding:.4rem 0;margin:0;border-left:0}}
