:root {
    --sidebar-inner-padding: 1rem;
    --sidebar-active-bleed: calc(var(--sidebar-inner-padding) + 1.5rem);
    --bg: #ffffff;
    --surface: #ffffff;
    --surface-subtle: #f0f3f6;
    --text: #1f2933;
    --text-muted: #6b7785;
    --border: #d7dee5;
    --brand-dark: #1f2933;
    --brand-accent: #5f3dc4;
    --link: #2f5aa8;
    --link-hover: #24498a;
    --burger-bg: #2a333d;
    --burger-border: #39414a;
    --burger-line: #ffffff;
    --nav-item-text: #2b3642;
    --nav-group-title: #5f6b78;
    --nav-group-border: #d5dde6;
    --nav-hover: #e6ecf2;
    --nav-active-bg: #ffffff;
    --nav-active-text: #1a2430;
    --topbar-bg: #1f2933;
    --topbar-border: #171f27;
    --topbar-text: #ffffff;
    --topbar-control-bg: rgba(255, 255, 255, 0.06);
    --topbar-control-border: rgba(255, 255, 255, 0.18);
    --topbar-control-text: rgba(255, 255, 255, 0.9);
    --topbar-control-hover: rgba(255, 255, 255, 0.12);
    --topbar-control-active-bg: #ffffff;
    --topbar-control-active-text: #1f2933;
    --content-heading: #202a36;
    --content-text: #303d4a;
    --blockquote-bg: #f2f0ff;
    --blockquote-text: #39485a;
    --pre-bg: #f8fafc;
    --pre-border: #d8dee6;
    --inline-code-text: #13365f;
    --inline-code-bg: #eaf1fb;
    --inline-code-border: #cddbee;
    --copy-btn-bg: #ffffff;
    --copy-btn-border: #bcc8d8;
    --copy-btn-text: #27364a;
    --copy-btn-hover-bg: #eef3fa;
    --table-head-bg: #f2f5f8;
    --overlay-bg: rgba(23, 31, 39, 0.45);
    --callout-warning-border: #d59f3a;
    --callout-warning-bg: color-mix(in srgb, #fff5e1 78%, var(--surface) 22%);
    --callout-success-border: #3ea66b;
    --callout-success-bg: color-mix(in srgb, #e8f9ef 78%, var(--surface) 22%);
    --callout-info-border: #4a7adf;
    --callout-info-bg: color-mix(in srgb, #ebf3ff 78%, var(--surface) 22%);
    --callout-danger-border: #cc4e4e;
    --callout-danger-bg: color-mix(in srgb, #ffecec 78%, var(--surface) 22%);
    --callout-accent-border: #6d62d8;
    --callout-accent-bg: color-mix(in srgb, #efecff 78%, var(--surface) 22%);
}

html[data-theme="dark"] {
    color-scheme: dark;
    --bg: #11151b;
    --surface: #151b23;
    --surface-subtle: #171f28;
    --text: #dbe4f0;
    --text-muted: #8fa0b7;
    --border: #2b3747;
    --brand-dark: #0f141a;
    --brand-accent: #8f7cff;
    --link: #8fb0ff;
    --link-hover: #b6ccff;
    --burger-bg: #1a2230;
    --burger-border: #2f3c4f;
    --burger-line: #dce6f7;
    --nav-item-text: #c8d4e8;
    --nav-group-title: #93a6be;
    --nav-group-border: #344357;
    --nav-hover: #232f3e;
    --nav-active-bg: #202b39;
    --nav-active-text: #e6edf7;
    --topbar-bg: #0c1117;
    --topbar-border: #1f2a3a;
    --topbar-text: #f2f6ff;
    --topbar-control-bg: rgba(143, 163, 192, 0.14);
    --topbar-control-border: rgba(165, 183, 208, 0.26);
    --topbar-control-text: #dbe7ff;
    --topbar-control-hover: rgba(165, 183, 208, 0.24);
    --topbar-control-active-bg: #dbe7ff;
    --topbar-control-active-text: #122033;
    --content-heading: #edf4ff;
    --content-text: #c9d7e8;
    --blockquote-bg: #425169;
    --blockquote-text: #d0dceb;
    --pre-bg: #0f141b;
    --pre-border: #2a384a;
    --inline-code-text: #c4dcff;
    --inline-code-bg: #1d2a3b;
    --inline-code-border: #2e4462;
    --copy-btn-bg: #1a2533;
    --copy-btn-border: #33475f;
    --copy-btn-text: #d2e2f7;
    --copy-btn-hover-bg: #25364b;
    --table-head-bg: #1f2a38;
    --overlay-bg: rgba(5, 8, 12, 0.62);
    --callout-warning-border: #d3ab58;
    --callout-warning-bg: #2d2617;
    --callout-success-border: #48b37c;
    --callout-success-bg: #17281f;
    --callout-info-border: #6f99ef;
    --callout-info-bg: #162233;
    --callout-danger-border: #d26666;
    --callout-danger-bg: #2f1a1d;
    --callout-accent-border: #8f7cff;
    --callout-accent-bg: #241f38;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    font-family: "Source Sans 3", "Segoe UI", sans-serif;
    color: var(--text);
    background: var(--bg);
}

.docs-layout {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 18.25rem 1fr;
}

.docs-burger {
    position: fixed;
    top: 0.6875rem;
    left: 0.75rem;
    z-index: 1100;
    width: 2.5rem;
    height: 2.5rem;
    display: none;
    border: 0.0625rem solid var(--burger-border);
    border-radius: 0.375rem;
    background: var(--burger-bg);
    cursor: pointer;
}

.docs-burger span {
    display: block;
    width: 1.125rem;
    height: 0.125rem;
    margin: 0.25rem auto;
    border-radius: 0.125rem;
    background: var(--burger-line);
}

.docs-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    background: var(--surface-subtle);
}

.docs-sidebar__inner {
    padding: 1.125rem var(--sidebar-inner-padding) 1.75rem;
}

.docs-brand {
    display: block;
    text-decoration: none;
    padding: 0.125rem 0.25rem;
    margin-bottom: 0.5rem;
    max-width: 100%;
    text-align: center;
}

.docs-brand__logo {
    display: block;
    width: 11.25rem;
    height: 6.625rem;
    max-width: calc(100% - 0.5rem);
    object-fit: contain;
    object-position: center;
    margin: -30px auto 0;
}

.docs-nav,
.docs-toc {
    margin-top: 0.625rem;
}

.docs-sidebar-controls {
    display: none;
}

.docs-nav__label {
    margin: 0 0 0.5rem;
    font-size: 0.73rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: var(--text-muted);
}

.docs-nav__list,
.docs-toc__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.docs-nav__link,
.docs-toc__link {
    display: block;
    text-decoration: none;
    color: var(--nav-item-text);
    border-radius: 0.25rem;
    transition: background 0.16s ease, color 0.16s ease;
}

.docs-nav__link {
    font-size: 0.95rem;
    font-weight: 600;
    padding: 0.4375rem 0.625rem;
    margin-bottom: 0.125rem;
}

.docs-nav > .docs-nav__list > .docs-nav__group {
    margin-right: -1.25rem;
}

.docs-nav__group-title {
    flex: 1;
    display: flex;
    align-items: center;
    font-family: inherit;
    line-height: inherit;
    text-decoration: none;
    border: 0;
    background: transparent;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: normal;
    color: var(--nav-item-text);
    text-align: left;
    padding: 0.4375rem 0.625rem;
    min-width: 0;
}

.docs-nav__group-title--toggle {
    justify-content: space-between;
    cursor: pointer;
}

.docs-nav__group-title--leaf {
    cursor: default;
}

.docs-nav__group-title[href] {
    cursor: pointer;
}

.docs-nav__group-title[href]:hover {
    color: var(--text);
}

.docs-nav__group-title[href]:focus-visible {
    outline: 0.125rem solid color-mix(in srgb, var(--brand-accent) 55%, transparent);
    outline-offset: 0.0625rem;
}

.docs-nav__group-title--toggle:focus-visible {
    outline: 0.125rem solid color-mix(in srgb, var(--brand-accent) 55%, transparent);
    outline-offset: 0.0625rem;
}

.docs-nav__group-head {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.docs-nav__group-title-text {
    min-width: 0;
}

.docs-nav__group-toggle {
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0.25rem;
    background: transparent;
    color: var(--nav-group-title);
    cursor: pointer;
}

.docs-nav__group-toggle:hover {
    color: var(--text);
    background: var(--nav-hover);
}

.docs-nav__group-toggle:focus-visible {
    outline: 0.125rem solid color-mix(in srgb, var(--brand-accent) 55%, transparent);
    outline-offset: 0.0625rem;
}

.docs-nav__group-arrow {
    width: 0.5rem;
    height: 0.5rem;
    border-right: 0.125rem solid currentColor;
    border-bottom: 0.125rem solid currentColor;
    transform: rotate(45deg);
    left: -20px;
    position: relative;
    transition: transform 0.15s ease;
}

.docs-nav__group-toggle[aria-expanded="true"] .docs-nav__group-arrow {
    transform: rotate(225deg);
}

.docs-nav__group-title--toggle[aria-expanded="true"] .docs-nav__group-arrow {
    transform: rotate(225deg);
}

.docs-nav__group-title.is-active {
    color: var(--nav-active-text);
    background: var(--nav-active-bg);
    position: relative;
    margin-right: calc(-1 * var(--sidebar-active-bleed));
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.docs-nav__group-title.is-active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.375rem;
    bottom: 0.375rem;
    width: 0.1875rem;
    border-radius: 0.125rem;
    background: var(--brand-accent);
}

.docs-nav__group-children > .docs-nav__list {
    padding-left: 0.75rem;
    border-left: 0.0625rem solid var(--nav-group-border);
    margin-left: 0.625rem;
}

.docs-nav__group-children {
    overflow: hidden;
}

.docs-nav__link:hover,
.docs-toc__link:hover {
    background: var(--nav-hover);
}

.docs-nav__link.is-active,
.docs-toc__link.is-active {
    color: var(--nav-active-text);
    background: var(--nav-active-bg);
    position: relative;
    margin-right: calc(-1 * var(--sidebar-active-bleed));
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.docs-nav__link.is-active::before,
.docs-toc__link.is-active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.375rem;
    bottom: 0.375rem;
    width: 0.1875rem;
    border-radius: 0.125rem;
    background: var(--brand-accent);
}

.docs-nav__empty {
    padding: 0.5rem 0.125rem;
    color: var(--text-muted);
    font-size: 0.88rem;
}

.docs-toc {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 0.0625rem solid var(--border);
}

.docs-toc__link {
    font-size: 0.84rem;
    padding: 0.3125rem 0.625rem;
    margin-bottom: 0.0625rem;
}

.docs-toc__link[data-depth="3"] {
    padding-left: 1.375rem;
    font-size: 0.8rem;
}

.docs-toc__link[data-depth="4"] {
    padding-left: 2.125rem;
    font-size: 0.78rem;
}

.docs-toc__link[data-depth="5"] {
    padding-left: 2.875rem;
    font-size: 0.76rem;
}

.docs-toc__link[data-depth="6"] {
    padding-left: 3.625rem;
    font-size: 0.74rem;
}

.docs-main {
    min-width: 0;
    background: var(--surface);
}

.docs-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    min-height: 4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.875rem;
    padding: 0.5rem clamp(1.125rem, 4vw, 2.75rem);
    background: var(--topbar-bg);
    border-bottom: 0.0625rem solid var(--topbar-border);
}

.docs-topbar__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1875rem;
}

.docs-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.375rem;
    min-width: 0;
    min-height: 1.75rem;
    font-size: 0.76rem;
    color: rgba(255, 255, 255, 0.74);
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: thin;
}

.docs-breadcrumbs__link {
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.docs-breadcrumbs__link:hover {
    color: var(--topbar-text);
    text-decoration: underline;
}

.docs-breadcrumbs__sep {
    opacity: 0.55;
}

.docs-breadcrumbs__current {
    color: var(--topbar-text);
    white-space: nowrap;
}

.docs-breadcrumbs__plain {
    white-space: nowrap;
}

.docs-breadcrumbs .is-disabled {
    opacity: 0.55;
    color: color-mix(in srgb, var(--topbar-text) 72%, transparent);
    text-decoration: none;
    cursor: default;
}

.docs-breadcrumbs__home {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin-top: -0.125rem;
}

.docs-breadcrumbs__home svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

.docs-breadcrumbs__home img {
    width: 1rem;
    height: 1rem;
    display: block;
    filter: brightness(0) invert(1);
}

.docs-breadcrumbs__versions {
    display: inline-flex;
    align-items: center;
    margin-left: 0.25rem;
}

.docs-breadcrumbs__versions-select {
    border: 0.0625rem solid var(--topbar-control-border);
    border-radius: 0.35rem;
    background: var(--topbar-control-bg);
    color: var(--topbar-control-text);
    font-size: 0.75rem;
    line-height: 1.2;
    min-height: 1.65rem;
    padding: 0.125rem 1.5rem 0.125rem 0.5rem;
    max-width: 11rem;
}

.docs-breadcrumbs__versions-select:focus-visible {
    outline: 0.125rem solid color-mix(in srgb, var(--brand-accent) 55%, transparent);
    outline-offset: 0.0625rem;
}

.docs-topbar__title {
    margin: 0;
    color: var(--topbar-text);
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.docs-topbar__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
}

.docs-topbar__app-link {
    min-height: 2rem;
    color: var(--topbar-control-text);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 0.6rem 2rem !important;
}

.docs-topbar__app-link:hover {
    background: var(--topbar-control-hover);
    color: var(--topbar-text);
}

.docs-topbar__app-link:focus-visible {
    outline: 0.125rem solid color-mix(in srgb, var(--brand-accent) 55%, transparent);
    outline-offset: 0.0625rem;
}

.visually-hidden {
    position: absolute;
    width: 0.0625rem;
    height: 0.0625rem;
    padding: 0;
    margin: -0.0625rem;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.docs-search {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.3125rem;
    border: 0.0625rem solid var(--topbar-control-border);
    border-radius: 62.4375rem;
    background: var(--topbar-control-bg);
    width: 2.375rem;
    overflow: hidden;
    transition: width 0.22s ease, background-color 0.16s ease, border-color 0.16s ease;
}

.docs-search.is-open,
.docs-search:focus-within {
    width: 18.25rem;
}

.docs-search__field {
    width: 0;
    opacity: 0;
    overflow: hidden;
    transition: width 0.2s ease, opacity 0.16s ease;
    min-width: 0;
}

.docs-search.is-open .docs-search__field,
.docs-search:focus-within .docs-search__field {
    width: 100%;
    opacity: 1;
}

.docs-search__input {
    width: 100%;
    height: 1.75rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--topbar-control-text);
    padding: 0 0.5rem 0 0.375rem;
    font-size: 0.82rem;
    min-width: 0;
}

.docs-search__input::placeholder {
    color: color-mix(in srgb, var(--topbar-control-text) 74%, transparent);
}

.docs-search__input:focus-visible {
    outline: none;
}

.docs-search__toggle {
    border: 0;
    background: transparent;
    color: var(--topbar-control-text);
    border-radius: 62.4375rem;
    height: 1.75rem;
    min-width: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: 0 0 1.75rem;
    transition: background-color 0.16s ease, color 0.16s ease;
    margin-left: -5px;
}

.docs-search__toggle:hover {
    background: var(--topbar-control-hover);
}

.docs-search:focus-within {
    outline: 0.125rem solid rgba(255, 255, 255, 0.65);
    outline-offset: 0.0625rem;
}

.docs-theme {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.3125rem;
    border: 0.0625rem solid var(--topbar-control-border);
    border-radius: 62.4375rem;
    background: var(--topbar-control-bg);
}

.docs-theme__btn {
    border: 0.0625rem solid transparent;
    background: transparent;
    color: var(--topbar-control-text);
    border-radius: 62.4375rem;
    height: 1.75rem;
    min-width: 1.75rem;
    padding: 0 0.5rem;
    font-size: 0.72rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.16s ease;
}

.docs-theme__btn:hover {
    background: var(--topbar-control-hover);
}

.docs-theme__btn > span[aria-hidden="true"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    font-size: 0.95rem;
    line-height: 1;
}

.docs-theme__btn:focus-visible {
    outline: 0.125rem solid rgba(255, 255, 255, 0.65);
    outline-offset: 0.0625rem;
}

.docs-theme__btn.is-active {
    background: var(--topbar-control-active-bg);
    color: var(--topbar-control-active-text);
}

.docs-lang {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem;
    border: 0.0625rem solid var(--topbar-control-border);
    border-radius: 62.4375rem;
    background: var(--topbar-control-bg);
}

.docs-lang__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.375rem;
    height: 1.75rem;
    padding: 0 0.625rem;
    border-radius: 62.4375rem;
    color: var(--topbar-control-text);
    text-decoration: none;
    font-size: 0.77rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    border: 0.0625rem solid transparent;
    transition: all 0.16s ease;
}

.docs-lang__link:hover {
    background: var(--topbar-control-hover);
    color: var(--topbar-text);
}

.docs-lang__link:focus-visible,
.docs-theme__btn:focus-visible {
    outline: 0.125rem solid rgba(255, 255, 255, 0.65);
    outline-offset: 0.0625rem;
}

.docs-lang__link.is-active {
    background: var(--topbar-control-active-bg);
    color: var(--topbar-control-active-text);
    border-color: var(--topbar-control-active-bg);
}

.docs-content {
    width: 100%;
    max-width: none;
    margin: 0;
    min-height: calc(100vh - 4rem);
    padding: clamp(1.125rem, 3vw, 2.125rem) clamp(1.125rem, 4vw, 2.75rem);
    border: 0;
    border-radius: 0;
    background: var(--nav-active-bg);
}

.docs-content h1,
.docs-content h2,
.docs-content h3,
.docs-content h4 {
    color: var(--content-heading);
    line-height: 1.25;
    scroll-margin-top: 5.25rem;
}

.docs-content h1 {
    margin-top: 0;
    margin-bottom: 0.85rem;
    font-size: clamp(1.85rem, 3.8vw, 2.3rem);
    font-weight: 700;
}

.docs-content h1:first-of-type {
    display: none;
}

.docs-content h2 {
    margin-top: 0.625rem;
    margin-bottom: 0.65rem;
    font-size: clamp(1.45rem, 2.8vw, 1.72rem);
    font-weight: 700;
}

.docs-content h3 {
    margin-top: 0.625rem;
    margin-bottom: 0.45rem;
    font-size: clamp(1.16rem, 2.2vw, 1.3rem);
    font-weight: 700;
}

.docs-content p,
.docs-content li {
    color: var(--content-text);
    font-size: 1.03rem;
    line-height: 1.66;
}

.docs-content a {
    color: var(--link);
    text-decoration: none;
}

.docs-content a:hover {
    color: var(--link-hover);
    border-bottom-color: color-mix(in srgb, var(--link-hover) 62%, transparent);
}

.docs-content ul,
.docs-content ol {
    margin: 0.625rem 0;
    padding-left: 1.35rem;
}

.docs-content img {
    display: inline-block;
    max-width: 100%;
    width: auto;
    height: auto;
}

.docs-callout, .docs-content blockquote{
    margin: 0.625rem 0;
    border: 0.0625rem solid var(--border);
    border-radius: 0.5rem;
    padding: 0.625rem 0.75rem;
    display: flex;
    background:
        color-mix(in srgb, var(--surface) 88%, var(--brand-accent) 12%);
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
}
.docs-content blockquote{
    padding-left: 3rem;
    position: relative;
    border-left: 0.25rem solid var(--brand-accent);
}
.docs-content blockquote::before {
    content: "“";
    position: absolute;
    left: 0.6rem;
    top: 0.2rem;
    font-size: 5rem;
    line-height: 1;
    color: var(--brand-accent);
    opacity: 0.6;
}

.docs-callout__header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.55rem;
}

.docs-callout__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
}

