:root { color-scheme: light dark; --canvas:#F6F5F1; --text:#17201B; --muted:#556258; --accent:#236C45; }
body { margin:0; background:var(--canvas); color:var(--text); font-family: sans-serif; }
.viewer-header { padding:24px 32px; }
.viewer-header h1 { font-size:24px; margin:0 0 12px; }
.viewer-header p { color:var(--muted); line-height:1.6; margin:0; }
.viewer-header nav { display:flex; gap:24px; flex-wrap:wrap; }
a { color:var(--accent); min-height:44px; display:inline-flex; align-items:center; }
:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.swagger-ui .btn, .swagger-ui select, .swagger-ui .opblock-summary, .swagger-ui button { min-height:44px; }
.swagger-ui .wrapper { padding:0 32px; }
.swagger-ui .info { margin:24px 0; }
.swagger-ui .info .title { font-size:28px; }
.swagger-ui .info .title small, .swagger-ui .info .title small.version-stamp { background:var(--accent); }
.swagger-ui .info .title small pre { color:var(--canvas); }
.swagger-ui .scheme-container { background:var(--canvas); }
.swagger-ui .url { color:var(--accent); }
.swagger-ui .errors-wrapper h4, .swagger-ui .renderedMarkdown p,
.swagger-ui .json-schema-2020-12__title, .swagger-ui .json-schema-2020-12__attribute { color:var(--text); }
.swagger-ui .json-schema-2020-12-expand-deep-button { color:var(--text); background:var(--canvas); }
.swagger-ui .opblock .opblock-summary .opblock-summary-control .opblock-summary-method {
 background:var(--accent); color:var(--canvas);
}
@media (max-width:600px) { .viewer-header { padding:20px; } .swagger-ui .wrapper { padding:0 20px; } .swagger-ui .opblock-summary-path { max-width:100%; font-size:14px; } }
@media (prefers-color-scheme:dark) {
 :root { --canvas:#181A19; --text:#F3F5F1; --muted:#AFB8AF; --accent:#4CC77E; }
 .swagger-ui, .swagger-ui .info .title, .swagger-ui .info li, .swagger-ui .info p, .swagger-ui .info a, .swagger-ui .info hgroup, .swagger-ui .opblock-tag, .swagger-ui .opblock .opblock-summary-path, .swagger-ui .opblock .opblock-summary-description, .swagger-ui .opblock-description-wrapper p, .swagger-ui .opblock-external-docs-wrapper p, .swagger-ui .opblock-title_normal p, .swagger-ui table thead tr td, .swagger-ui table thead tr th, .swagger-ui .parameter__name, .swagger-ui .parameter__type, .swagger-ui .response-col_status, .swagger-ui .response-col_description, .swagger-ui .model-title, .swagger-ui .model, .swagger-ui .prop-type, .swagger-ui .servers-title, .swagger-ui .servers>label, .swagger-ui .tab li, .swagger-ui .btn, .swagger-ui .opblock-section-header h4 { color:var(--text); }
 .swagger-ui section.models, .swagger-ui section.models h4, .swagger-ui section.models .model-container { color:var(--text); border-color:#323C33; }
 .swagger-ui .opblock .opblock-section-header { background:#202421; }
 .swagger-ui svg { fill:var(--text); }
 .swagger-ui select { background:#202421; color:var(--text); }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
