:root {
    --lf-swagger-bg:
        radial-gradient(circle at top, rgba(214, 244, 88, 0.12), transparent 28%),
        linear-gradient(180deg, #f5f7f2, #ffffff);
    --lf-swagger-surface: rgba(255, 255, 255, 0.96);
    --lf-swagger-surface-strong: #ffffff;
    --lf-swagger-surface-muted: #f5f7f2;
    --lf-swagger-surface-soft: rgba(245, 247, 242, 0.8);
    --lf-swagger-text: #12161d;
    --lf-swagger-muted: #5e6674;
    --lf-swagger-border: rgba(15, 17, 21, 0.1);
    --lf-swagger-border-strong: rgba(15, 17, 21, 0.16);
    --lf-swagger-accent: #d6f458;
    --lf-swagger-accent-hover: #c3e339;
    --lf-swagger-accent-soft: rgba(214, 244, 88, 0.14);
    --lf-swagger-dark: #0f1115;
    --lf-swagger-shadow-sm: 0 10px 30px rgba(15, 17, 21, 0.06);
    --lf-swagger-shadow-md: 0 24px 60px rgba(15, 17, 21, 0.12);
    --lf-swagger-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --lf-swagger-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    --lf-swagger-code-bg: #0b0e13;
    --lf-swagger-code-surface: rgba(11, 14, 19, 0.96);
    --lf-swagger-code-border: rgba(255, 255, 255, 0.08);
    --lf-swagger-code-text: #edf3fb;
    --lf-swagger-code-muted: #9aa6ba;
    --lf-swagger-focus: 0 0 0 0.28rem rgba(214, 244, 88, 0.28);
}

html[data-bs-theme="dark"] {
    --lf-swagger-bg:
        radial-gradient(circle at top, rgba(214, 244, 88, 0.08), transparent 26%),
        linear-gradient(180deg, #10141b, #151922);
    --lf-swagger-surface: rgba(21, 25, 34, 0.94);
    --lf-swagger-surface-strong: #151922;
    --lf-swagger-surface-muted: #10141b;
    --lf-swagger-surface-soft: rgba(16, 20, 27, 0.86);
    --lf-swagger-text: #f3f6fb;
    --lf-swagger-muted: #a4adba;
    --lf-swagger-border: rgba(240, 244, 250, 0.1);
    --lf-swagger-border-strong: rgba(240, 244, 250, 0.16);
    --lf-swagger-shadow-sm: 0 10px 30px rgba(0, 0, 0, 0.28);
    --lf-swagger-shadow-md: 0 24px 60px rgba(0, 0, 0, 0.38);
    --lf-swagger-code-bg: #090c11;
    --lf-swagger-code-surface: rgba(9, 12, 17, 0.97);
    --lf-swagger-code-border: rgba(255, 255, 255, 0.1);
    --lf-swagger-code-text: #edf3fb;
    --lf-swagger-code-muted: #93a0b4;
}

html {
    background: var(--lf-swagger-bg);
}

body,
.swagger-ui {
    font-family: var(--lf-swagger-font-sans);
    color: var(--lf-swagger-text);
}

body {
    background: transparent;
    color: var(--lf-swagger-text);
}

.swagger-ui {
    background: transparent;
}

.swagger-ui .wrapper {
    max-width: 1440px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.lf-openapi-link {
    margin: 0;
    color: var(--lf-swagger-muted);
}

.swagger-ui a,
.swagger-ui .info a,
.lf-openapi-link a {
    color: var(--lf-swagger-text);
    text-decoration-color: color-mix(in srgb, var(--lf-swagger-accent) 70%, transparent);
    text-underline-offset: 0.22em;
}

.swagger-ui .topbar {
    display: none;
}

.swagger-ui .scheme-container {
    margin: 0 0 0.75rem;
    padding: 0.75rem 0 0;
    background: transparent;
    box-shadow: none;
    color: var(--lf-swagger-text);
}

.swagger-ui .scheme-container .schemes,
.swagger-ui .scheme-container .auth-wrapper {
    border: 1px solid var(--lf-swagger-border);
    background: color-mix(in srgb, var(--lf-swagger-surface-strong) 88%, transparent);
    box-shadow: var(--lf-swagger-shadow-sm);
}

.swagger-ui .scheme-container .schemes {
    padding: 0.55rem 0.9rem;
}

.swagger-ui .scheme-container .auth-wrapper {
    padding: 0.35rem;
}

.swagger-ui .servers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    color: var(--lf-swagger-text);
}

.swagger-ui .servers > label,
.swagger-ui .servers-title {
    color: var(--lf-swagger-text);
    font-weight: 700;
}

.swagger-ui .servers select,
.swagger-ui .servers input {
    min-height: 2.5rem;
    border: 1px solid var(--lf-swagger-border-strong);
    border-radius: 0.65rem;
    background: var(--lf-swagger-surface-strong);
    color: var(--lf-swagger-text);
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--lf-swagger-surface) 70%, transparent);
}