.docs-callout__subtitle {
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--content-heading);
}
.docs-callout__content {
    /*display: flex;*/
    flex-direction: row;
    gap: 0.5rem;
    flex: 1;
}

.docs-callout__content > :first-child {
    margin-top: 0;
}

.docs-callout__content > :last-child {
    margin-bottom: 0;
}

.docs-spoiler {
    width: 100%;
    margin-top: 0.25rem;
}

.docs-spoiler__summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--content-heading);
    list-style: none;
    padding-left: 0.25rem;
}

.docs-spoiler__summary::-webkit-details-marker {
    display: none;
}

.docs-spoiler__summary::before {
    content: "▸";
    display: inline-block;
    margin-right: 0.375rem;
    transition: transform 0.16s ease;
}

.docs-spoiler[open] .docs-spoiler__summary::before {
    transform: rotate(90deg);
}

.docs-spoiler__content {
    margin-top: 0.5rem;
    padding-left: 0.25rem;
}

.docs-callout--warning {
    border-color: var(--callout-warning-border);
    background: var(--callout-warning-bg);
}

.docs-callout--success {
    border-color: var(--callout-success-border);
    background: var(--callout-success-bg);
}

.docs-callout--info,
.docs-callout--note {
    border-color: var(--callout-info-border);
    background: var(--callout-info-bg);
}

