@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

:root {
    --color-zinc-50: #fafafa;
    --color-zinc-200: #e4e4e7;
    --color-zinc-300: #d4d4d8;
    --color-zinc-400: #a1a1aa;
    --color-zinc-500: #71717a;
    --color-zinc-600: #52525b;
    --color-zinc-700: #3f3f46;
    --color-zinc-800: #27272a;
    --color-zinc-900: #18181b;
    --color-black: #000000;

    --color-yellow-500: #facc15;

    --color-lime-500: #84cc16;
    --color-lime-600: #65a30d;
    --color-lime-800-20: #3f621232;
    --color-lime-800-20-fill: #181d11;

    --color-blue-500: #3b82f6;
    --color-blue-600: #2563eb;
    --color-blue-800-20: #1e40af32;
    --color-blue-800-20-fill: #13172c;

    --color-amber-500: #f59e0b;
    --color-amber-600: #ca8a04;
    --color-amber-800-20: #854d0e32;
    --color-amber-800-20-fill: #251c13;

    --color-teal-500: #14b8a6;
    --color-teal-600: #0d9488;
    --color-teal-800-20: #115e5932;
    --color-teal-800-20-fill: #131c1d;

    --color-red-500: #ef4444;
    --color-red-600: #dc2626;
    --color-red-800-20: #991b1b32;
    --color-red-800-20-fill: #281414;
}

*::selection {
    background-color: var(--color-yellow-500);

    color: var(--color-zinc-900);
}

body {
    background-color: var(--color-zinc-900);
    background-image: url("bg.svg");
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
}

.swagger-ui {
    color: var(--color-zinc-400);
}

/* Wrapper */

.swagger-ui .wrapper {
    max-width: 1024px;

    padding: 0 32px;
}

/* Header */

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

/* Title */

.swagger-ui .info {
    margin: 32px 0 0;
}

.swagger-ui .info hgroup.main {
    margin-bottom: 16px;
}

.swagger-ui .info .renderedMarkdown p {
    margin: 0 0 16px;
}

.swagger-ui .info .title {
    color: var(--color-yellow-500);
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
}

.swagger-ui .info .title > span {
    display: none;
}

.swagger-ui .info li,
.swagger-ui .info p,
.swagger-ui .info table {
    color: var(--color-zinc-400);
    font-family: "Montserrat", sans-serif;
}

/* Filter */

.swagger-ui .filter .operation-filter-input {
    max-width: 100%;

    margin: 16px 0 16px;
    padding: 8px;

    border-color: var(--color-zinc-800);
    border-width: 1px;
    outline: none;

    background-color: var(--color-zinc-900);

    color: var(--color-zinc-50);
    font-family: "Montserrat", sans-serif;
}

.swagger-ui div:has(.filter-container) {
    position: sticky;
    top: -20px;
    z-index: 100;
}

.swagger-ui .filter .operation-filter-input:focus-visible {
    border-color: var(--color-zinc-400);
}

.swagger-ui .filter .operation-filter-input::placeholder {
    color: var(--color-zinc-500);
}

/* Filter – Not found */

.block.col-12.block-desktop.col-12-desktop > h3 {
    padding: 16px 0;

    color: var(--color-red-500);
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
}

/* Groups container */

.block.col-12.block-desktop.col-12-desktop {
    margin-top: 16px;
}

.block.col-12.block-desktop.col-12-desktop > div {
    display: grid;
    gap: 8px;
}

/* Clipboard */

.swagger-ui .copy-to-clipboard,
.swagger-ui .download-contents {
    background-color: var(--color-zinc-700);
}

/* Group */

.swagger-ui .opblock-tag {
    margin: 0;
    padding: 8px;

    border-radius: 4px;
    border: 1px solid transparent;

    color: var(--color-zinc-400);
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
}

.swagger-ui .opblock-tag:hover {
    border-color: var(--color-zinc-50);

    background-color: var(--color-zinc-900);

    color: var(--color-zinc-50);
}

.swagger-ui .opblock-tag-section.is-open .opblock-tag {
    position: sticky;
    top: 29px;
    z-index: 90;

    border-color: var(--color-yellow-500);

    background-color: var(--color-yellow-500);

    color: var(--color-zinc-900);
}

.swagger-ui .no-margin .operation-tag-content {
    display: grid;
    gap: 16px;

    padding: 16px 0 24px;
}

.swagger-ui .opblock {
    margin: 0;
}

.swagger-ui .expand-operation {
    display: flex;
    align-items: center;

    fill: var(--color-zinc-400);
}

.opblock-tag:hover .expand-operation {
    fill: var(--color-zinc-50);
}

.swagger-ui .opblock-tag-section.is-open .expand-operation {
    fill: var(--color-zinc-900);
}

/* All method */

