* { box-sizing: border-box; }

:root {
    --docs-content-max-width:1100px;
    --docs-nav-width:320px;
    --docs-toc-width:260px;
    --docs-page-gutter:28px;
    --docs-mobile-breakpoint:800px;
    --docs-scrollbar-size:6px;
    --docs-scrollbar-thumb:rgba(100, 116, 139, .42);
    --docs-scrollbar-thumb-hover:rgba(71, 85, 105, .72);
    --docs-scrollbar-track:transparent;
}

* {
    scrollbar-width:thin;
    scrollbar-color:var(--docs-scrollbar-thumb) var(--docs-scrollbar-track);
}

*::-webkit-scrollbar {
    width:var(--docs-scrollbar-size);
    height:var(--docs-scrollbar-size);
}

*::-webkit-scrollbar-track {
    background:var(--docs-scrollbar-track);
}

*::-webkit-scrollbar-thumb {
    background-color:var(--docs-scrollbar-thumb);
    border:2px solid transparent;
    border-radius:999px;
    background-clip:padding-box;
}

*::-webkit-scrollbar-thumb:hover {
    background-color:var(--docs-scrollbar-thumb-hover);
}

*::-webkit-scrollbar-corner {
    background:transparent;
}

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

body {
    min-height:100vh;
    display:flex;
    flex-direction:column;
    overflow-x:hidden;
    overflow-y:auto;
    font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    color:#1f2937;
    background:#fff;
}

body.docs-nav-open {
    overflow:hidden;
}

.docs-page {
    display:flex;
    flex:1 0 auto;
    flex-direction:column;
    width:100%;
    min-width:0;
}

.docs-footer-slot {
    margin-top:auto;
    flex:0 0 auto;
}

