:root {
  --bg: #0f1115;
  --panel: #171a21;
  --panel-2: #1e222b;
  --line: #2a2f3a;
  --text: #eceef2;
  --muted: #9aa2b1;
  --accent: #5b8cff;
  --get: #3987e5;
  --post: #199e70;
  --delete: #e66767;
  --put: #c98500;
}
body { margin: 0; background: var(--bg); color: var(--text); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.brand { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 12px; padding: 12px 24px; background: rgba(15, 17, 21, .92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.brand__logo { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--accent); color: #fff; font-size: 18px; }
.brand__name { font-weight: 700; font-size: 16px; }
.brand__links { margin-left: auto; display: flex; gap: 16px; }
.brand__links a { color: var(--muted); text-decoration: none; font-size: 13px; }
.brand__links a:hover { color: var(--text); }
.swagger-ui { color: var(--text); }
.swagger-ui .wrapper { max-width: 1080px; padding: 0 24px; }
.swagger-ui .info { margin: 32px 0; }
.swagger-ui .info .title, .swagger-ui .info h1, .swagger-ui .info h2, .swagger-ui .info h3 { color: var(--text); }
.swagger-ui .info p, .swagger-ui .info li, .swagger-ui .info td, .swagger-ui .info th { color: #c9ced8; }
.swagger-ui .info table { border-collapse: collapse; }
.swagger-ui .info td, .swagger-ui .info th { padding: 6px 12px; border: 1px solid var(--line); }
.swagger-ui .info a { color: var(--accent); }
.swagger-ui .info code, .swagger-ui .markdown code, .swagger-ui .renderedMarkdown code { background: var(--panel-2); color: #ffd28a; padding: 2px 6px; border-radius: 5px; font-weight: 500; }
.swagger-ui .info pre, .swagger-ui .markdown pre { background: var(--panel) !important; border: 1px solid var(--line); border-radius: 10px; padding: 14px; }
.swagger-ui .info pre code { background: none; color: var(--text); padding: 0; }
.swagger-ui .scheme-container { background: var(--panel); box-shadow: none; border: 1px solid var(--line); border-radius: 12px; margin: 0 0 24px; padding: 16px 0; }
.swagger-ui .servers-title, .swagger-ui .servers label { color: var(--muted); }
.swagger-ui select, .swagger-ui input[type=text], .swagger-ui input[type=password], .swagger-ui input[type=search], .swagger-ui textarea { background: var(--panel-2) !important; color: var(--text) !important; border: 1px solid var(--line) !important; border-radius: 8px !important; box-shadow: none; }
.swagger-ui .filter .operation-filter-input { border-radius: 10px !important; padding: 10px 14px; }
.swagger-ui .opblock-tag { color: var(--text); border-bottom: 1px solid var(--line); font-size: 20px; }
.swagger-ui .opblock-tag small { color: var(--muted); font-size: 13px; }
.swagger-ui .opblock-tag svg, .swagger-ui .opblock .opblock-summary .opblock-summary-control svg, .swagger-ui .expand-operation svg { fill: var(--muted); }
.swagger-ui .opblock { background: var(--panel) !important; border: 1px solid var(--line) !important; border-radius: 10px; box-shadow: none; margin-bottom: 10px; }
.swagger-ui .opblock .opblock-summary { border: 0; }
.swagger-ui .opblock .opblock-summary-method { border-radius: 6px; font-size: 12px; min-width: 62px; }
.swagger-ui .opblock.opblock-get .opblock-summary-method { background: var(--get); }
.swagger-ui .opblock.opblock-post .opblock-summary-method { background: var(--post); }
.swagger-ui .opblock .opblock-summary-path, .swagger-ui .opblock .opblock-summary-path a, .swagger-ui .opblock .opblock-summary-description { color: var(--text); }
.swagger-ui .opblock .opblock-summary-description { color: var(--muted); }
.swagger-ui .opblock .opblock-section-header { background: var(--panel-2); box-shadow: none; }
.swagger-ui .opblock .opblock-section-header h4, .swagger-ui .opblock-description-wrapper p, .swagger-ui .opblock-external-docs-wrapper p, .swagger-ui .opblock-title_normal p, .swagger-ui .parameter__name, .swagger-ui .parameter__type, .swagger-ui .parameter__in, .swagger-ui table thead tr td, .swagger-ui table thead tr th, .swagger-ui .response-col_status, .swagger-ui .response-col_links, .swagger-ui .responses-inner h4, .swagger-ui .responses-inner h5, .swagger-ui .tab li, .swagger-ui .model, .swagger-ui .model-title, .swagger-ui .prop-type, .swagger-ui section.models h4, .swagger-ui .dialog-ux .modal-ux-content p, .swagger-ui .dialog-ux .modal-ux-header h3, .swagger-ui .auth-container h4, .swagger-ui .auth-container label, .swagger-ui .renderedMarkdown p, .swagger-ui label { color: var(--text); }
.swagger-ui .parameter__name.required::after, .swagger-ui .parameter__name.required span { color: var(--delete); }
.swagger-ui .parameter__deprecated, .swagger-ui .prop-format { color: var(--muted); }
.swagger-ui table thead tr td, .swagger-ui table thead tr th { border-bottom: 1px solid var(--line); }
.swagger-ui .btn { color: var(--text); border-color: var(--line); background: var(--panel-2); border-radius: 8px; box-shadow: none; }
.swagger-ui .btn.authorize { color: #fff; border-color: var(--accent); background: var(--accent); }
.swagger-ui .btn.authorize svg { fill: #fff; }
.swagger-ui .btn.execute { background: var(--accent); border-color: var(--accent); color: #fff; }
.swagger-ui section.models { border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.swagger-ui section.models .model-container { background: var(--panel-2); border-radius: 8px; }
.swagger-ui .model-toggle::after { filter: invert(1); }
.swagger-ui .dialog-ux .backdrop-ux { background: rgba(0, 0, 0, .6); }
.swagger-ui .dialog-ux .modal-ux { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; }
.swagger-ui .dialog-ux .modal-ux-header { border-bottom: 1px solid var(--line); }
.swagger-ui .dialog-ux .modal-ux-header .close-modal svg { fill: var(--muted); }
.swagger-ui .auth-container { border-bottom: 1px solid var(--line); }
.swagger-ui .loading-container .loading::after { color: var(--muted); }
.swagger-ui .highlight-code, .swagger-ui .microlight { border-radius: 8px; }
.swagger-ui .response-col_description__inner p { color: var(--muted); }
.swagger-ui svg.arrow { fill: var(--muted); }