.docs-callout--danger,
.docs-callout--error {
    border-color: var(--callout-danger-border);
    background: var(--callout-danger-bg);
}

.docs-callout--tip,
.docs-callout--important,
.docs-callout--question,
.docs-callout--example {
    border-color: var(--callout-accent-border);
    background: var(--callout-accent-bg);
}

.docs-columns {
    display: block;
    margin: 1.1rem 0;
}

.docs-columns__row {
    display: grid;
    grid-template-columns: repeat(var(--docs-columns-count, 2), minmax(0, 1fr));
    gap: 0;
}

.docs-columns__col {
    min-width: 0;
    padding: 0.8rem 0.9rem;
}

.docs-columns--bordered {
    border: 0.0625rem solid var(--border);
    border-radius: 0.5rem;
    overflow: hidden;
    /*background: color-mix(in srgb, var(--surface) 92%, var(--surface-subtle) 8%);*/
}

.docs-columns--bordered .docs-columns__row + .docs-columns__row {
    border-top: 0.0625rem solid var(--border);
}

.docs-columns--bordered .docs-columns__col + .docs-columns__col {
    border-left: 0.0625rem solid var(--border);
}

.docs-columns--zebra .docs-columns__row:nth-child(odd) {
    background: color-mix(in srgb, var(--surface) 5%, var(--surface-subtle) 95%);
}

