.developer-menu { position: relative; }
.developer-menu summary { cursor: pointer; list-style: none; padding: .6rem 0; color: var(--muted); font-size: .86rem; font-weight: 560; }
.developer-menu summary::-webkit-details-marker { display: none; }
.developer-menu summary:hover, .developer-menu[open] summary { color: var(--ink); }
@media (max-width: 920px) { .developer-menu summary { font-size: .78rem; } }
.developer-menu summary::after { content: '⌄'; margin-left: .4rem; }
.developer-menu-links { position: absolute; top: 100%; left: -.75rem; z-index: 30; display: grid; min-width: 12rem; padding: .4rem; gap: 0; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.developer-menu-links a { padding: .5rem .6rem; border-radius: 5px; white-space: nowrap; }
.developer-menu-links a:hover { background: var(--surface); }
.swagger-container { max-width: 1160px; width: calc(100% - 48px); margin: 2rem auto; padding: clamp(1rem, 2.5vw, 2rem); background: #fff; color: #26332d; border: 1px solid var(--line); border-radius: 8px; color-scheme: light; }
.swagger-container .swagger-ui, .swagger-container .swagger-ui *:not(code):not(pre):not(svg) { font-family: var(--sans); }
.swagger-container .swagger-ui .opblock .opblock-summary-description { font-family: var(--sans); }
.swagger-container .swagger-ui .opblock .opblock-summary-path, .swagger-container .swagger-ui .opblock .opblock-summary-method, .swagger-container .swagger-ui code, .swagger-container .swagger-ui pre, .swagger-container .swagger-ui .parameter__name, .swagger-container .swagger-ui .parameter__type, .swagger-container .swagger-ui .prop-type { font-family: var(--mono); }
.swagger-container .swagger-ui .wrapper { padding: 0; }
.swagger-container .swagger-ui .info { margin-top: 0; }
.swagger-container .swagger-ui .info .title { font-family: var(--headline); font-size: 1.5rem; font-weight: 600; letter-spacing: -.015em; }
.swagger-container .swagger-ui .opblock-tag { font-family: var(--headline); font-weight: 600; }
.swagger-container .swagger-ui .scheme-container { padding: 1rem 0; border-block: 1px solid #e6e8e1; box-shadow: none; }
.swagger-container .swagger-ui .opblock .opblock-summary-method { border-radius: 4px; font-size: .75rem; }
/* Dark theme: Swagger UI has no dark palette; an inverted light render keeps it legible and on-theme. */
:root[data-theme="dark"] .swagger-container { filter: invert(.9) hue-rotate(180deg); border-color: #cfc9c5; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swagger-container { filter: invert(.9) hue-rotate(180deg); border-color: #cfc9c5; } }
.swagger-container .swagger-ui .opblock { border-radius: 8px; box-shadow: none; }
.swagger-container .swagger-ui .opblock .opblock-summary-path { font-size: .9rem; overflow-wrap: anywhere; }
.swagger-container .swagger-ui .opblock-summary { min-width: 0; flex-wrap: wrap; }
.swagger-container .swagger-ui .opblock-summary-control { min-width: 0; }
.swagger-container .swagger-ui .opblock-description-wrapper p,
.swagger-container .swagger-ui .opblock-summary-description { font-size: .875rem; }
.swagger-container .swagger-ui pre { max-width: 100%; overflow-x: auto; }
.swagger-container .swagger-ui .responses-inner { max-width: 100%; overflow-x: auto; }
.swagger-container .swagger-ui select { max-width: 100%; }
.swagger-container .swagger-ui .dialog-ux .modal-ux { max-width: calc(100vw - 32px); }
@media (max-width: 640px) {
  .developer-menu-links { position: static; box-shadow: none; margin-bottom: .5rem; }
  .swagger-container { width: calc(100% - 36px); padding: .75rem; }
  .swagger-container .swagger-ui .opblock .opblock-summary-method { min-width: 52px; padding: 6px; }
  .swagger-container .swagger-ui .opblock-summary-description { flex-basis: 100%; margin: .5rem 0; }
  .swagger-container .swagger-ui .scheme-container .schemes { flex-wrap: wrap; gap: 1rem; }
}
