.api-main > h1 { margin-bottom:0; }
.api-lede { margin:4px 0 20px; color:var(--text-muted); }

.api-layout {
  display:grid;
  grid-template-columns:208px minmax(0,1fr);
  gap:20px;
  align-items:start;
}

.api-toc {
  position:sticky;
  top:16px;
  max-height:calc(100dvh - 32px);
  overflow:auto;
  padding:12px;
  border:2px solid var(--line-bright);
  border-radius:var(--panel-radius);
  background:var(--bg-panel);
  box-shadow:3px 3px var(--shadow-deep);
}
.api-toc > strong { display:block; margin-bottom:8px; color:var(--text-heading); font-size:var(--type-title); text-transform:uppercase; letter-spacing:.04em; }
.api-toc nav { display:grid; gap:2px; }
.api-toc a { padding:4px 6px; color:var(--text-primary); border-left:3px solid transparent; text-decoration:none; }
.api-toc a:hover { color:var(--focus); background:var(--surface-control); }
.api-toc a:focus-visible { color:var(--state-run); border-left-color:var(--state-run); background:var(--surface-control); }

.api-content { min-width:0; }
.api-overview,
.api-group {
  scroll-margin-top:16px;
  padding:0 16px 16px;
  border:2px solid var(--line);
  border-radius:var(--panel-radius);
  background:var(--bg-panel);
  box-shadow:3px 3px var(--shadow-deep);
}
.api-group { margin-top:16px; }
.api-overview:target,
.api-group:target { border-color:var(--state-warn); box-shadow:0 0 0 2px var(--bg-master),3px 3px var(--state-warn); }
.api-overview > h2:first-child,
.api-group > h2:first-child { margin-top:16px; }

.api-member-index { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
.api-member-index a {
  padding:3px 7px;
  color:var(--syntax-function);
  border:1px solid var(--line);
  border-radius:var(--control-radius);
  background:var(--surface-control);
  font:var(--type-code)/1.4 var(--font-code);
  text-decoration:none;
}
.api-member-index a:hover { border-color:var(--state-run); }

.api-entry {
  scroll-margin-top:16px;
  padding:12px 0;
  border-top:1px solid var(--line);
}
.api-entry h3 { display:flex; align-items:baseline; gap:7px; margin:0 0 6px; line-height:1.5; }
.api-entry h3 code { color:var(--syntax-function); font-size:var(--type-body); overflow-wrap:anywhere; }
.api-anchor { flex:0 0 auto; color:var(--text-muted) !important; text-decoration:none; }
.api-entry:target { outline:2px solid var(--state-warn); outline-offset:4px; }
.api-description > :first-child { margin-top:0; }
.api-description > :last-child { margin-bottom:8px; }
.api-description:empty { display:none; }
.api-any { color:var(--text-muted); }
.api-returns { margin:8px 0; }
.api-returns p { display:inline; margin:0; }

.api-table-scroll { max-width:100%; overflow:auto; margin:8px 0; }
.api-table-scroll table { min-width:560px; font-size:var(--type-body); }
.api-table-scroll.no-meaning table { min-width:360px; }
.api-table-scroll th:first-child { width:22%; }
.api-table-scroll td:nth-child(2) { width:25%; }
.api-table-scroll.no-meaning th:first-child { width:42%; }
.api-table-scroll p { margin:0; }
.api-example strong { display:block; margin-top:8px; }

@media (max-width:800px) {
  .api-layout { grid-template-columns:1fr; }
  .api-toc { position:static; max-height:none; }
  .api-toc nav { display:flex; flex-wrap:wrap; gap:4px; }
  .api-toc a { border:1px solid var(--line); border-radius:var(--control-radius); }
  .api-overview,
  .api-group { padding-inline:12px; }
}

@media print {
  .api-layout { display:block; }
  .api-toc { display:none; }
  .api-overview,
  .api-group { border:0; box-shadow:none; break-inside:auto; }
  .api-entry { break-inside:avoid; }
}