.docs-columns--zebra .docs-columns__row:nth-child(even) {
    background: color-mix(in srgb, var(--surface) 95%, var(--surface-subtle) 5%);
}

.docs-columns__row--title {
    font-weight: 700;
}

.docs-columns__col > :first-child {
    margin-top: 0;
}

.docs-columns__col > :last-child {
    margin-bottom: 0;
}

.docs-content pre {
    position: relative;
    overflow: auto;
    white-space: pre !important;
    text-wrap: nowrap;
    border: 0.0625rem solid var(--pre-border);
    border-radius: 0.3125rem;
    padding: 0.75rem;
    background: var(--pre-bg);
    max-width: 100%;
}

.docs-content hr {
    margin: 3rem 0;
}

.docs-content .hljs,
.docs-content pre code {
    background: transparent !important;
    display: block;
    white-space: inherit !important;
    word-break: normal;
    overflow-wrap: normal;
    min-width: max-content;
    text-overflow: clip;
}

.docs-content pre code.language-dotenv {
    color: var(--content-text);
}

.docs-content pre code.language-dotenv .hljs-attr {
    color: #1f6feb;
}

.docs-content pre code.language-dotenv .hljs-string {
    color: #9a3412;
}

.docs-content pre code.language-dotenv .hljs-comment {
    color: var(--text-muted);
    font-style: italic;
}

