
:root {
    --pico-font-family-sans-serif: Inter, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, var(--pico-font-family-emoji);
    --pico-font-size: 100%;
    --pico-line-height: 1.65;
    --pico-border-radius: .5rem;
    --font-headings: Nunito, Inter, system-ui, "Segoe UI", Roboto, Arial, sans-serif;
    --toc-logo-height: 1.75rem;
    --toc-doc-title-height: 1.3rem;
    --toc-head-height: calc(var(--toc-logo-height) + .6rem + var(--toc-doc-title-height));
    --toc-gap: 1.5rem;
    --toc-top: calc(2 * var(--toc-gap) + var(--toc-head-height));
    --toc-padding: 1.25rem;
    --page-gap: clamp(2.5rem, 6vw, 4.5rem);
    --pico-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(140, 140, 140)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

:root:not([data-theme=dark]),
[data-theme=light] {
    --pico-primary: #b72737;
    --pico-primary-background: #b72737;
    --pico-primary-underline: rgb(183 39 55 / .35);
    --pico-primary-hover: #8f1d2a;
    --pico-primary-hover-background: #8f1d2a;
    --pico-primary-focus: rgb(183 39 55 / .25);

    --pico-background-color: #fff;
    --pico-color: #383838;
    --pico-muted-color: #6e6e6e;
    --pico-muted-border-color: #e8e8e8;
    --pico-h1-color: #1f1f1f;
    --pico-h2-color: #2a2a2a;
    --pico-h3-color: #333;
    --pico-h4-color: #3d3d3d;
    --pico-box-shadow: 0 .5rem 1.5rem rgb(0 0 0 / .08);
    --pico-code-background-color: #f4f4f4;
    --pico-table-row-stripped-background-color: rgb(0 0 0 / .025);
    --pico-form-element-background-color: #fff;
    --pico-form-element-border-color: #d6d6d6;
    --pico-form-element-color: #262626;
    --pico-form-element-placeholder-color: #6e6e6e;
    --pico-form-element-active-background-color: #fff;
    --pico-form-element-selected-background-color: #f0f0f0;
    --pico-card-background-color: #fff;
    --pico-card-sectioning-background-color: #fafafa;
    --pico-dropdown-background-color: #fff;
    --pico-dropdown-border-color: #ececec;
    --pico-dropdown-hover-background-color: #f2f2f2;

    --surface: #f5f5f5;
    --pico-text-selection-color: rgb(0 0 0 / .14);
    --numeral: #d2d2d2;
    --footer-color: #a3a3a3;
    --notice: #fff7e6;
    --notice-border: #f2a50a;
    --notice-text: #5c4100;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
        --pico-primary: #f0717e;
        --pico-primary-background: #c33445;
        --pico-primary-underline: rgb(240 113 126 / .4);
        --pico-primary-hover: #f6a1aa;
        --pico-primary-hover-background: #a92a3a;
        --pico-primary-focus: rgb(240 113 126 / .3);

        --pico-background-color: #161616;
        --pico-color: #cfcfcf;
        --pico-muted-color: #8f8f8f;
        --pico-muted-border-color: #2a2a2a;
        --pico-h1-color: #f2f2f2;
        --pico-h2-color: #e6e6e6;
        --pico-h3-color: #d6d6d6;
        --pico-h4-color: #c8c8c8;
        --pico-box-shadow: 0 .5rem 1.5rem rgb(0 0 0 / .5);
        --pico-code-background-color: #1f1f1f;
        --pico-table-row-stripped-background-color: rgb(255 255 255 / .03);
        --pico-form-element-background-color: #1d1d1d;
        --pico-form-element-border-color: #333;
        --pico-form-element-color: #e6e6e6;
        --pico-form-element-placeholder-color: #a6a6a6;
        --pico-form-element-active-background-color: #222;
        --pico-form-element-selected-background-color: #2a2a2a;
        --pico-card-background-color: #1c1c1c;
        --pico-card-sectioning-background-color: #1f1f1f;
        --pico-dropdown-background-color: #1c1c1c;
        --pico-dropdown-border-color: #2a2a2a;
        --pico-dropdown-hover-background-color: #262626;

        --surface: #1f1f1f;
        --pico-text-selection-color: rgb(255 255 255 / .2);
        --numeral: #3a3a3a;
        --footer-color: #5f5f5f;
        --notice: #2c2414;
        --notice-border: #c98a04;
        --notice-text: #f3dca8;
    }
}

.container {
    max-width: 90rem;
    padding-left: clamp(1rem, 4vw, 2.5rem);
    padding-right: clamp(1rem, 4vw, 2.5rem);
}

main.container { padding-top: var(--page-gap); padding-bottom: var(--page-gap); }
main.container :is(.content, .doc-main, .doc-layout, article, .versions, .versions ol) > :last-child,
.content > :is(ul, ol):last-child > li:last-child { margin-bottom: 0; }

.site-header { padding: var(--page-gap) 0 0; }
.site-header nav, .site-header nav > ul > li { padding-top: 0; padding-bottom: 0; }
.site-header .brand { display: flex; }
.brand {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    text-decoration: none;
}
.brand img { display: block; height: 2.75rem; width: auto; }

