@import '_content/Aero.Shared/Aero.Shared.92z8k33jf5.bundle.scp.css';
@import '_content/Blazicons/Blazicons.886t4n1lry.bundle.scp.css';

/* /Components/Layout/MainLayout.razor.rz.scp.css */
html:not([data-theme="light"]) {
    --background: #0e0f11;
    --foreground: #e9e9ec;
}

:root {
    --radius: 4px;
}

.icon-btn.toggle-pill {
    border-radius: 4px;
}

header {
    display: flex;
    align-items: center;
    height: 3.5rem;
    min-height: 0;
    overflow: visible;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    box-sizing: border-box;
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--background);
    border-bottom: 1px solid var(--border);
}

    header div {
        margin-inline: auto;
        max-inline-size: 1260px;
        height: 100%;
        min-height: 0;
        display: flex;
        align-items: center;
        gap: 0.75rem;
        flex: 1;
        width: 100%;
        min-width: 0;
    }

    header img {
        height: 100%;
        max-height: 100%;
        min-height: 0;
        width: auto;
        object-fit: contain;
        display: block;
        flex-shrink: 0;
    }

    header .divider {
        width: 1px;
        align-self: stretch;
        margin-block: 0.25rem;
        background: var(--border);
        flex-shrink: 0;
    }

    header a {
        color: var(--foreground);
        text-decoration: none;
        font-size: 0.875rem;
        white-space: nowrap;
        flex-shrink: 0;
    }

        header a.logo {
            display: flex;
            align-items: center;
            height: 100%;
            min-height: 0;
        }

    header nav {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        min-width: 0;
    }

    header .search {
        margin-left: auto;
        min-width: 0;
        width: 14rem;
        max-width: 16rem;
        max-height: 100%;
    }

.sidebar .btn {
    text-align: left;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 0.5rem;
    padding: 0.15rem 0.5rem;
    min-height: 0;
    line-height: 1.35;
}