html[data-theme="dark"] .docs-content pre code.language-dotenv .hljs-attr {
    color: #7fb4ff;
}

html[data-theme="dark"] .docs-content pre code.language-dotenv .hljs-string {
    color: #f59e8b;
}

.docs-content pre code.language-json .hljs-attr {
    color: #1f5fbf;
    font-weight: 600;
}

.docs-content pre code.language-json .hljs-string {
    color: #8a4d12;
}

.docs-content pre code.language-json .hljs-number {
    color: #0f766e;
}

.docs-content pre code.language-json .hljs-literal {
    color: #6b21a8;
}

.docs-content pre code.language-json .hljs-punctuation {
    color: color-mix(in srgb, var(--content-text) 72%, transparent);
}

html[data-theme="dark"] .docs-content pre code.language-json .hljs-attr {
    color: #8db4ff;
}

html[data-theme="dark"] .docs-content pre code.language-json .hljs-string {
    color: #f2b37d;
}

html[data-theme="dark"] .docs-content pre code.language-json .hljs-number {
    color: #5fd0c5;
}

html[data-theme="dark"] .docs-content pre code.language-json .hljs-literal {
    color: #c7a7ff;
}

html[data-theme="dark"] .docs-content pre code.language-json .hljs-punctuation {
    color: color-mix(in srgb, var(--content-text) 68%, transparent);
}