.swagger-ui .servers select {
    padding: 0.5rem 2.2rem 0.5rem 0.75rem;
}

.swagger-ui .servers input {
    padding: 0.5rem 0.75rem;
}

.swagger-ui .servers select option {
    background: var(--lf-swagger-surface-strong);
    color: var(--lf-swagger-text);
}

.swagger-ui .servers select:focus,
.swagger-ui .servers input:focus {
    border-color: var(--lf-swagger-accent);
    outline: none;
    box-shadow: var(--lf-swagger-focus);
}

.swagger-ui .info {
    margin: 1rem 0 2rem;
}

/* The page owns the primary heading; retain Swagger's servers and description. */
.swagger-ui .info .title {
    display: none;
}

.swagger-ui .info .title {
    color: var(--lf-swagger-text);
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 700;
}

.swagger-ui .info p,
.swagger-ui .info li,
.swagger-ui .markdown p,
.swagger-ui .markdown li,
.swagger-ui .renderedMarkdown p,
.swagger-ui .renderedMarkdown li,
.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-external-docs-wrapper p,
.swagger-ui .response-col_description__inner p,
.swagger-ui .response-col_links,
.swagger-ui .responses-inner .markdown p,
.swagger-ui .responses-inner .renderedMarkdown p {
    color: var(--lf-swagger-muted);
    line-height: 1.8;
}

.swagger-ui .info .base-url {
    margin: 1rem 0 0;
    padding: 0.95rem 1rem;
    border: 1px solid var(--lf-swagger-border);
    background: color-mix(in srgb, var(--lf-swagger-surface-strong) 96%, transparent);
    box-shadow: var(--lf-swagger-shadow-sm);
}

.swagger-ui .info .base-url code,
.swagger-ui .info .base-url .url {
    font-family: var(--lf-swagger-font-mono);
    color: var(--lf-swagger-text);
}

.swagger-ui .opblock-tag-section {
    margin-bottom: 1.5rem;
}

.swagger-ui .opblock-tag {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--lf-swagger-border);
    color: var(--lf-swagger-text);
    font-size: clamp(1.45rem, 2.5vw, 2rem);
    letter-spacing: -0.03em;
    background: transparent;
}

.swagger-ui .opblock-tag:hover {
    background: color-mix(in srgb, var(--lf-swagger-accent) 10%, transparent);
}

.swagger-ui .opblock-tag small,
.swagger-ui .opblock-tag small div,
.swagger-ui .opblock .opblock-summary-description,
.swagger-ui .parameter__name,
.swagger-ui .parameter__type,
.swagger-ui .parameter__deprecated,
.swagger-ui .response-col_status,
.swagger-ui table thead tr td,
.swagger-ui table thead tr th,
.swagger-ui .tab li button.tablinks,
.swagger-ui .parameter__in,
.swagger-ui .responses-inner small,
.swagger-ui .model-hint {
    color: var(--lf-swagger-muted);
}

.swagger-ui .opblock {
    margin: 0 0 1rem;
    border-width: 1px;
    box-shadow: var(--lf-swagger-shadow-sm);
    overflow: hidden;
    backdrop-filter: blur(18px);
}

.swagger-ui .opblock,
.swagger-ui .models,
.swagger-ui .auth-container,
.swagger-ui .dialog-ux .modal-ux {
    background: color-mix(in srgb, var(--lf-swagger-surface) 96%, transparent);
}

.swagger-ui .opblock.opblock-post {
    background: linear-gradient(180deg, rgba(88, 197, 118, 0.1), color-mix(in srgb, var(--lf-swagger-surface) 96%, transparent));
}

.swagger-ui .opblock.opblock-put {
    background: linear-gradient(180deg, rgba(252, 161, 48, 0.1), color-mix(in srgb, var(--lf-swagger-surface) 96%, transparent));
}

.swagger-ui .opblock.opblock-patch {
    background: linear-gradient(180deg, rgba(80, 227, 194, 0.1), color-mix(in srgb, var(--lf-swagger-surface) 96%, transparent));
}

.swagger-ui .opblock.opblock-delete {
    background: linear-gradient(180deg, rgba(255, 107, 107, 0.1), color-mix(in srgb, var(--lf-swagger-surface) 96%, transparent));
}

.swagger-ui .opblock .opblock-summary {
    align-items: center;
}

.swagger-ui .opblock .opblock-summary-method {
    min-width: 5.5rem;
    font-weight: 700;
    box-shadow: none;
}

.swagger-ui .opblock .opblock-summary-path {
    color: var(--lf-swagger-text);
    font-family: var(--lf-swagger-font-mono);
    font-weight: 700;
}