header.docs-header {
    width:100%;
    min-width:0;
    min-height:58px;
    display:flex;
    align-items:center;
    align-content:center;
    gap:.55rem;
    padding:.55rem 1.15rem;
    position:sticky;
    top:0;
    z-index:40;
    border-bottom:1px solid var(--docs-header-border, #dfe6ee);
    background:var(--docs-header-background, #fff);
    color:var(--docs-header-text, #172033);
    box-shadow:0 1px 3px rgba(15, 23, 42, .045);
}

.docs-header-brand {
    display:flex;
    align-items:center;
    gap:.45rem;
    flex:0 0 auto;
    margin-right:.35rem;
}

header.docs-header > * {
    align-self:center;
}

.docs-brand-link {
    display:flex;
    align-items:center;
    gap:.6rem;
    color:var(--docs-header-text, #172033);
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
}

.docs-brand-logo {
    display:block;
    width:auto;
    height:var(--docs-brand-logo-height, 30px);
    max-width:min(42vw, 320px);
    object-fit:contain;
    object-position:center;
    flex-shrink:0;
}

.docs-brand-mark {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border-radius:8px;
    background:var(--docs-accent, #0078d7);
    color:#fff;
    font-size:.95rem;
    font-weight:800;
    box-shadow:0 3px 10px rgba(0, 120, 215, .20);
}

.docs-brand-name {
    font-size:.95rem;
    letter-spacing:-.01em;
}

.docs-header-context {
    display:flex;
    align-items:center;
    gap:.12rem;
    min-width:0;
    flex:0 1 auto;
}

.docs-header-context-separator {
    color:#b4bdc9;
    padding:0 .08rem;
    user-select:none;
}

.docs-header-menu {
    position:relative;
    flex:0 0 auto;
    display:flex;
    align-items:center;
}

.docs-header-menu > summary {
    list-style:none;
}

.docs-header-menu > summary::-webkit-details-marker {
    display:none;
}

.docs-header-menu-trigger {
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    min-height:36px;
    padding:.38rem .5rem;
    border:0;
    border-radius:7px;
    background:transparent;
    color:var(--docs-header-text, #172033);
    font:inherit;
    font-size:.84rem;
    font-weight:600;
    white-space:nowrap;
    cursor:pointer;
    transition:
        background-color .12s ease,
        color .12s ease;
}

.docs-header-menu-trigger:hover,
.docs-header-menu[open] > .docs-header-menu-trigger {
    background:var(--docs-accent-soft, #e8f3fc);
    color:var(--docs-accent-text, #005a9e);
}

.docs-header-menu-chevron {
    color:var(--docs-header-muted, #667085);
    font-size:.72rem;
    line-height:1;
    transform:translateY(-1px);
}

.docs-header-menu[open] .docs-header-menu-chevron {
    color:var(--docs-accent, #0078d7);
}

.docs-header-menu-panel {
    position:absolute;
    top:calc(100% + 7px);
    left:0;
    z-index:100;
    min-width:190px;
    max-width:min(340px, calc(100vw - 24px));
    max-height:min(60vh, 420px);
    overflow:auto;
    padding:.35rem;
    border:1px solid #dce4ec;
    border-radius:9px;
    background:#fff;
    box-shadow:
        0 14px 34px rgba(15, 23, 42, .14),
        0 3px 8px rgba(15, 23, 42, .06);
}

.docs-header-menu-panel-right {
    right:0;
    left:auto;
}

.docs-header-menu-item {
    display:block;
    width:100%;
    padding:.48rem .58rem;
    border:0;
    border-radius:6px;
    background:transparent;
    color:#293548;
    font:inherit;
    font-size:.84rem;
    text-align:left;
    text-decoration:none;
    white-space:nowrap;
    cursor:pointer;
}

.docs-header-menu-item:hover {
    background:var(--docs-accent-soft, #e8f3fc);
    color:var(--docs-accent-text, #005a9e);
}

.docs-header-menu-item.is-active {
    background:var(--docs-accent-soft, #e8f3fc);
    color:var(--docs-accent-text, #005a9e);
    font-weight:700;
}

.docs-header-right {
    display:flex;
    align-items:center;
    gap:.45rem;
    min-width:0;
    margin-left:auto;
}

.docs-header-action {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:.4rem .68rem;
    border-radius:7px;
    font-size:.82rem;
    font-weight:650;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    transition:
        background-color .12s ease,
        color .12s ease,
        border-color .12s ease;
}

.docs-header-action-secondary {
    border:1px solid transparent;
    color:var(--docs-accent-text, #005a9e);
    background:transparent;
}

.docs-header-action-secondary:hover {
    background:var(--docs-accent-soft, #e8f3fc);
}

.docs-header-action-primary {
    border:1px solid var(--docs-accent, #0078d7);
    background:var(--docs-accent, #0078d7);
    color:#fff;
}

.docs-header-action-primary:hover {
    border-color:var(--docs-accent-hover, #006cbe);
    background:var(--docs-accent-hover, #006cbe);
    color:#fff;
}

.docs-header-menu-item.is-danger {
    color:#991b1b;
}

.docs-header-menu-item.is-danger:hover,
.docs-header-menu-item.is-danger:focus-visible {
    background:#fef2f2;
    color:#991b1b;
}

.docs-header-menu-separator {
    height:1px;
    margin:.35rem .2rem;
    background:#e5e7eb;
}

.docs-header-badge {
    display:inline-flex;
    align-items:center;
    padding:.12rem .42rem;
    border-radius:999px;
    background:var(--docs-accent-soft, #e8f3fc);
    color:var(--docs-accent-text, #005a9e);
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.docs-header-form {
    display:inline-flex;
    margin:0;
}

.docs-header-form-block {
    display:block;
    width:100%;
    margin:0;
}

button.docs-header-action {
    appearance:none;
    font:inherit;
    cursor:pointer;
}

.docs-editor-header {
    flex-wrap:wrap;
}

.docs-editor-header .docs-header-right {
    flex-wrap:wrap;
    row-gap:.35rem;
}

.docs-login-body {
    min-height:100vh;
    background:#f5f7fa;
}

.docs-login-main {
    display:flex;
    justify-content:center;
    padding:3rem 1.15rem 4rem;
}

.docs-login-card {
    width:100%;
    max-width:420px;
    padding:1.5rem 1.4rem 1.6rem;
    border:1px solid var(--docs-header-border, #dfe6ee);
    border-radius:12px;
    background:#fff;
    box-shadow:0 10px 30px rgba(15, 23, 42, .06);
}

.docs-login-card h1 {
    margin:0 0 .35rem;
    font-size:1.25rem;
}

.docs-login-card p {
    margin:0 0 1.1rem;
    color:var(--docs-header-muted, #667085);
    font-size:.9rem;
}

.docs-login-error {
    margin:0 0 1rem;
    padding:.65rem .75rem;
    border-radius:8px;
    background:#fef2f2;
    color:#991b1b;
    font-size:.85rem;
}

.docs-login-success {
    margin:0 0 1rem;
    padding:.65rem .75rem;
    border-radius:8px;
    background:#f0fdf4;
    color:#166534;
    font-size:.85rem;
}

.docs-login-field {
    display:flex;
    flex-direction:column;
    gap:.35rem;
    margin-bottom:.85rem;
    font-size:.82rem;
    font-weight:650;
    color:#293548;
}

.docs-login-field input,
.docs-login-field textarea {
    min-height:40px;
    padding:.45rem .7rem;
    border:1px solid #d5dee8;
    border-radius:7px;
    font:inherit;
    font-weight:400;
}

.docs-login-field input:focus,
.docs-login-field textarea:focus {
    outline:2px solid var(--docs-accent-soft, #e8f3fc);
    border-color:var(--docs-accent, #0078d7);
}

.docs-login-field textarea {
    min-height:5.5rem;
    resize:vertical;
}

.docs-login-remember {
    display:flex;
    align-items:center;
    gap:.45rem;
    margin:0;
    font-size:.85rem;
    color:#445166;
}

.docs-login-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    flex-wrap:wrap;
    margin:0 0 1.1rem;
}

.docs-login-link {
    color:var(--docs-accent, #0078d7);
    font-size:.85rem;
    font-weight:600;
    text-decoration:none;
}

.docs-login-link:hover {
    text-decoration:underline;
}

.docs-login-nav {
    margin:1rem 0 0;
    text-align:center;
}

.docs-login-submit {
    width:100%;
}

.docs-install-card {
    max-width:36rem;
}

.docs-install-section {
    margin:0 0 1.15rem;
    padding:0;
    border:0;
}

.docs-install-section legend {
    padding:0;
    margin:0 0 .35rem;
    font-size:.95rem;
    font-weight:700;
    color:#172033;
}

.docs-install-hint {
    margin:0 0 .85rem;
    color:var(--docs-header-muted, #667085);
    font-size:.82rem;
    font-weight:400;
}

.docs-install-grid {
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 8rem);
    gap:0 .75rem;
}

.docs-login-field select {
    min-height:40px;
    padding:.45rem .7rem;
    border:1px solid #d5dee8;
    border-radius:7px;
    font:inherit;
    font-weight:400;
    background:#fff;
}

.docs-login-field select:focus {
    outline:2px solid var(--docs-accent-soft, #e8f3fc);
    border-color:var(--docs-accent, #0078d7);
}

.docs-install-check {
    margin:0 0 .35rem;
    align-items:flex-start;
}

.docs-install-form:has(select[name="database_driver"] option[value="sqlite"]:checked) .docs-install-database-server,
.docs-install-form:has(select[name="mail_mailer"] option[value="log"]:checked) .docs-install-smtp {
    display:none;
}

.docs-search {
    position:relative;
    flex:1 1 300px;
    width:min(390px, 32vw);
    max-width:420px;
    min-width:180px;
    margin-left:0;
}

.docs-search-field {
    position:relative;
}

.docs-search-scope {
    display:flex;
    flex-wrap:wrap;
    gap:.15rem .7rem;
    margin:0 0 .28rem;
}

.docs-search-scope-option {
    display:inline-flex;
    align-items:center;
    gap:.32rem;
    margin:0;
    color:var(--docs-header-muted, #667085);
    font-size:.72rem;
    line-height:1.2;
    white-space:nowrap;
    cursor:pointer;
}

.docs-search-scope-option input {
    margin:0;
    accent-color:var(--docs-accent, #0078d7);
}

.docs-search-icon {
    position:absolute;
    top:12px;
    left:.7rem;
    width:14px;
    height:14px;
    z-index:1;
    border:1.7px solid #8490a3;
    border-radius:50%;
    pointer-events:none;
}

.docs-search-icon::after {
    content:"";
    position:absolute;
    width:6px;
    height:1.7px;
    right:-4px;
    bottom:-2px;
    border-radius:2px;
    background:#8490a3;
    transform:rotate(45deg);
    transform-origin:center;
}

.docs-search-input {
    width:100%;
    min-width:0;
    height:38px;
    padding:.45rem .75rem .45rem 2rem;
    border:1px solid #d5dde7;
    border-radius:8px;
    background:#f8fafc;
    color:#172033;
    font:inherit;
    font-size:.84rem;
    transition:
        border-color .12s ease,
        background-color .12s ease,
        box-shadow .12s ease;
}

.docs-search-input::placeholder {
    color:#8a95a6;
}

.docs-search-input:hover {
    background:#fff;
    border-color:#bdc8d5;
}

.docs-search-input:focus {
    outline:none;
    border-color:var(--docs-accent, #0078d7);
    background:#fff;
    box-shadow:0 0 0 3px rgba(0, 120, 215, .12);
}

.docs-search-results {
    position:absolute;
    top:calc(100% + 7px);
    right:0;
    left:auto;
    z-index:120;
    display:flex;
    flex-direction:column;
    width:max(100%, min(420px, calc(100vw - 24px)));
    max-width:min(520px, calc(100vw - 24px));
    max-height:min(70vh, 480px);
    overflow:auto;
    padding:.35rem;
    border:1px solid #dce4ec;
    border-radius:9px;
    background:#fff;
    box-shadow:
        0 14px 34px rgba(15, 23, 42, .14),
        0 3px 8px rgba(15, 23, 42, .06);
}

.docs-search-results[hidden] {
    display:none;
}

.docs-search-result {
    display:flex;
    flex-direction:column;
    gap:.18rem;
    padding:.55rem .62rem;
    border-radius:6px;
    color:#293548;
    text-decoration:none;
}

.docs-search-result:hover,
.docs-search-result:focus-visible {
    background:var(--docs-accent-soft, #e8f3fc);
    color:var(--docs-accent-text, #005a9e);
}

.docs-search-result-title {
    font-size:.86rem;
    font-weight:650;
    line-height:1.3;
}

.docs-search-result-meta {
    color:var(--docs-header-muted, #667085);
    font-size:.72rem;
    line-height:1.35;
}

.docs-search-result-snippet {
    display:-webkit-box;
    overflow:hidden;
    color:#536174;
    font-size:.78rem;
    line-height:1.4;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.docs-search-empty {
    padding:.7rem .62rem;
    color:var(--docs-header-muted, #667085);
    font-size:.84rem;
}

.docs-mobile-nav-toggle {
    display:none;
    align-items:center;
    gap:.4rem;
    min-height:36px;
    padding:.4rem .58rem;
    border:0;
    border-radius:7px;
    background:transparent;
    color:var(--docs-header-text, #172033);
    font:inherit;
    cursor:pointer;
}

.docs-mobile-nav-toggle:hover {
    background:var(--docs-accent-soft, #e8f3fc);
    color:var(--docs-accent-text, #005a9e);
}

.docs-layout {
    display:grid;
    grid-template-columns:
        minmax(190px, var(--docs-nav-width))
        minmax(0, calc(var(--docs-content-max-width) + (var(--docs-page-gutter) * 2)))
        minmax(180px, var(--docs-toc-width));
    width:100%;
    max-width:calc(
        var(--docs-nav-width)
        + var(--docs-content-max-width)
        + (var(--docs-page-gutter) * 2)
        + var(--docs-toc-width)
    );
    margin:0 auto;
    align-items:start;
}

.docs-sidebar-left,
.docs-sidebar-right {
    position:relative;
    align-self:stretch;
    min-width:0;
    padding:0 16px;
    background:#fff;
}

.docs-sidebar-left {
    border-right:1px solid #e5e7eb;
}

.docs-sidebar-right {
    border-left:1px solid #e5e7eb;
}

.docs-sidebar-sticky {
    position:sticky;
    top:calc(var(--docs-sticky-header-height, 0px) + 1px);
    max-height:calc(
        100vh
        - var(--docs-sticky-header-height, 0px)
        - 1px
    );
    padding:28px 0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:auto;
}

.docs-main {
    width:100%;
    max-width:calc(var(--docs-content-max-width) + (var(--docs-page-gutter) * 2));
    justify-self:center;
    padding:36px var(--docs-page-gutter) 24px;
    min-width:0;
    flex:0 0 auto;
}

.docs-main > h1,
.docs-main > article,
.docs-main > .docs-fallback {
    width:100%;
    max-width:none;
}

.docs-mobile-nav-toggle {
    display:none;
    align-items:center;
    gap:.4rem;
    padding:.45rem .65rem;
    border:1px solid #d1d5db;
    border-radius:6px;
    background:#fff;
    color:#1f2937;
    cursor:pointer;
}

.docs-mobile-nav-toggle:hover {
    background:#f8fafc;
}

.docs-nav-backdrop {
    display:none;
}
.docs-tree { list-style:none; padding-left:0; margin:0; }
.docs-tree .docs-tree { padding-left:18px; }
.docs-tree li { margin:8px 0; }
.docs-tree a {
    color:#374151;
    text-decoration:none;
    overflow-wrap:anywhere;
}

.docs-tree a:hover {
    color:var(--docs-accent-text, #005a9e);
    text-decoration:none;
}

.docs-tree a.active {
    display:block;
    margin-left:calc(-1 * var(--docs-nav-active-border-width));
    padding:.35rem .55rem;
    border-left:var(--docs-nav-active-border-width) solid var(--docs-nav-active-border);
    border-radius:var(--docs-nav-active-border-radius);
    background:var(--docs-nav-active-background);
    color:var(--docs-nav-active-text);
    font-weight:var(--docs-nav-active-font-weight);
    text-decoration:none;
}
.docs-tree small { color:#9a6700; font-size:10px; margin-left:5px; }
.docs-fallback { padding:10px 12px; background:#fff7ed; border:1px solid #fed7aa; border-radius:6px; margin-bottom:24px; }
.docs-article { line-height:1.5; }

/* Compact spacing for technical documentation. */
.docs-article p { margin:0 0 .4rem; }
.docs-article h1 { margin:0 0 .75rem; }
.docs-article h2 { margin:.8rem 0 .3rem; }
.docs-article h3 { margin:.65rem 0 .25rem; }
.docs-article h4,
.docs-article h5,
.docs-article h6 { margin:.55rem 0 .2rem; }

.docs-article ul,
.docs-article ol { margin:.4rem 0 .8rem; }

.docs-article li + li { margin-top:.15rem; }

.docs-article img { max-width:100%; }
.docs-article pre { overflow:auto; padding:14px; margin:.6rem 0 .9rem; background:#f3f4f6; border-radius:6px; }
.docs-article blockquote { margin:.6rem 0 .9rem; }
.docs-article table { border-collapse:collapse; width:100%; margin:.6rem 0 .9rem; }
.docs-article th,.docs-article td { border:1px solid #d1d5db; padding:8px; }
.docs-toc {
    position:static;
    width:100%;
}

.docs-toc a {
    display:block;
    margin:8px 0;
    padding-left:var(--docs-toc-active-border-width);
    border-left:var(--docs-toc-active-border-width) solid transparent;
    font-size:14px;
    color:#374151;
    text-decoration:none;
    transition:color .12s ease, border-color .12s ease;
}

.docs-toc a:hover {
    color:var(--docs-accent-text, #005a9e);
    text-decoration:none;
}

.docs-toc a.active {
    border-left-color:var(--docs-toc-active-border);
    color:var(--docs-toc-active-text);
    font-weight:var(--docs-toc-active-font-weight);
    text-decoration:none;
}

.docs-toc .level-3 {
    padding-left:calc(14px + var(--docs-toc-active-border-width));
    font-size:13px;
}
.docs-preview-label { font-weight:700; }
/*
 * Responsive documentation layout:
 * desktop >= 1200px: navigation + content + page TOC
 * tablet 800-1199px: navigation + content
 * mobile < 800px: content + navigation drawer
 */
@media (max-width:1199px) {
    .docs-layout {
        grid-template-columns:
            minmax(190px, var(--docs-nav-width))
            minmax(0, 1fr);
    }

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

    .docs-main {
        --docs-page-gutter:36px;
    }
}

@media (max-width:799px) {
    .docs-sidebar-sticky {
        position:static;
        top:auto;
        max-height:none;
        padding:0;
        overflow:visible;
    }

    .docs-header {
        padding:8px 14px;
        gap:8px;
    }

    .docs-mobile-nav-toggle {
        display:inline-flex;
        order:-100;
    }

    .docs-header select {
        max-width:min(100%, 180px);
    }

    .docs-layout {
        display:block;
        width:100%;
    }

    .docs-main {
        --docs-page-gutter:20px;
        max-width:none;
        padding-top:26px;
        padding-bottom:24px;
    }

    .docs-sidebar-left {
        display:block;
        position:fixed;
        top:0;
        bottom:0;
        left:0;
        z-index:60;
        width:min(84vw, 320px);
        max-width:none;
        padding:24px 20px 40px;
        border-right:1px solid #d1d5db;
        background:#fff;
        overflow-y:auto;
        transform:translateX(-102%);
        transition:transform .18s ease;
        box-shadow:0 0 0 rgba(15,23,42,0);
    }

    .docs-nav-open .docs-sidebar-left {
        transform:translateX(0);
        box-shadow:8px 0 30px rgba(15,23,42,.14);
    }

    .docs-nav-backdrop {
        display:block;
        position:fixed;
        inset:0;
        z-index:50;
        padding:0;
        border:0;
        background:rgba(15,23,42,.36);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity .18s ease, visibility .18s ease;
    }

    .docs-nav-open .docs-nav-backdrop {
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }
}

@media (max-width:520px) {
    .docs-mobile-nav-label {
        display:none;
    }

    .docs-header select {
        max-width:145px;
    }

    .docs-main {
        --docs-page-gutter:16px;
        padding-top:22px;
    }
}

#docs-live-preview-status {
    margin-left:auto;
    font-size:12px;
    opacity:.7;
}


/* Syntadox :: blocks */
.docs-callout {
    --docs-callout-background:#f8fafc;
    --docs-callout-border:#94a3b8;
    --docs-callout-text:#334155;
    --docs-callout-title:#111827;

    margin:.65rem 0;
    padding:.7rem .85rem;
    border:1px solid var(--docs-callout-border);
    border-left-width:4px;
    border-radius:6px;
    background:var(--docs-callout-background);
    color:var(--docs-callout-text);
}

.docs-callout-header {
    display:flex;
    align-items:center;
    gap:.45rem;
    margin-bottom:.35rem;
}

.docs-callout-title {
    font-weight:700;
    color:var(--docs-callout-title);
}

.docs-callout-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-width:1.25rem;
    font-size:1rem;
    line-height:1;
}

.docs-callout-image {
    display:block;
    flex:0 0 auto;
    width:24px;
    height:24px;
    object-fit:contain;
}

.docs-callout-content > :first-child,
.docs-details-content > :first-child {
    margin-top:0;
}

.docs-callout-content > :last-child,
.docs-details-content > :last-child {
    margin-bottom:0;
}

.docs-details {
    --docs-callout-background:#f8fafc;
    --docs-callout-border:#cbd5e1;
    --docs-callout-text:#1f2937;
    --docs-callout-title:#111827;

    margin:.65rem 0;
    border:1px solid var(--docs-callout-border);
    border-radius:6px;
    background:var(--docs-callout-background);
    color:var(--docs-callout-text);
}

.docs-details summary {
    display:flex;
    align-items:center;
    gap:.45rem;
    padding:.65rem .8rem;
    cursor:pointer;
    font-weight:700;
    color:var(--docs-callout-title);
}

.docs-details-content {
    padding:0 .8rem .75rem;
}

.docs-space {
    height:var(--docs-space-height, 1rem);
}


/* Collapsible details indicator */
.docs-details summary::before {
    content:"›";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1rem;
    flex:0 0 1rem;
    font-size:1.25rem;
    line-height:1;
    transform:rotate(0deg);
    transition:transform .15s ease;
}

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

/* Fenced code blocks */
.docs-code-block {
    margin:.6rem 0 .9rem;
    border:1px solid #d1d5db;
    border-radius:6px;
    overflow:hidden;
    background:#f6f8fa;
}

.docs-code-header {
    display:flex;
    align-items:center;
    min-height:30px;
    padding:.3rem .65rem;
    border-bottom:1px solid #d1d5db;
    background:#eef1f4;
}

.docs-code-language {
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.025em;
    color:#475569;
}

.docs-code-block pre {
    margin:0 !important;
    padding:.75rem .9rem !important;
    border-radius:0 !important;
    background:#f6f8fa !important;
}

.docs-code-block code {
    font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size:.82rem;
    line-height:1.45;
}

.docs-code-block .hljs {
    padding:0;
    background:transparent;
}


.docs-code-header {
    gap:.5rem;
}

.docs-code-language {
    margin-right:auto;
}

.docs-code-copy {
    margin-left:auto;
    padding:.18rem .5rem;
    border:1px solid #cbd5e1;
    border-radius:4px;
    background:#fff;
    color:#475569;
    font:inherit;
    font-size:.72rem;
    line-height:1.35;
    cursor:pointer;
}

.docs-code-copy:hover {
    background:#f8fafc;
    color:#0f172a;
}

.docs-code-copy:focus-visible {
    outline:2px solid currentColor;
    outline-offset:2px;
}


/* Documentation images */
.docs-article img.docs-image {
    display:block;
    max-width:100%;
    height:auto;
    margin:.55rem 0 .8rem;
}


.docs-draft-view-banner {
    margin:0 0 1rem;
    padding:.65rem .8rem;
    border:1px solid #facc15;
    border-radius:6px;
    background:#fefce8;
    color:#713f12;
    font-size:.86rem;
}

.docs-draft-view-banner strong {
    margin-right:.35rem;
}

.docs-nav-draft-badge {
    margin-left:.35rem;
    padding:.08rem .3rem;
    border-radius:999px;
    background:#fef3c7;
    color:#92400e;
    font-size:.66rem;
    font-weight:700;
    text-transform:uppercase;
}

.docs-draft-view-active {
    font-weight:700;
}


/* Markdown tables */
.docs-article table {
    width:100%;
    margin:.8rem 0 1rem;
    border-collapse:collapse;
    font-size:.9rem;
}

.docs-article th,
.docs-article td {
    padding:.48rem .62rem;
    border:1px solid #dbe3ee;
    text-align:left;
    vertical-align:top;
}

.docs-article th {
    background:#f8fafc;
    font-weight:650;
}

.docs-article tbody tr:nth-child(even) {
    background:#fbfdff;
}

@media (max-width:700px) {
    .docs-article table {
        display:block;
        max-width:100%;
        overflow-x:auto;
        white-space:nowrap;
    }
}

/* Previous / next documentation pages */
.docs-page-navigation {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
    margin:2rem 0 .5rem;
    padding-top:1rem;
    border-top:1px solid #e2e8f0;
}

.docs-page-navigation-side a {
    display:flex;
    flex-direction:column;
    gap:.15rem;
    padding:.65rem .75rem;
    border:1px solid #e2e8f0;
    border-radius:7px;
    color:inherit;
    text-decoration:none;
}

.docs-page-navigation-side a:hover {
    background:#f8fafc;
    border-color:#cbd5e1;
}

.docs-page-navigation-next {
    text-align:right;
}

.docs-page-navigation-direction {
    color:#64748b;
    font-size:.75rem;
    font-weight:600;
}

.docs-footer {
    margin-top:0;
    border-top:1px solid #e2e8f0;
    background:#f8fafc;
}

.docs-footer-inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:1rem;
    max-width:1400px;
    margin:0 auto;
    padding:1rem 1.25rem;
    color:#64748b;
    font-size:.78rem;
}

.docs-footer-legal {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem 1.1rem;
}

.docs-footer-legal a,
.docs-login-legal a {
    color:#475569;
    text-decoration:none;
}

.docs-footer-legal a:hover,
.docs-login-legal a:hover {
    color:#0f172a;
    text-decoration:underline;
}

@media (max-width:700px) {
    .docs-page-navigation {
        grid-template-columns:1fr;
    }

    .docs-page-navigation-next {
        text-align:left;
    }

    .docs-footer-inner {
        flex-direction:column;
    }
}


/* Accessibility */
.docs-visually-hidden {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0, 0, 0, 0) !important;
    white-space:nowrap !important;
    border:0 !important;
}

.docs-skip-link {
    position:fixed;
    top:8px;
    left:8px;
    z-index:200;
    padding:.5rem .7rem;
    border:2px solid var(--docs-accent, #0078d7);
    border-radius:6px;
    background:#fff;
    color:var(--docs-accent-text, #005a9e);
    font-weight:700;
    text-decoration:none;
    transform:translateY(-160%);
}

.docs-skip-link:focus {
    transform:translateY(0);
}

a:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline:2px solid var(--docs-accent, #0078d7);
    outline-offset:2px;
}

.docs-main:focus {
    outline:none;
}

/* Additional responsive hardening */
@media (max-width:799px) {
    header.docs-header {
        align-items:center;
        align-content:center;
    }

    .docs-header select,
    .docs-header .docs-button,
    .docs-mobile-nav-toggle {
        min-height:40px;
    }

    .docs-header select {
        flex:1 1 145px;
        max-width:none;
        min-width:0;
    }

    .docs-search {
        flex:1 1 100%;
        max-width:none;
        margin-left:0;
    }

    .docs-page-navigation-side a {
        min-height:54px;
    }

    .docs-article img,
    .docs-code-block,
    .docs-callout,
    .docs-details {
        max-width:100%;
    }
}

@media (max-width:520px) {
    .docs-header select {
        flex-basis:100%;
        max-width:100%;
    }

    .docs-header .docs-button {
        flex:1 1 auto;
        text-align:center;
    }

    .docs-code-header {
        flex-wrap:wrap;
    }

    .docs-code-copy {
        margin-left:auto;
    }
}

/* Print / PDF */
@media print {
    @page {
        margin:16mm 14mm;
    }

    html,
    body {
        display:block !important;
        min-height:0 !important;
        background:#fff !important;
        color:#000 !important;
    }

    .docs-header,
    .docs-sidebar-left,
    .docs-sidebar-right,
    .docs-nav-backdrop,
    .docs-page-navigation,
    .docs-draft-view-banner,
    .docs-fallback,
    .docs-skip-link,
    .docs-search-results {
        display:none !important;
    }

    .docs-page,
    .docs-layout {
        display:block !important;
        width:auto !important;
        height:auto !important;
        min-height:0 !important;
        overflow:visible !important;
    }

    .docs-main {
        width:auto !important;
        max-width:none !important;
        padding:0 !important;
        margin:0 !important;
    }

    .docs-article {
        font-size:10.5pt;
        line-height:1.45;
    }

    .docs-article h1,
    .docs-article h2,
    .docs-article h3,
    .docs-article h4 {
        break-after:avoid-page;
    }

    .docs-article pre,
    .docs-code-block,
    .docs-callout,
    .docs-details,
    .docs-article table,
    .docs-article img {
        break-inside:avoid;
        page-break-inside:avoid;
    }

    .docs-code-copy {
        display:none !important;
    }

    .docs-article pre {
        white-space:pre-wrap !important;
        overflow:visible !important;
    }

    .docs-article table {
        display:table !important;
        width:100% !important;
        white-space:normal !important;
        overflow:visible !important;
    }

    .docs-footer-slot {
        margin-top:12mm !important;
    }

    .docs-footer {
        background:transparent !important;
        border-top:1px solid #aaa !important;
    }

    .docs-footer-inner {
        max-width:none !important;
        padding:.5rem 0 !important;
        color:#555 !important;
    }
}




/* Modern public header responsive behavior */
@media (max-width:1050px) {
    header.docs-header {
        flex-wrap:wrap;
        align-items:center;
        align-content:center;
    }

    .docs-header-right {
        flex:1 1 420px;
    }

    .docs-search {
        width:auto;
        max-width:none;
    }
}

@media (max-width:799px) {
    header.docs-header {
        gap:.4rem;
        padding:.48rem .7rem;
    }

    .docs-header-brand {
        order:0;
    }

    .docs-mobile-nav-toggle {
        display:inline-flex;
        order:1;
        margin-left:auto;
    }

    .docs-header-context {
        order:3;
        flex:1 1 100%;
        overflow-x:auto;
        padding-bottom:.05rem;
        scrollbar-width:none;
    }

    .docs-header-context::-webkit-scrollbar {
        display:none;
    }

    .docs-header-right {
        order:4;
        flex:1 1 100%;
        margin-left:0;
    }

    .docs-search {
        flex:1 1 100%;
        min-width:0;
        max-width:none;
    }

    .docs-search-results {
        left:0;
        right:0;
        width:auto;
        min-width:0;
        max-width:none;
    }

    .docs-brand-name {
        max-width:160px;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .docs-header-menu-panel {
        position:fixed;
        top:auto;
        right:12px;
        left:12px;
        min-width:0;
        max-width:none;
    }
}

@media (max-width:520px) {
    .docs-header-right {
        flex-wrap:wrap;
    }

    .docs-header-language-menu {
        margin-left:0;
    }

    .docs-header-action {
        flex:1 1 auto;
    }

    .docs-brand-name {
        display:none;
    }
}


/* Collapsible top-level navigation groups */
.docs-tree-row {
    display:flex;
    align-items:center;
    gap:.2rem;
    min-width:0;
}

.docs-tree-row > .docs-tree-link {
    flex:1 1 auto;
    min-width:0;
}

.docs-tree-link-title {
    overflow-wrap:anywhere;
}

.docs-tree-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 28px;
    width:28px;
    height:28px;
    padding:0;
    border:0;
    border-radius:5px;
    background:transparent;
    color:#738095;
    cursor:pointer;
}

.docs-tree-toggle:hover {
    background:var(--docs-accent-soft, #e8f3fc);
    color:var(--docs-accent-text, #005a9e);
}

.docs-tree-toggle > span {
    display:block;
    font-size:1.15rem;
    line-height:1;
    transform:rotate(0deg);
    transition:transform .14s ease;
}

.docs-tree-group.is-open
> .docs-tree-row
.docs-tree-toggle
> span {
    transform:rotate(90deg);
}

.docs-tree-group > .docs-tree-row > .docs-tree-link {
    font-weight:650;
}

.docs-tree-group.is-open > .docs-tree-row > .docs-tree-link {
    color:var(--docs-accent-text, #005a9e);
}


/* Smooth collapsible navigation */
.docs-tree-children.is-collapsible {
    display:grid;
    grid-template-rows:0fr;
    opacity:.25;
    transition:
        grid-template-rows var(--docs-nav-collapse-duration, 180ms) ease,
        opacity var(--docs-nav-collapse-duration, 180ms) ease;
}

.docs-tree-children.is-collapsible
> .docs-tree-children-inner {
    min-height:0;
    overflow:hidden;
}

.docs-tree-group.is-open
> .docs-tree-children.is-collapsible {
    grid-template-rows:1fr;
    opacity:1;
}

.docs-tree-toggle > span {
    transition:
        transform var(--docs-nav-collapse-duration, 180ms) ease,
        color .12s ease;
}

.docs-legal-body {
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:#fff;
}

.docs-legal-main {
    flex:1 0 auto;
    width:100%;
    max-width:720px;
    margin:0 auto;
    padding:2rem 1.25rem 3rem;
}

.docs-legal-warning {
    padding:12px 14px;
    border:1px solid #fed7aa;
    background:#fff7ed;
    color:#9a3412;
    border-radius:6px;
}

.docs-legal-preamble {
    margin:1.5rem 0 0;
    padding:0;
    text-align:left;
}

.docs-legal-dl {
    display:grid;
    grid-template-columns:minmax(8rem, 12rem) 1fr;
    gap:.55rem 1.25rem;
    margin:1.5rem 0 0;
}

.docs-legal-dl dt {
    color:#64748b;
    font-weight:600;
}

.docs-legal-dl dd {
    margin:0;
}

.docs-legal-table {
    width:100%;
    border-collapse:collapse;
    font-size:.9rem;
}

.docs-legal-table th,
.docs-legal-table td {
    border-bottom:1px solid #e2e8f0;
    padding:.55rem .4rem;
    text-align:left;
    vertical-align:top;
}

.docs-login-legal {
    display:flex;
    justify-content:center;
    padding:0 1.15rem 2rem;
}

.docs-cookie-notice {
    position:fixed;
    right:1rem;
    bottom:1rem;
    left:1rem;
    z-index:40;
}

.docs-cookie-notice-inner {
    display:flex;
    gap:1rem;
    align-items:center;
    justify-content:space-between;
    max-width:720px;
    margin:0 auto;
    padding:1rem 1.15rem;
    border:1px solid #dfe6ee;
    border-radius:10px;
    background:#fff;
    box-shadow:0 10px 30px rgba(15, 23, 42, .12);
    color:#334155;
    font-size:.9rem;
}

.docs-cookie-notice-inner p {
    margin:0;
}

@media (max-width:700px) {
    .docs-legal-dl {
        grid-template-columns:1fr;
        gap:.15rem;
    }

    .docs-cookie-notice-inner {
        flex-direction:column;
        align-items:stretch;
    }
}

@media print {
    .docs-cookie-notice {
        display:none !important;
    }
}