.docs-content pre code.language-php .hljs-keyword {
    color: #005cc5;
    font-weight: 600;
}

.docs-content pre code.language-php .hljs-variable {
    color: #e36209;
}

.docs-content pre code.language-php .hljs-string {
    color: #22863a;
}

.docs-content pre code.language-php .hljs-title.function_,
.docs-content pre code.language-php .hljs-function .hljs-title {
    color: #6f42c1;
}

.docs-content pre code.language-php .hljs-comment {
    color: var(--text-muted);
    font-style: italic;
}

.docs-content pre code.language-php .hljs-punctuation {
    color: color-mix(in srgb, var(--content-text) 72%, transparent);
}

html[data-theme="dark"] .docs-content pre code.language-php .hljs-keyword {
    color: #79b8ff;
}

html[data-theme="dark"] .docs-content pre code.language-php .hljs-variable {
    color: #ffab70;
}

html[data-theme="dark"] .docs-content pre code.language-php .hljs-string {
    color: #85e89d;
}

html[data-theme="dark"] .docs-content pre code.language-php .hljs-title.function_,
html[data-theme="dark"] .docs-content pre code.language-php .hljs-function .hljs-title {
    color: #b392f0;
}

html[data-theme="dark"] .docs-content pre code.language-php .hljs-punctuation {
    color: color-mix(in srgb, var(--content-text) 68%, transparent);
}

.docs-content pre code.language-bash .hljs-built_in,
.docs-content pre code.language-bash .hljs-keyword {
    color: #005cc5;
    font-weight: 600;
}

.docs-content pre code.language-bash .hljs-variable {
    color: #e36209;
}

.docs-content pre code.language-bash .hljs-string {
    color: #22863a;
}

.docs-content pre code.language-bash .hljs-comment {
    color: var(--text-muted);
    font-style: italic;
}

.docs-content pre code.language-bash .hljs-symbol,
.docs-content pre code.language-bash .hljs-meta {
    color: #6f42c1;
}

html[data-theme="dark"] .docs-content pre code.language-bash .hljs-built_in,
html[data-theme="dark"] .docs-content pre code.language-bash .hljs-keyword {
    color: #79b8ff;
}