.swagger-ui .opblock .opblock-summary-path__deprecated {
    color: var(--lf-swagger-muted);
}

.swagger-ui .opblock .opblock-section-header,
.swagger-ui .opblock .opblock-section-header h4,
.swagger-ui .opblock .opblock-title_normal,
.swagger-ui .model-title,
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5,
.swagger-ui .parameter__name,
.swagger-ui .prop-name {
    color: var(--lf-swagger-text);
}

.swagger-ui .opblock .opblock-section-header {
    background: color-mix(in srgb, var(--lf-swagger-surface-muted) 92%, transparent);
    box-shadow: none;
}

.swagger-ui .opblock .opblock-section-header .tab-header .tab-item:first-of-type::after {
    background: var(--lf-swagger-accent);
}

.swagger-ui .opblock-body,
.swagger-ui .parameters-container,
.swagger-ui .responses-wrapper {
    background: transparent;
}

.swagger-ui .opblock .opblock-body pre,
.swagger-ui .highlight-code,
.swagger-ui .microlight,
.swagger-ui .model-box,
.swagger-ui .model,
.swagger-ui textarea.curl {
    font-family: var(--lf-swagger-font-mono);
}

.swagger-ui .highlight-code,
.swagger-ui .microlight,
.swagger-ui .opblock-body pre,
.swagger-ui .model-box,
.swagger-ui textarea.curl {
}

.swagger-ui .highlight-code,
.swagger-ui .microlight,
.swagger-ui .opblock-body pre,
.swagger-ui .responses-table .highlight-code,
.swagger-ui .responses-table .microlight,
.swagger-ui textarea.curl,
.swagger-ui .model-box {
    border: 1px solid var(--lf-swagger-code-border);
    background: var(--lf-swagger-code-surface);
    color: var(--lf-swagger-code-text);
    box-shadow: var(--lf-swagger-shadow-md);
}

.swagger-ui .microlight,
.swagger-ui .highlight-code,
.swagger-ui .opblock-body pre,
.swagger-ui textarea.curl {
    padding: 1rem 1.1rem;
}

.swagger-ui .response-col_description__inner pre {
    background: transparent;
}

.swagger-ui .model-box,
.swagger-ui section.models,
.swagger-ui .model-container,
.swagger-ui .responses-table td,
.swagger-ui .responses-table th,
.swagger-ui .parameters-col_description,
.swagger-ui .parameters-col_name {
    border-color: var(--lf-swagger-border);
}

.swagger-ui .models,
.swagger-ui .auth-container,
.swagger-ui .dialog-ux .modal-ux {
    box-shadow: var(--lf-swagger-shadow-sm);
}

.swagger-ui .models h4,
.swagger-ui .models-control,
.swagger-ui .model-toggle:after,
.swagger-ui .expand-methods,
.swagger-ui .expand-operation,
.swagger-ui .opblock-control-arrow svg,
.swagger-ui .model-toggle {
    color: var(--lf-swagger-text);
    fill: currentColor;
}

.swagger-ui .models.is-open h4,
.swagger-ui .model-container,
.swagger-ui section.models {
    border-color: var(--lf-swagger-border);
}

.swagger-ui select,
.swagger-ui input[type="email"],
.swagger-ui input[type="file"],
.swagger-ui input[type="password"],
.swagger-ui input[type="search"],
.swagger-ui input[type="text"],
.swagger-ui textarea {
    min-height: 3rem;
    border: 1px solid var(--lf-swagger-border);
    background: var(--lf-swagger-surface-strong);
    color: var(--lf-swagger-text);
    font-family: var(--lf-swagger-font-sans);
    box-shadow: none;
}

.swagger-ui textarea {
    min-height: 8rem;
}

.swagger-ui input::placeholder,
.swagger-ui textarea::placeholder {
    color: var(--lf-swagger-muted);
}

.swagger-ui select:focus,
.swagger-ui input[type="email"]:focus,
.swagger-ui input[type="file"]:focus,
.swagger-ui input[type="password"]:focus,
.swagger-ui input[type="search"]:focus,
.swagger-ui input[type="text"]:focus,
.swagger-ui textarea:focus,
.swagger-ui .btn:focus,
.swagger-ui .btn.authorize:focus {
    outline: 0;
    border-color: var(--lf-swagger-accent);
    box-shadow: var(--lf-swagger-focus);
}

.swagger-ui .btn,
.swagger-ui .authorization__btn,
.swagger-ui .btn.authorize,
.swagger-ui .download-url-wrapper .select-label select {
}