.swagger-ui .opblock .opblock-summary-control {
    outline: none;
}

.swagger-ui textarea {
    background: var(--color-zinc-50);
}

.swagger-ui .opblock .opblock-summary {
    position: sticky;
    top: 76px;
    z-index: 80;

    padding: 5px 7px 5px 5px;
}

.swagger-ui .opblock .opblock-summary-method {
    color: var(--color-zinc-900);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 900;
}

.swagger-ui .opblock-description-wrapper p,
.swagger-ui .response-col_status,
.swagger-ui table thead tr td,
.swagger-ui .response-col_links,
.swagger-ui .response-control-media-type__title,
.swagger-ui .tab li,
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5,
.swagger-ui table thead tr th,
.swagger-ui .parameter__name {
    color: var(--color-zinc-400);
    font-family: "Montserrat", sans-serif;
}

.swagger-ui table thead tr th,
.swagger-ui .opblock table thead tr td {
    font-size: 14px;
}

.swagger-ui .response-controls {
    padding-top: 0;
}

.swagger-ui .opblock .response-control-media-type__title {
    margin-bottom: 8px;

    font-family: "Montserrat", sans-serif;
    font-size: 14px;
}

.swagger-ui .opblock-body pre.microlight {
    background-color: var(--color-black) !important;
}

.swagger-ui .opblock-body pre.microlight > code {
    white-space: inherit !important;
}

.swagger-ui .responses-inner {
    padding: 8px 16px 16px;
}

.swagger-ui select,
.swagger-ui .response-control-media-type--accept-controller select {
    border-color: var(--color-zinc-800);
    border-width: 1px;
    outline: none;

    background-color: var(--color-black);

    color: var(--color-zinc-400);
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
}

.swagger-ui .response-control-media-type--accept-controller select:focus {
    border-color: var(--color-zinc-400);
}

.swagger-ui .response-control-media-type__accept-message {
    color: var(--color-lime-500);
    font-family: "Montserrat", sans-serif;
}

.swagger-ui .opblock-description-wrapper,
.swagger-ui .opblock .opblock-section-header {
    margin: 0;
    padding: 8px 16px;
}

.swagger-ui .execute-wrapper {
    padding: 0 16px 16px;
}

.swagger-ui .opblock .opblock-section-header h4 {
    color: var(--color-zinc-50);
    font-family: "Montserrat", sans-serif;
}

.swagger-ui .btn-group .btn.try-out__btn {
    padding: 5px 23px;
}

.swagger-ui .btn.try-out__btn {
    border-color: var(--color-zinc-50);

    background-color: var(--color-zinc-50);

    color: var(--color-zinc-900);
    font-family: "Montserrat", sans-serif;
}

.swagger-ui .btn.cancel {
    border-color: var(--color-red-600);

    background-color: var(--color-red-600);
    color: var(--color-zinc-50);
    font-family: "Montserrat", sans-serif;
}

.swagger-ui .parameter__name,
.swagger-ui .parameter__name.required {
    margin-top: 14px;

    color: var(--color-zinc-50);
    font-weight: 900;
}

.swagger-ui .parameter__name.required > span {
    color: var(--color-red-600);
    font-weight: 400;
}

.swagger-ui .parameter__name.required:after {
    color: var(--color-red-600);
    font-family: "Montserrat", sans-serif;
}

.swagger-ui .parameter__type {
    color: var(--color-zinc-400);
}

.swagger-ui .prop-format {
    color: var(--color-zinc-200);
}

.swagger-ui .parameter__in {
    color: var(--color-zinc-600);
    font-weight: 300;
}

.swagger-ui .errors-wrapper {
    border-color: var(--color-red-600);

    background-color: var(--color-red-800-20);

    color: var(--color-red-600);
    font-family: "Montserrat", sans-serif;
}

.swagger-ui .parameters-col_description input {
    background-color: var(--color-zinc-50);

    font-family: "Montserrat", sans-serif;
}

.swagger-ui .parameters-col_description input:not([type="checkbox"]) {
    height: 36px;
}

.swagger-ui .parameter__empty_value_toggle {
    display: flex;
}

.swagger-ui label {
    color: var(--color-zinc-400);
    font-family: "Montserrat", sans-serif;
}

.swagger-ui .opblock .opblock-summary-path-description-wrapper {
    display: flex;
    align-items: baseline;
    gap: 2px 8px;
}

.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-description {
    font-family: "Montserrat", sans-serif;
}

.swagger-ui .opblock .opblock-summary-path {
    font-size: 16px;
    font-weight: 700;
}
.swagger-ui .opblock .opblock-summary-description {
    font-size: 14px;
    font-weight: 400;
}

.swagger-ui .opblock button.opblock-control-arrow {
    display: flex;
    align-items: center;
}

.swagger-ui .btn {
    font-family: "Montserrat", sans-serif;
}