html[data-theme="dark"] .docs-content pre code.language-bash .hljs-variable {
    color: #ffab70;
}

html[data-theme="dark"] .docs-content pre code.language-bash .hljs-string {
    color: #85e89d;
}

html[data-theme="dark"] .docs-content pre code.language-bash .hljs-symbol,
html[data-theme="dark"] .docs-content pre code.language-bash .hljs-meta {
    color: #b392f0;
}

.docs-content :not(pre) > code {
    font-family: "Source Code Pro", monospace;
    font-size: 0.88em;
    color: var(--inline-code-text);
    background: var(--inline-code-bg);
    border: 0.0625rem solid var(--inline-code-border);
    border-radius: 0.25rem;
    padding: 0.0625rem 0.375rem;
}
.floatinginfobox {
    float: right;
    margin: 0 0 1.25rem 1.25rem !important;
    padding: 0 !important;
    width: 25rem;
    z-index: 1;
    position: relative;
    background: none !important;
    border: none !important;
}

.docs-copy-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    border: 0.0625rem solid var(--copy-btn-border);
    background: var(--copy-btn-bg);
    color: var(--copy-btn-text);
    border-radius: 0.25rem;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.1875rem 0.5625rem;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-0.125rem);
    transition: opacity 0.16s ease, transform 0.16s ease, background-color 0.16s ease;
}

.docs-copy-btn:hover {
    background: var(--copy-btn-hover-bg);
}

.docs-copy-btn.is-copied {
    border-color: #7ab68d;
    color: #1f6a36;
    background: #e9f8ee;
}

html[data-theme="dark"] .docs-copy-btn.is-copied {
    border-color: #4f8a64;
    color: #b8f0cb;
    background: #173025;
}

.docs-sr-only {
    position: absolute;
    width: 0.0625rem;
    height: 0.0625rem;
    padding: 0;
    margin: -0.0625rem;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.docs-content pre:hover .docs-copy-btn,
.docs-content pre:focus-within .docs-copy-btn {
    opacity: 1;
    transform: translateY(0);
}

.docs-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
    font-size: 0.95rem;
}

.docs-content table th,
.docs-content table td {
    border: 0.0625rem solid var(--border);
    padding: 0.5rem 0.625rem;
    text-align: left;
}

.docs-content table th {
    background: var(--table-head-bg);
}

