.api-page main { max-width: 62rem; }
.notice {
  background: var(--warn-bg); border-left: 3px solid var(--warn);
  border-radius: 0 6px 6px 0; padding: 0.7rem 1rem; font-size: 0.9rem;
}
.muted { color: var(--muted); }

#controls { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center;
            margin: 1rem 0 0.5rem; }
#controls input {
  font: inherit; font-size: 0.88rem; padding: 0.35rem 0.6rem; color: var(--fg);
  background: var(--panel); border: 1px solid var(--rule); border-radius: 6px;
  flex: 1 1 18rem; min-width: 12rem;
}
#controls input:focus { outline: 2px solid var(--accent); outline-offset: -1px; }
#controls button {
  font: inherit; font-size: 0.8rem; padding: 0.3rem 0.6rem; cursor: pointer;
  color: var(--muted); background: var(--panel);
  border: 1px solid var(--rule); border-radius: 6px;
}
#controls button:hover { color: var(--accent); }
#summary { color: var(--muted); font-size: 0.8rem; margin-left: auto; }

#toc { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.75rem 0 1.5rem; }
#toc a {
  font-size: 0.78rem; text-decoration: none; color: var(--muted);
  background: var(--panel); border: 1px solid var(--rule);
  border-radius: 999px; padding: 0.14rem 0.6rem;
}
#toc a:hover { color: var(--accent); border-color: var(--accent); }
#toc a .n { opacity: 0.6; }
#toc a[hidden] { display: none; }

.group h2 { margin-top: 2.2rem; }
.group .count { font-size: 0.8rem; font-weight: 400; color: var(--muted); }
.gdesc { color: var(--muted); font-size: 0.88rem; margin: 0.2rem 0 0.8rem; }
.group[hidden] { display: none; }

.op {
  border: 1px solid var(--rule); border-radius: 8px; margin: 0.45rem 0;
  background: var(--panel);
}
.op[hidden] { display: none; }
.op summary {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.55rem;
  padding: 0.5rem 0.75rem; cursor: pointer; list-style: none;
}
.op summary::-webkit-details-marker { display: none; }
.op summary:hover { color: var(--accent); }
.op[open] summary { border-bottom: 1px solid var(--rule); }
.method {
  font-family: ui-monospace, Consolas, monospace; font-size: 0.7rem;
  font-weight: 700; letter-spacing: 0.06em; padding: 0.1rem 0.45rem;
  border-radius: 4px; text-transform: uppercase;
  background: var(--ok-bg); color: var(--ok);
}
.method.post { background: var(--warn-bg); color: var(--warn); }
.method.delete, .method.put, .method.patch { background: var(--bad-bg); color: var(--bad); }
.path { background: none; padding: 0; font-size: 0.86rem; overflow-wrap: anywhere; }
.sum { color: var(--muted); font-size: 0.84rem; }
.opbody { padding: 0.6rem 0.9rem 0.8rem; font-size: 0.9rem; }
.opbody p { margin: 0.4rem 0; }
.tbl { overflow-x: auto; }
.opbody table { font-size: 0.84rem; margin: 0.5rem 0; }
.rtype { color: var(--muted); }
ul.schema {
  columns: 2; column-gap: 2rem; list-style: none; padding: 0;
  margin: 0.3rem 0 0.6rem; font-size: 0.82rem;
}
ul.schema li { margin: 0.12rem 0; break-inside: avoid; }
ul.schema .t { color: var(--muted); }
@media (max-width: 40rem) { ul.schema { columns: 1; } }
.limits { margin: 0.5rem 0; font-size: 0.8rem; }
.limits .lbl { color: var(--muted); text-transform: uppercase; font-size: 0.7rem;
               letter-spacing: 0.05em; }
.limits dl { display: grid; grid-template-columns: auto 1fr; gap: 0.1rem 0.8rem;
             margin: 0.25rem 0 0; }
.limits dt { font-weight: 600; }
.limits dd { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.curl { position: relative; margin-top: 0.5rem; }
.curl pre { margin: 0; padding-right: 4.5rem; }
.curl .copy {
  position: absolute; top: 0.45rem; right: 0.45rem; font: inherit;
  font-size: 0.72rem; padding: 0.15rem 0.5rem; cursor: pointer;
  color: var(--muted); background: var(--bg);
  border: 1px solid var(--rule); border-radius: 5px;
}
.curl .copy:hover { color: var(--accent); }
.bstamp { max-width: 62rem; margin: 2rem auto 1rem; padding: 1.25rem;
          border-top: 1px solid var(--rule); color: var(--muted); font-size: 0.82rem; }