.swagger-ui .opblock .opblock-summary {
    border-radius: 4px;
}

.swagger-ui .opblock.is-open .opblock-summary {
    border-radius: 4px 4px 0 0;
}

.swagger-ui .btn-group .btn:first-child,
.swagger-ui .btn-group .btn:last-child {
    border-radius: 4px;
}

.swagger-ui .parameters-col_description input {
    max-width: 100%;
}

.swagger-ui .table-container {
    padding: 16px;
}

.swagger-ui .execute-wrapper,
.swagger-ui .btn-group {
    padding: 32px 16px;

    gap: 8px;
}

.swagger-ui .execute-wrapper .btn,
.swagger-ui .btn-group .btn {
    padding: 8px 32px;
}

.swagger-ui .try-out__btn {
    margin-left: 0;
}

.swagger-ui .authorization__btn .unlocked {
    fill: var(--color-zinc-50);
}

/* Post */

.swagger-ui .opblock.opblock-post {
    border-color: var(--color-lime-500);

    background-color: var(--color-lime-800-20);
}

.swagger-ui .opblock.opblock-post .opblock-summary {
    border-color: var(--color-lime-500);

    background-color: var(--color-lime-800-20-fill);
}

.swagger-ui .opblock.opblock-post .opblock-summary-method,
.swagger-ui .opblock.opblock-post .btn.execute {
    border-color: var(--color-lime-500);

    background-color: var(--color-lime-500);

    color: var(--color-zinc-900);
}

.swagger-ui .opblock.opblock-post .btn.btn-clear.opblock-control__btn {
    border-color: var(--color-lime-500);

    background-color: var(--color-lime-800-20);

    color: var(--color-lime-500);
}

.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after {
    background-color: var(--color-lime-500);
}

.swagger-ui .opblock.opblock-post .opblock-section-header {
    background-color: var(--color-lime-800-20);
}

.swagger-ui .opblock.opblock-post .opblock-summary-path,
.swagger-ui .opblock.opblock-post .opblock-summary-description {
    color: var(--color-lime-600);
}

.swagger-ui .opblock.opblock-post .opblock-control-arrow svg {
    fill: var(--color-lime-500);
}

.swagger-ui .opblock.opblock-post .responses-inner h4 {
    color: var(--color-lime-500);
}

.swagger-ui .opblock.opblock-post .loading-container .loading:before {
    border: 2px solid var(--color-lime-500);
    border-top-color: var(--color-lime-800-20);
}

.swagger-ui .opblock.opblock-post .loading-container .loading:after {
    color: var(--color-lime-500);
}

/* Get */

.swagger-ui .opblock.opblock-get {
    border-color: var(--color-blue-500);

    background-color: var(--color-blue-800-20);
}

.swagger-ui .opblock.opblock-get .opblock-summary {
    border-color: var(--color-blue-500);

    background-color: var(--color-blue-800-20-fill);
}

.swagger-ui .opblock.opblock-get .opblock-summary-method,
.swagger-ui .opblock.opblock-get .btn.execute {
    border-color: var(--color-blue-500);

    background-color: var(--color-blue-500);

    color: var(--color-zinc-900);
}

.swagger-ui .opblock.opblock-get .btn.btn-clear.opblock-control__btn {
    border-color: var(--color-blue-500);

    background-color: var(--color-blue-800-20);

    color: var(--color-blue-500);
}

.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after {
    background-color: var(--color-blue-500);
}

.swagger-ui .opblock.opblock-get .opblock-section-header {
    background-color: var(--color-blue-800-20);
}

.swagger-ui .opblock.opblock-get .opblock-summary-path,
.swagger-ui .opblock.opblock-get .opblock-summary-description {
    color: var(--color-blue-600);
}

.swagger-ui .opblock.opblock-get .opblock-control-arrow svg {
    fill: var(--color-blue-500);
}

.swagger-ui .opblock.opblock-get .responses-inner h4 {
    color: var(--color-blue-500);
}

.swagger-ui .opblock.opblock-get .loading-container .loading:before {
    border: 2px solid var(--color-blue-500);
    border-top-color: var(--color-blue-800-20);
}

.swagger-ui .opblock.opblock-get .loading-container .loading:after {
    color: var(--color-blue-500);
}

/* Put */

.swagger-ui .opblock.opblock-put {
    border-color: var(--color-amber-500);

    background-color: var(--color-amber-800-20);
}

.swagger-ui .opblock.opblock-put .opblock-summary {
    border-color: var(--color-amber-500);

    background-color: var(--color-amber-800-20-fill);
}

.swagger-ui .opblock.opblock-put .opblock-summary-method,
.swagger-ui .opblock.opblock-put .btn.execute {
    border-color: var(--color-amber-500);

    background-color: var(--color-amber-500);

    color: var(--color-zinc-900);
}