.docs-search__hit {
    background: color-mix(in srgb, #ffe08a 62%, transparent);
    /*color: inherit;*/
    border-radius: 0.1875rem;
    /*padding: 0 0.125rem;*/
    font-weight: bold;
}

html[data-theme="dark"] .docs-search__hit {
    background: color-mix(in srgb, #8b6f1a 64%, transparent);
    color: #fff4cf;
}

.docs-content table tbody tr:nth-child(odd) {
    background: color-mix(in srgb, var(--surface) 94%, var(--surface-subtle) 6%);
}

.docs-content table tbody tr:nth-child(even) {
    background: color-mix(in srgb, var(--surface) 86%, var(--surface-subtle) 14%);
}

html[data-theme="dark"] .docs-content table tbody tr:nth-child(odd) {
    background: color-mix(in srgb, var(--surface) 92%, var(--surface-subtle) 8%);
}

html[data-theme="dark"] .docs-content table tbody tr:nth-child(even) {
    background: color-mix(in srgb, var(--surface) 80%, var(--surface-subtle) 20%);
}

.docs-overlay {
    display: none;
}

@media (max-width: 64rem) {
    .docs-layout {
        grid-template-columns: 1fr;
    }

    .docs-burger {
        display: block;
    }

    .docs-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        width: min(88vw, 19.875rem);
        transform: translateX(-104%);
        transition: transform 0.2s ease;
        z-index: 1050;
        box-shadow: 0 0.625rem 1.75rem rgba(0, 0, 0, 0.2);
    }

    .docs-layout.is-sidebar-open .docs-sidebar {
        transform: translateX(0);
    }

    .docs-overlay {
        position: fixed;
        inset: 0;
        z-index: 1040;
        display: block;
        background: var(--overlay-bg);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s ease;
    }

    .docs-layout.is-sidebar-open .docs-overlay {
        opacity: 1;
        pointer-events: auto;
    }

    .docs-topbar {
        padding-left: 4rem;
        padding-right: 0.75rem;
        min-height: 3.625rem;
    }

    .docs-topbar__title {
        font-size: 1.16rem;
    }

    .docs-breadcrumbs {
        font-size: 0.72rem;
        gap: 0.25rem;
        min-height: 1.6rem;
    }

    .docs-breadcrumbs__versions-select {
        max-width: 8.5rem;
        font-size: 0.7rem;
    }

    .docs-topbar__actions {
        display: none;
    }

    .docs-sidebar-controls {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin: 0.375rem 0 0.625rem;
    }

    .docs-sidebar-controls .docs-theme,
    .docs-sidebar-controls .docs-lang,
    .docs-sidebar-controls .docs-search {
        padding: 0.25rem;
        gap: 0.25rem;
        background: color-mix(in srgb, var(--surface) 84%, transparent);
        border-color: var(--border);
    }

    .docs-sidebar-controls .docs-search {
        order: 1;
        flex: 1 1 100%;
        width: 2.125rem;
    }

    .docs-sidebar-controls .docs-search.is-open,
    .docs-sidebar-controls .docs-search:focus-within {
        width: min(100%, 15rem);
    }

    .docs-sidebar-controls .docs-theme {
        order: 2;
    }

    .docs-sidebar-controls .docs-lang {
        order: 3;
    }

    .docs-sidebar-controls .docs-search__toggle,
    .docs-sidebar-controls .docs-search__input {
        color: var(--text);
    }

    .docs-sidebar-controls .docs-search__input::placeholder {
        color: color-mix(in srgb, var(--text) 62%, transparent);
    }

    .docs-sidebar-controls .docs-search:focus-within {
        outline-color: color-mix(in srgb, var(--brand-accent) 48%, transparent);
    }

    .docs-sidebar-controls .docs-theme__btn,
    .docs-sidebar-controls .docs-lang__link {
        min-width: 2.125rem;
        height: 1.625rem;
        padding: 0 0.5rem;
        font-size: 0.72rem;
    }

    .docs-sidebar-controls .docs-theme__btn,
    .docs-sidebar-controls .docs-lang__link {
        color: var(--text);
    }

    .docs-sidebar-controls .docs-theme__btn:hover,
    .docs-sidebar-controls .docs-lang__link:hover {
        background: var(--nav-hover);
        color: var(--text);
    }

    .docs-sidebar-controls .docs-theme__btn.is-active,
    .docs-sidebar-controls .docs-lang__link.is-active {
        background: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    .docs-content {
        min-height: calc(100vh - 3.625rem);
        padding: 1rem;
    }
}

@media (max-width: 51.25rem) {
    .docs-columns__row {
        grid-template-columns: 1fr !important;
    }

    .docs-columns--bordered .docs-columns__col + .docs-columns__col {
        border-left: 0;
        border-top: 0.0625rem solid var(--border);
    }

    .floatinginfobox {
        float: none;
        clear: both;
        width: 100%;
        display: contents;
    }
}

.site-footer {
    border-top: 0.0625rem solid var(--topbar-border);
    background: var(--topbar-bg);
}

.site-footer__inner {
    padding: 1rem clamp(1.125rem, 4vw, 2.75rem) 0.625rem;
}

.site-footer__contacts-col {
    display: inline-flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: min(100%, 23.75rem);
}

.site-footer__heading {
    margin: 0;
    color: var(--topbar-text);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.site-footer__contacts {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.375rem;
}

.site-footer__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--topbar-control-text);
    text-decoration: none;
    font-size: 0.92rem;
    line-height: 1.4;
    width: fit-content;
    border: 0.0625rem solid transparent;
    border-radius: 62.4375rem;
    padding: 0.25rem 0.625rem 0.25rem 0.5rem;
    transition: color 0.16s ease, border-color 0.16s ease, background-color 0.16s ease;
}

.site-footer__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.375rem;
    height: 1.375rem;
    border-radius: 62.4375rem;
    background: var(--topbar-control-bg);
    color: var(--topbar-text);
    flex: 0 0 auto;
}

.site-footer__icon svg {
    width: 0.8125rem;
    height: 0.8125rem;
    display: block;
    fill: currentColor;
}

.site-footer__link:hover {
    color: var(--topbar-text);
    border-color: var(--topbar-control-border);
    background: var(--topbar-control-hover);
}

.site-footer__link:focus-visible {
    outline: 0.125rem solid rgba(255, 255, 255, 0.65);
    outline-offset: 0.0625rem;
}

.site-footer__bottom {
    margin-top: 0.75rem;
    border-top: 0.0625rem solid var(--topbar-border);
    padding-top: 0.625rem;
}

.site-footer__copyright {
    margin: 0;
    text-align: center;
    color: var(--topbar-control-text);
    font-size: 0.84rem;
    letter-spacing: 0.02em;
}

@media (max-width: 40rem) {
    .site-footer__inner {
        padding-top: 0.875rem;
    }

    .site-footer__contacts-col {
        max-width: 100%;
    }

    .site-footer__link {
        width: 100%;
        border-radius: 0.625rem;
    }
}