.swagger-ui .btn {
    border-color: var(--lf-swagger-border);
    background: var(--lf-swagger-surface-strong);
    color: var(--lf-swagger-text);
    font-weight: 600;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.swagger-ui .btn:hover {
    border-color: var(--lf-swagger-accent);
    background: var(--lf-swagger-accent-soft);
    color: var(--lf-swagger-text);
}

.swagger-ui .btn.authorize,
.swagger-ui .btn.execute {
    border-color: var(--lf-swagger-accent);
    background: var(--lf-swagger-accent);
    color: var(--lf-swagger-dark);
    box-shadow: var(--lf-swagger-shadow-sm);
    font-weight: 700;
}

.swagger-ui .btn.authorize svg {
    fill: currentColor;
}

.swagger-ui .btn.authorize:hover,
.swagger-ui .btn.execute:hover {
    border-color: var(--lf-swagger-accent-hover);
    background: var(--lf-swagger-accent-hover);
    color: var(--lf-swagger-dark);
}

.swagger-ui .btn.try-out__btn,
.swagger-ui .btn.cancel {
    min-width: 7rem;
}

.swagger-ui .download-url-wrapper {
    gap: 0.75rem;
}

.swagger-ui .download-url-wrapper input[type="text"] {
    flex: 1 1 24rem;
}

.swagger-ui table tbody tr td,
.swagger-ui table tbody tr th {
    color: var(--lf-swagger-text);
    border-color: var(--lf-swagger-border);
}

.swagger-ui .responses-table tr,
.swagger-ui table thead tr th,
.swagger-ui table thead tr td {
    background: transparent;
}

.swagger-ui .responses-table.live-responses-table tr:nth-child(2n),
.swagger-ui .parameters tr:nth-child(2n) td {
    background: color-mix(in srgb, var(--lf-swagger-surface-muted) 45%, transparent);
}

.swagger-ui .response-control-media-type__accept-message,
.swagger-ui .response-col_links,
.swagger-ui .responses-inner .errors-wrapper .errors h4 {
    color: var(--lf-swagger-muted);
}

.swagger-ui .parameter__name.required span,
.swagger-ui .parameter__name.required:after {
    color: #ff8f70;
}

.swagger-ui .markdown code,
.swagger-ui .renderedMarkdown code,
.swagger-ui .response-col_description code,
.swagger-ui .opblock-description-wrapper code,
.swagger-ui td code,
.swagger-ui .prop code {
    padding: 0.18rem 0.42rem;
    border: 1px solid var(--lf-swagger-border);
    background: var(--lf-swagger-surface-muted);
    color: var(--lf-swagger-text);
    font-family: var(--lf-swagger-font-mono);
}

.swagger-ui .markdown pre,
.swagger-ui .renderedMarkdown pre {
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.swagger-ui .markdown blockquote,
.swagger-ui .renderedMarkdown blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.2rem;
    border-left: 4px solid var(--lf-swagger-accent);
    background: var(--lf-swagger-surface-muted);
    color: var(--lf-swagger-muted);
}

.swagger-ui .tab {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.swagger-ui .tab li {
    padding-right: 0;
}

.swagger-ui .tab li button.tablinks {
    padding: 0.6rem 0.95rem;
    border: 1px solid var(--lf-swagger-border);
    background: transparent;
}

.swagger-ui .tab li.active button.tablinks {
    border-color: var(--lf-swagger-accent);
    background: var(--lf-swagger-accent);
    color: var(--lf-swagger-dark);
}

.swagger-ui .copy-to-clipboard,
.swagger-ui .copy-to-clipboard button {
    background: transparent;
}

.swagger-ui .copy-to-clipboard button svg {
    fill: var(--lf-swagger-muted);
}

.swagger-ui .copy-to-clipboard button:hover svg {
    fill: var(--lf-swagger-text);
}

.swagger-ui .dialog-ux .modal-ux-header,
.swagger-ui .dialog-ux .modal-ux-content,
.swagger-ui .dialog-ux .modal-ux-footer {
    border-color: var(--lf-swagger-border);
    background: var(--lf-swagger-surface-strong);
}

.swagger-ui .dialog-ux .modal-ux-header h3,
.swagger-ui .dialog-ux .modal-ux-content h4,
.swagger-ui .dialog-ux .modal-ux-content p,
.swagger-ui .dialog-ux .modal-ux label,
.swagger-ui .servers > label,
.swagger-ui .servers-title,
.swagger-ui label {
    color: var(--lf-swagger-text);
}

.swagger-ui .servers select {
    color: var(--lf-swagger-text);
}

.swagger-ui .errors-wrapper {
    border-color: rgba(255, 143, 112, 0.28);
    background: rgba(255, 143, 112, 0.08);
}

.swagger-ui .responses-inner .errors-wrapper .error-wrapper {
    color: var(--lf-swagger-text);
}

@media (max-width: 767.98px) {
    .swagger-ui .wrapper {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .swagger-ui .info .title {
        font-size: 2.4rem;
    }

    .swagger-ui .opblock .opblock-summary {
        padding-right: 3rem;
    }
}