.sidebar .sidebar-label {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar .caption {
    margin-bottom: 0.3rem;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 0.4rem;
}

    .sidebar .caption:not(:first-child) {
        margin-top: 0.75rem;
    }

.sidebar .btn.active {
    background: #ffffff25;
}

    .sidebar .btn.active:hover {
        background: color-mix(in srgb, #ffffff25, #fff 10%);
    }

    .sidebar .btn.active:active {
        background: color-mix(in srgb, #ffffff25, #000 10%);
    }

[data-theme="light"] .sidebar .btn.active {
    background: #00000012;
}

[data-theme="light"] .sidebar .btn.active:hover {
    background: color-mix(in srgb, #00000012, #000 8%);
}

header .theme-icon {
    display: inline-flex;
    align-items: center;
}

header .theme-icon-moon {
    display: none;
}

[data-theme="light"] header .theme-icon-sun {
    display: none;
}

[data-theme="light"] header .theme-icon-moon {
    display: inline-flex;
}

main {
    width: 100%;
    padding-block: 1.5rem;
    padding-inline: max(1rem, calc((100% - 1260px) / 2));
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 2rem;
}

    main .sidebar {
        width: 16rem;
        flex-shrink: 0;
        position: sticky;
        top: 5rem;
        max-height: calc(100vh - 5rem - 1.5rem);
        overflow-y: auto;
        overscroll-behavior: contain;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.15rem;
        padding-right: 1rem;
        padding-bottom: 0.5rem;
        border-right: 1px solid var(--border);
        box-sizing: border-box;
    }

    main .page {
        flex: 1;
        min-width: 0;
        max-width: 75ch;
    }

.breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 13px;
    margin-bottom: 1rem;
}

    .breadcrumb a {
        color: var(--foreground);
        opacity: 65%;
        text-decoration: none;
        transition: opacity 100ms ease-out;
    }

        .breadcrumb a:hover {
            opacity: 1;
            text-decoration: underline;
            text-underline-offset: 3px;
        }

    .breadcrumb span[aria-hidden="true"] {
        opacity: 35%;
    }

    .breadcrumb span[aria-current="page"] {
        opacity: 100%;
        font-weight: 500;
    }

.docs-step-caption {
    margin: 0 0 0.75rem;
}

.btn-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    padding: 0.9rem 1rem;
    text-align: left;
}

    .btn-card > div {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .btn-card svg {
        width: 1.1rem;
        height: 1.1rem;
        flex-shrink: 0;
        color: color-mix(in srgb, var(--foreground) 72%, transparent);
    }

    .btn-card strong {
        color: var(--foreground);
        font-size: 1rem;
        font-weight: 600;
    }

    .btn-card:hover strong {
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .btn-card span {
        color: color-mix(in srgb, var(--foreground) 85%, transparent);
        font-size: 0.875rem;
    }

.docs-article {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

    .docs-article h2 {
        font-size: 1.35rem;
        font-weight: 600;
        margin-top: 2rem;
    }

    .docs-article h3 {
        font-size: 1.1rem;
        font-weight: 600;
        margin-top: 1.5rem;
    }

    .docs-article .section-title {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .docs-article table td:first-child {
        white-space: nowrap;
    }

    .docs-article p,
    .docs-article li {
        color: color-mix(in srgb, var(--foreground) 80%, transparent);
        line-height: 1.6;
    }

    .docs-article blockquote {
        background: color-mix(in srgb, var(--accent) 15%, transparent);
        border-radius: var(--radius);
        padding: 0.75rem 1rem;
    }

        .docs-article blockquote p {
            color: var(--foreground);
            margin: 0;
        }

    .docs-article ul,
    .docs-article ol {
        padding-left: 1.25rem;
        display: flex;
        flex-direction: column;
        gap: 0.25rem;
    }

    .docs-article img {
        max-width: 100%;
        border: 1px solid var(--border);
    }

    .docs-article pre {
        position: relative;
        background: #00000050;
        border: 1px solid var(--border);
        border-radius: var(--radius);
        padding: 0.85rem 1rem;
        overflow-x: auto;
    }

    [data-theme="light"] .docs-article pre {
        background: #ffffff10;
    }

        .docs-article pre code {
            background: none;
            border: none;
            padding: 0;
            counter-reset: synline;
            font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
            font-size: 0.875rem;
        }

            .docs-article pre code.hl {
                line-height: 1.55;
            }

    .docs-article {
        --syn-key: #569cd6;
        --syn-bi: #4ec9b0;
        --syn-num: #b5cea8;
        --syn-str: #ce9178;
        --syn-com: #6a9955;
    }

    [data-theme="light"] .docs-article {
        --syn-key: #0000ff;
        --syn-bi: #006e82;
        --syn-num: #a05000;
        --syn-str: #a31515;
        --syn-com: #008000;
    }

        .docs-article pre code.hl .cl {
            display: block;
            counter-increment: synline;
            padding-left: 2.6rem;
            position: relative;
        }

            .docs-article pre code.hl .cl::before {
                content: counter(synline);
                position: absolute;
                left: 0;
                width: 1.9rem;
                text-align: right;
                color: color-mix(in srgb, var(--foreground) 32%, transparent);
                user-select: none;
            }

            .docs-article pre code.hl .cl:empty::after {
                content: "\200B";
            }

        .docs-article pre code .tk-k { color: var(--syn-key); }
        .docs-article pre code .tk-s { color: var(--syn-str); }
        .docs-article pre code .tk-n { color: var(--syn-num); }
        .docs-article pre code .tk-b { color: var(--syn-bi); }

        .docs-article pre code .tk-c {
            color: var(--syn-com);
            font-style: italic;
        }

    .docs-article :not(pre) > code {
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
        font-size: 0.875em;
        background: color-mix(in srgb, var(--accent) 13%, transparent);
        color: color-mix(in srgb, var(--accent) 30%, var(--foreground));
        padding: 0.1em 0.35em;
        border-radius: 6px;
    }

    .docs-article tbody td.sig {
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
        font-size: 0.8125rem;
    }

        .docs-article tbody td.sig .sig-name {
            color: color-mix(in srgb, var(--accent) 30%, var(--foreground));
        }

    main ::selection {
        background: color-mix(in srgb, var(--accent) 40%, transparent);
    }

    .docs-article pre .icon-btn {
        position: absolute;
        top: 0.4rem;
        right: 0.4rem;
        width: 2rem;
        height: 2rem;
        opacity: 0;
    }

        .docs-article pre .icon-btn svg {
            width: 1.1rem;
            height: 1.1rem;
        }

        .docs-article pre:hover .icon-btn,
        .docs-article pre .icon-btn:focus-visible,
        .docs-article pre .icon-btn.copied {
            opacity: 1;
        }

    .docs-article table {
        border-collapse: separate;
        border-spacing: 0;
        width: 100%;
        font-size: 0.875rem;
        border: 1px solid var(--border);
        border-radius: var(--radius);
        overflow: hidden;
    }

    .docs-article th,
    .docs-article td {
        padding: 0.5rem 0.75rem;
        text-align: left;
    }

    .docs-article thead th {
        background: #ffffff08;
        font-weight: 600;
        border-bottom: 1px solid var(--border);
    }

    .docs-article tbody td {
        border-bottom: 1px solid var(--border);
    }

    .docs-article tbody tr:last-child td {
        border-bottom: none;
    }

    .docs-article .table-scroll {
        overflow-x: auto;
    }

@media (max-width: 40rem) {
    .docs-article .table-scroll table {
        min-width: 32rem;
    }
}

    .docs-article a:not(.btn),
    .docs-article a:not(.btn):visited {
        color: var(--link);
        text-decoration: none;
    }

        .docs-article a:not(.btn):hover {
            text-decoration: underline;
            text-underline-offset: 3px;
        }

.docs-pager {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
}

    .docs-pager a {
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
        color: var(--foreground);
        text-decoration: none;
        font-size: 0.9rem;
        min-width: 0;
    }

    .docs-pager a.next {
        text-align: right;
        align-items: flex-end;
        margin-left: auto;
    }

    .docs-pager a:hover span:last-child {
        color: var(--link);
        text-decoration: underline;
        text-underline-offset: 3px;
    }

main .page:has(.docs-toc) {
    max-width: none;
}

.docs-columns {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
}

.docs-body {
    flex: 1;
    min-width: 0;
    max-width: 75ch;
}

.docs-toc {
    width: 13rem;
    flex-shrink: 0;
    position: sticky;
    top: 5rem;
    max-height: calc(100vh - 6.5rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    font-size: 0.8125rem;
}

.docs-toc-mobile {
    display: none;
}

    .docs-toc .caption {
        margin-bottom: 0.4rem;
    }

    .docs-toc ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0.1rem;
        border-left: 1px solid var(--border);
    }

    .docs-toc a {
        display: block;
        padding: 0.2rem 0.5rem 0.2rem 0.75rem;
        color: color-mix(in srgb, var(--foreground) 65%, transparent);
        text-decoration: none;
        transition: color 100ms ease-out;
    }

        .docs-toc a:hover {
            color: var(--foreground);
            text-decoration: underline;
            text-underline-offset: 3px;
        }

    .docs-toc li.toc-active > a {
        color: var(--link);
    }

    .docs-toc li.toc-h3 > a {
        padding-left: 1.5rem;
    }

@media (max-width: 80rem) {
    .docs-toc {
        display: none;
    }

    .docs-toc-mobile {
        display: block;
        margin-bottom: 1rem;
    }
}

.docs-article h2,
.docs-article h3 {
    position: relative;
    scroll-margin-top: 4.75rem;
}

    .docs-article .heading-anchor {
        margin-left: 0.35rem;
        font-weight: 400;
        opacity: 0;
        text-decoration: none;
        transition: opacity 100ms ease-out;
    }

        .docs-article h2:hover .heading-anchor,
        .docs-article h3:hover .heading-anchor,
        .docs-article .heading-anchor:focus-visible {
            opacity: 0.7;
        }

.nav-toggle {
    display: none;
}

.nav-backdrop {
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.nav-backdrop:not([hidden]) {
    position: fixed;
    inset: 3.5rem 0 0 0;
    z-index: 90;
}

.search-modal-results {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .search-modal-results:not([hidden]) {
        display: flex;
        flex-direction: column;
        gap: 0.3rem;
    }

@media (max-width: 40rem) {
    .search-modal {
        padding: 0;
        align-items: flex-end;
    }

        .search-modal .modal-panel {
            width: 100%;
            max-height: 85vh;
            max-height: 85dvh;
            border: none;
            border-radius: calc(var(--radius) * 1.5) calc(var(--radius) * 1.5) 0 0;
            padding: 0;
            gap: 0;
            overflow: hidden;
        }

    .search-modal-results:not([hidden]) {
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 0.75rem 1rem;
    }

    .search-modal-bar {
        flex-shrink: 0;
        margin: 0;
        padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom));
    }

        .search-modal-bar .password-wrap {
            flex: 1;
            min-width: 0;
        }

        .search-modal-bar .password-wrap input {
            width: 100%;
            box-sizing: border-box;
        }

        .search-modal-bar .password-toggle {
            width: 2.5rem;
            height: 2.5rem;
            right: 0;
        }
}

@media (max-width: 40rem) {
    .nav-toggle {
        display: inline-flex;
        flex-shrink: 0;
    }

    header div {
        gap: 0.5rem;
    }

    header nav,
    header .divider {
        display: none;
    }

    /* Stretch: else wide tables push the body past the phone viewport. */
    main {
        flex-direction: column;
        gap: 1.5rem;
        align-items: stretch;
    }

        main .sidebar {
            width: min(18rem, 85vw);
            position: fixed;
            top: 3.5rem;
            bottom: 0;
            left: 0;
            z-index: 95;
            max-height: none;
            overflow-y: auto;
            overscroll-behavior: contain;
            padding: 1rem;
            border-right: 1px solid var(--border);
            border-bottom: none;
            background: var(--background);
            transform: translateX(-105%);
            transition: transform 150ms cubic-bezier(0.22, 1, 0.36, 1);
        }

        main[data-nav-open] .sidebar {
            transform: none;
        }

    .docs-pager {
        flex-direction: column;
        gap: 0.5rem;
    }

        .docs-pager a.next {
            text-align: left;
            align-items: flex-start;
            margin-left: 0;
        }
}

@media (prefers-reduced-motion: reduce) {
    main .sidebar,
    .nav-backdrop {
        transition: none;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home {
    max-width: 45rem;
}

.home h1 {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.home-intro {
    max-width: 60ch;
}

.home-section {
    margin-top: 1.5rem;
}

    .home-section h2 {
        margin-top: 0;
        font-size: 1.1rem;
    }

.home-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.home-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 0.75rem;
    margin-top: 0.6rem;
}

.docs-article .home-reference {
    display: block;
    columns: 2;
    column-gap: 2rem;
    margin-top: 0.5rem;
    padding: 0;
    list-style: none;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.875rem;
}

    .docs-article .home-reference li {
        break-inside: avoid;
        padding-block: 0.1rem;
    }

.home-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

    .home-chips .btn svg {
        width: 0.9rem;
        height: 0.9rem;
    }

.home-updated {
    margin-top: 2rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border);
    font-size: 0.8125rem;
}

@media (max-width: 32rem) {
    .docs-article .home-reference {
        columns: 1;
    }
}
/* /Components/Pages/Search.razor.rz.scp.css */
.docs-article .search-page-results {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

    .search-page-results .result-item {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.1rem;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        text-align: left;
        text-decoration: none;
    }

    .search-page-results .result-main {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        min-width: 0;
    }

    .search-page-results .result-icon {
        display: flex;
        flex-shrink: 0;
    }

        .search-page-results .result-icon svg {
            width: 1rem;
            height: 1rem;
            opacity: 0.75;
        }

    .search-page-results .result-title {
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 0.875rem;
        font-weight: 600;
    }

    .search-page-results .result-section {
        font-size: 0.75rem;
        opacity: 0.65;
        white-space: nowrap;
    }

    .search-page-results .result-snippet {
        font-size: 0.8rem;
        opacity: 0.8;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* /Components/SearchBox.razor.rz.scp.css */
.searchbox {
    position: relative;
    margin-left: auto;
    display: flex;
    flex-shrink: 0;
    min-width: 0;
}

.search-results {
    right: 0;
    width: 22rem;
    max-width: 80vw;
    max-height: 24rem;
    overflow-y: auto;
}

.searchbox kbd {
    position: absolute;
    right: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.65rem;
    font-family: inherit;
    opacity: 0.55;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0.05rem 0.3rem;
    pointer-events: none;
}

.search-toggle {
    display: none;
}

@media (max-width: 40rem) {
    .searchbox kbd {
        display: none;
    }

    .search-toggle {
        display: inline-flex;
        flex-shrink: 0;
    }

    .searchbox .search {
        display: none;
    }
}