details.dropdown.languages { display: inline-block; }
details.dropdown.languages > summary { display: flex; align-items: center; gap: .5rem; }
details.dropdown.languages > summary::after { float: none; margin: 0; }
details.dropdown.languages > summary + ul { left: auto; right: 0; min-width: 11rem; }
.languages a[aria-current] { font-weight: 600; color: var(--pico-primary); }

h1, h2, h3, h4, h5, h6, .documents .title { font-family: var(--font-headings); }
h1 { font-size: 2.25rem; font-weight: 800; line-height: 1.2; }
@media (max-width: 575px) {
    .brand img { height: 2rem; }
    h1 { font-size: 1.6rem; }
}
.content h2, .content h3, .content h4 { font-weight: 750; }
h2, h3, h4, .anchor { scroll-margin-top: 1.5rem; }
@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
}
.content h2 { font-size: 1.35rem; margin-top: 2.5rem; }
.content h3 { font-size: 1.125rem; margin-top: 2rem; }
.content h4 { font-size: 1rem; }
.content { overflow-wrap: break-word; hyphens: auto; }
.content table { font-size: .925rem; }
@media (max-width: 767px) {
    .content table { display: block; overflow-x: auto; }
}

.meta { color: var(--pico-muted-color); font-size: .925rem; margin: 0; }
.meta a { color: inherit; text-decoration-color: currentColor; }
.meta a:hover { color: var(--pico-color); }

.content a.anchor {
    margin-left: .4rem;
    color: var(--pico-muted-border-color);
    text-decoration: none;
    opacity: 0;
}
.content :is(h2, h3, h4):hover a.anchor,
.content a.anchor:focus-visible { opacity: 1; }
.content a.anchor:hover { color: var(--pico-primary); }

.doc-main > article {
    margin: 0;
    padding: 0;
    background: none;
    box-shadow: none;
}
.doc-intro { margin-bottom: 2.5rem; }
.doc-intro > :not(.notice) { max-width: 60rem; }
.doc-intro:has(+ .doc-layout:not(.has-toc)) > .notice { max-width: 60rem; }
.doc-intro h1 { margin-bottom: .4rem; }
.doc-intro .notice { margin: 1.5rem 0 0; }
.content > :first-child { margin-top: 0; }

.doc-layout { display: block; }
.doc-main { max-width: 60rem; min-width: 0; }

.toc { display: block; margin: 0 0 2rem; font-size: .85rem; line-height: 1.45; }
.toc-title {
    margin: 0 0 .5rem;
    font-weight: 600;
    color: var(--pico-color);
}
nav.toc ul { display: block; margin: 0; padding: 0; }
.toc li {
    display: block;
    list-style: none;
    margin: 0;
    padding: .2rem 0;
}
.toc li::before { content: none; }
.toc li a { display: inline; margin: 0; padding: 0; color: var(--pico-muted-color); text-decoration: none; }
.toc li a:hover { color: var(--pico-primary); }
.toc li a[aria-current] { color: var(--pico-primary); }
.toc .depth-1 { padding-left: .75rem; }
.toc .depth-2 { padding-left: 1.5rem; }
.toc .depth-3 { padding-left: 2.25rem; }

@media (min-width: 1024px) {
    .doc-layout.has-toc {
        display: grid;
        grid-template-columns: 20rem minmax(0, 1fr);
        gap: 5rem;
    }
    .toc {
        position: sticky;
        top: var(--toc-top);
        align-self: start;
        display: flex;
        flex-direction: column;
        max-height: calc(100vh - var(--toc-top) - var(--toc-gap));
        margin: calc(-1 * var(--toc-padding)) 0 0;
        padding: var(--toc-padding) .5rem var(--toc-padding) var(--toc-padding);
        border-radius: var(--pico-border-radius);
        background: var(--surface);
    }
    .toc > :not(ul) { flex-shrink: 0; }
    nav.toc ul {
        position: relative;
        margin-left: calc(-1 * var(--toc-padding));
        padding-left: var(--toc-padding);
        min-height: 0;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: var(--pico-muted-border-color) transparent;
        padding-right: .75rem;
    }
    .toc li { position: relative; }
    .toc li:has(> a[aria-current])::before {
        content: "";
        position: absolute;
        top: .3rem;
        bottom: .3rem;
        left: calc(-1 * var(--toc-padding));
        width: 3px;
        border-radius: 0 3px 3px 0;
        background: var(--pico-primary);
    }
    .content :is(h2, h3, h4, .anchor) { scroll-margin-top: calc(var(--toc-top) + var(--toc-padding)); }
}