.swagger-ui .opblock.opblock-put .btn.btn-clear.opblock-control__btn {
    border-color: var(--color-amber-500);

    background-color: var(--color-amber-800-20);

    color: var(--color-amber-500);
}

.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after {
    background-color: var(--color-amber-500);
}

.swagger-ui .opblock.opblock-put .opblock-section-header {
    background-color: var(--color-amber-800-20);
}

.swagger-ui .opblock.opblock-put .opblock-summary-path,
.swagger-ui .opblock.opblock-put .opblock-summary-description {
    color: var(--color-amber-600);
}

.swagger-ui .opblock.opblock-put .opblock-control-arrow svg {
    fill: var(--color-amber-500);
}

.swagger-ui .opblock.opblock-put .responses-inner h4 {
    color: var(--color-amber-500);
}

.swagger-ui .opblock.opblock-put .loading-container .loading:before {
    border: 2px solid var(--color-amber-500);
    border-top-color: var(--color-amber-800-20);
}

.swagger-ui .opblock.opblock-put .loading-container .loading:after {
    color: var(--color-amber-500);
}

/* Patch */

.swagger-ui .opblock.opblock-patch {
    border-color: var(--color-teal-500);

    background-color: var(--color-teal-800-20);
}

.swagger-ui .opblock.opblock-patch .opblock-summary {
    border-color: var(--color-teal-500);

    background-color: var(--color-teal-800-20-fill);
}

.swagger-ui .opblock.opblock-patch .opblock-summary-method,
.swagger-ui .opblock.opblock-patch .btn.execute {
    border-color: var(--color-teal-500);

    background-color: var(--color-teal-500);

    color: var(--color-zinc-900);
}

.swagger-ui .opblock.opblock-patch .btn.btn-clear.opblock-control__btn {
    border-color: var(--color-teal-500);

    background-color: var(--color-teal-800-20);

    color: var(--color-teal-500);
}

.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after {
    background-color: var(--color-teal-500);
}

.swagger-ui .opblock.opblock-patch .opblock-section-header {
    background-color: var(--color-teal-800-20);
}

.swagger-ui .opblock.opblock-patch .opblock-summary-path,
.swagger-ui .opblock.opblock-patch .opblock-summary-description {
    color: var(--color-teal-600);
}

.swagger-ui .opblock.opblock-patch .opblock-control-arrow svg {
    fill: var(--color-teal-500);
}

.swagger-ui .opblock.opblock-patch .responses-inner h4 {
    color: var(--color-teal-500);
}

.swagger-ui .opblock.opblock-patch .loading-container .loading:before {
    border: 2px solid var(--color-teal-500);
    border-top-color: var(--color-teal-800-20);
}

.swagger-ui .opblock.opblock-patch .loading-container .loading:after {
    color: var(--color-teal-500);
}

/* Delete */

.swagger-ui .opblock.opblock-delete {
    border-color: var(--color-red-500);

    background-color: var(--color-red-800-20);
}

.swagger-ui .opblock.opblock-delete .opblock-summary {
    border-color: var(--color-red-500);

    background-color: var(--color-red-800-20-fill);
}

.swagger-ui .opblock.opblock-delete .opblock-summary-method,
.swagger-ui .opblock.opblock-delete .btn.execute {
    border-color: var(--color-red-500);

    background-color: var(--color-red-500);

    color: var(--color-zinc-900);
}

.swagger-ui .opblock.opblock-delete .btn.btn-clear.opblock-control__btn {
    border-color: var(--color-red-500);

    background-color: var(--color-red-800-20);

    color: var(--color-red-500);
}

.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after {
    background-color: var(--color-red-500);
}

.swagger-ui .opblock.opblock-delete .opblock-section-header {
    background-color: var(--color-red-800-20);
}

.swagger-ui .opblock.opblock-delete .opblock-summary-path,
.swagger-ui .opblock.opblock-delete .opblock-summary-description {
    color: var(--color-red-600);
}

.swagger-ui .opblock.opblock-delete .opblock-control-arrow svg {
    fill: var(--color-red-500);
}

.swagger-ui .opblock.opblock-delete .responses-inner h4 {
    color: var(--color-red-500);
}

.swagger-ui .opblock.opblock-delete .loading-container .loading:before {
    border: 2px solid var(--color-red-500);
    border-top-color: var(--color-red-800-20);
}

.swagger-ui .opblock.opblock-delete .loading-container .loading:after {
    color: var(--color-red-500);
}

/* Schema */

.swagger-ui .model-box {
    background-color: var(--color-black);

    word-break: break-all;
}
.swagger-ui .model {
    color: var(--color-zinc-400);
}

.swagger-ui .model-title {
    color: var(--color-zinc-50);
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
}