.toc-head { display: none; }
.toc-logo { display: block; width: fit-content; }
.toc-logo img { display: block; height: var(--toc-logo-height); width: auto; }
.toc-doc-title {
    margin: .6rem 0 0;
    overflow: hidden;
    font-family: var(--font-headings);
    font-size: .95rem;
    font-weight: 750;
    line-height: var(--toc-doc-title-height);
    color: var(--pico-h2-color);
    white-space: nowrap;
    text-overflow: ellipsis;
}
@media (min-width: 1024px) {
    .toc-head {
        display: block;
        position: absolute;
        top: calc(-1 * (var(--toc-head-height) + var(--toc-gap)));
        left: 0;
        right: 0;
        visibility: hidden;
        opacity: 0;
        transform: translateY(calc(-1 * (var(--toc-head-height) + var(--toc-gap))));
        transition: transform .35s ease-out, opacity .35s ease-out, visibility 0s .35s;
    }
    .toc.toc-stuck .toc-head {
        visibility: visible;
        opacity: 1;
        transform: none;
        transition: transform .35s ease-out, opacity .35s ease-out, visibility 0s;
    }
}
@media (prefers-reduced-motion: reduce) {
    .toc-head { transition: none !important; }
}

.notice {
    margin: 0 0 1.5rem;
    padding: .9rem 1.1rem;
    border-left: 4px solid var(--notice-border);
    border-radius: var(--pico-border-radius);
    background: var(--notice);
    color: var(--notice-text);
    font-size: .95rem;
}
.notice p { margin: 0; }
.notice p + p { margin-top: .4rem; }
.notice p[lang]:not(:first-child) { opacity: .85; font-size: .9rem; }
.notice a { color: inherit; font-weight: 600; text-decoration-color: currentColor; }
.notice-archived { background: var(--surface); border-left-color: var(--pico-muted-color); color: var(--pico-color); }

.documents { max-width: 60rem; padding: 0 0 0 var(--page-gap); margin: 1rem 0 0; counter-reset: document; }
.documents li {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    column-gap: calc(var(--page-gap) / 2);
    list-style: none;
    margin: 0;
    padding: 1.4rem 0;
    counter-increment: document;
}
.documents li::before {
    content: counter(document, decimal-leading-zero) / "";
    font-size: 3.25rem;
    font-weight: 200;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    letter-spacing: -.02em;
    color: var(--numeral);
}
.documents .entry {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 0;
}
h1 + .documents { margin-top: calc(var(--page-gap) - 1.4rem); }
@media (max-width: 575px) {
    h1 + .documents { margin-top: calc(var(--page-gap) - 1rem); }
    .documents li { padding: 1rem 0; }
    .documents li::before { font-size: 2.25rem; }
}
.documents a { color: inherit; text-decoration: none; }
.documents a:hover { text-decoration: underline; }
.documents .title { font-size: 1.2rem; font-weight: 750; line-height: 1.15; color: var(--pico-h2-color); }
.documents .title:hover { text-decoration: none; }
.documents .title::before {
    content: "";
    display: inline-block;
    width: 0;
    height: .6em;
    margin-right: 0;
    vertical-align: .04em;
    background: linear-gradient(90deg, #b51e33, #b72737 21.5%, #ea5619 58.25%, #f8ab10);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 16'%3E%3Cpath d='M1 8h18M13 2l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    opacity: 0;
    transition: width .3s cubic-bezier(.2, .7, .3, 1), margin-right .3s cubic-bezier(.2, .7, .3, 1), opacity .3s ease-out;
}
.documents .title:is(:hover, :focus, :active)::before { width: .85em; margin-right: .4em; opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .documents .title::before { transition: none; }
}
.documents .meta { line-height: 1.4; }

.versions {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--pico-muted-border-color);
}
.versions h2 { font-size: 1rem; }
.versions ol { padding: 0; }
.versions li { list-style: none; padding: .15rem 0; }
.versions li[aria-current] > a { font-weight: 600; color: var(--pico-color); text-decoration: none; }
.badge {
    margin-left: .4rem;
    padding: .05rem .5rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 600;
    background: var(--surface);
    color: var(--pico-muted-color);
}
.badge-current { background: var(--pico-primary-background); color: #fff; }
.badge-upcoming { background: var(--notice); color: var(--notice-text); }

.site-footer {
    padding: 0 0 var(--page-gap);
    color: var(--footer-color);
    font-size: .85rem;
}
.site-footer :is(address, p, ul, li, strong, a) { color: inherit; }
.site-footer a { text-decoration-color: currentColor; }
.site-footer a:hover { color: var(--pico-muted-color); }
.site-footer .company {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 1rem 2rem;
    margin: 0 0 1.5rem;
    font-style: normal;
    line-height: 1.6;
}
.site-footer .company p { margin: 0; }
.site-footer .company strong { color: inherit; font-weight: 600; }
.site-footer .footer-links { display: flex; flex-wrap: wrap; gap: .25rem 0; margin: 0; padding: 0; }
.site-footer .footer-links li { list-style: none; margin: 0; }
.site-footer .footer-links li + li::before { content: "/"; margin: 0 .6rem; }
.site-footer .footer-links a { text-decoration: none; }

@media print {
    .site-header nav > ul:last-child, .site-footer, .versions, .content a.anchor { display: none; }
    .toc { display: none; }
    .doc-layout { display: block; }
    body { font-size: 11pt; color: #000; background: #fff; }
    a { color: inherit; }
}
