[hidden] {
    display: none !important;
}

:root {
    --docs-search-color-border-default: var(--docs-color-border-default, #334155);
    --docs-search-color-border-muted: var(--docs-color-border-muted, #1e293b);
    --docs-search-color-border-strong: var(--docs-color-border-strong, #475569);
    --docs-search-color-border-accent-hover: var(--docs-color-border-accent-hover, rgba(34, 211, 238, 0.45));
    --docs-search-color-border-accent-muted: var(--docs-color-border-accent-muted, rgba(34, 211, 238, 0.3));
    --docs-search-color-border-accent-active: var(--docs-color-border-accent-active, rgba(34, 211, 238, 0.42));
    --docs-search-color-surface-canvas: var(--docs-color-surface-canvas, #020617);
    --docs-search-color-surface-raised: var(--docs-color-surface-raised, #0f172a);
    --docs-search-color-surface-panel: var(--docs-color-surface-panel, rgba(15, 23, 42, 0.72));
    --docs-search-color-surface-panel-elevated: var(--docs-color-surface-panel-elevated, rgba(15, 23, 42, 0.86));
    --docs-search-color-surface-panel-heavy: var(--docs-color-surface-panel-heavy, rgba(15, 23, 42, 0.88));
    --docs-search-color-surface-overlay: var(--docs-color-surface-overlay, rgba(2, 6, 23, 0.78));
    --docs-search-color-surface-overlay-soft: var(--docs-color-surface-overlay-soft, rgba(2, 6, 23, 0.65));
    --docs-search-color-text-strong: var(--docs-color-text-strong, #f8fafc);
    --docs-search-color-text-default: var(--docs-color-text-default, #e2e8f0);
    --docs-search-color-text-muted: var(--docs-color-text-muted, #cbd5e1);
    --docs-search-color-text-subtle: var(--docs-color-text-subtle, #94a3b8);
    --docs-search-color-text-faint: var(--docs-color-text-faint, #64748b);
    --docs-search-color-text-info-muted: var(--docs-color-text-info-muted, #bfdbfe);
    --docs-search-color-text-mark: var(--docs-color-text-mark, #ecfeff);
    --docs-search-color-accent: var(--docs-color-accent, #67e8f9);
    --docs-search-color-accent-strong: var(--docs-color-accent-strong, #22d3ee);
    --docs-search-color-accent-soft: var(--docs-color-accent-soft, #cffafe);
    --docs-search-color-accent-muted: var(--docs-color-accent-muted, #a5f3fc);
    --docs-search-color-accent-mark-fill: var(--docs-color-accent-mark-fill, rgba(34, 211, 238, 0.25));
    --docs-search-color-state-active-fill: var(--docs-color-state-active-fill, rgba(8, 47, 73, 0.35));
    --docs-search-color-state-active-fill-strong: var(--docs-color-state-active-fill-strong, rgba(8, 47, 73, 0.45));
    --docs-search-color-skeleton-edge: var(--docs-color-skeleton-edge, rgba(30, 41, 59, 0.9));
    --docs-search-color-skeleton-mid: var(--docs-color-skeleton-mid, rgba(51, 65, 85, 0.55));
    --docs-search-focus-ring-inset: var(--docs-focus-ring-inset, 0 0 0 1px var(--docs-search-color-accent-strong) inset);
}

#docs-search-input,
#docs-search-page-input,
.docs-search-page-select {
    width: 100%;
    border: 1px solid var(--docs-search-color-border-default);
    background: var(--docs-search-color-surface-canvas);
    color: var(--docs-search-color-text-default);
    border-radius: 0.75rem;
    padding: 0.65rem 0.8rem;
    outline: none;
}

#docs-search-input:focus,
#docs-search-page-input:focus,
.docs-search-page-select:focus,
.docs-search-page-chip:focus,
.docs-search-page-starter-chip:focus,
.docs-search-page-filters-toggle:focus,
.docs-search-page-clear-filters:focus,
.docs-search-page-retry:focus {
    border-color: var(--docs-search-color-accent-strong);
    box-shadow: var(--docs-search-focus-ring-inset);
}

#docs-search-results {
    margin-top: 0.5rem;
    border: 1px solid var(--docs-search-color-border-muted);
    border-radius: 0.75rem;
    background: var(--docs-search-color-surface-canvas);
    overflow: hidden;
    max-height: 18rem;
    overflow-y: auto;
}

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

.docs-search-result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.docs-search-option a {
    display: block;
    padding: 0.65rem 0.75rem;
    text-decoration: none;
}

.docs-search-option-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.docs-search-option-title {
    display: block;
    color: var(--docs-search-color-text-default);
    font-size: 0.9rem;
    line-height: 1.35;
}

.docs-search-option-path {
    display: block;
    color: var(--docs-search-color-text-faint);
    font-size: 0.74rem;
    margin-top: 0.2rem;
}

.docs-search-option.active,
.docs-search-option:hover {
    background: var(--docs-search-color-surface-raised);
}

.docs-search-empty {
    color: var(--docs-search-color-text-subtle);
    font-size: 0.84rem;
    padding: 0.8rem;
}

.docs-search-page {
    max-width: 60rem;
    margin: 0 auto;
    display: grid;
    gap: 1rem;
}

#docs-search-page-input {
    font-size: 1rem;
    min-height: 3rem;
}

.docs-search-page-filters-toggle {
    min-height: 3rem;
    border: 1px solid var(--docs-search-color-border-default);
    border-radius: 0.8rem;
    background: var(--docs-search-color-surface-panel-elevated);
    color: var(--docs-search-color-text-default);
    padding: 0.7rem 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.docs-search-page-filters-toggle:hover {
    border-color: var(--docs-search-color-border-accent-hover);
    color: var(--docs-search-color-accent-soft);
}

.docs-search-page-status,
.docs-search-page-results-meta {
    margin: 0;
    color: var(--docs-search-color-text-subtle);
    font-size: 0.92rem;
}

.docs-search-page-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.docs-search-page-active-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid var(--docs-search-color-border-accent-muted);
    background: var(--docs-search-color-state-active-fill);
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    color: var(--docs-search-color-accent-soft);
    font-size: 0.76rem;
}

.docs-search-page-active-filter button {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 0;
}

.docs-search-page-filters-panel,
.docs-search-page-starter,
.docs-search-page-failure {
    border: 1px solid var(--docs-search-color-border-muted);
    border-radius: 1rem;
    background: var(--docs-search-color-surface-overlay);
    padding: 1rem;
}

.docs-search-page-filters {
    display: grid;
    gap: 1rem;
}

.docs-search-page-filter-group {
    display: grid;
    gap: 0.65rem;
}

.docs-search-page-filter-label {
    margin: 0;
    font-size: 0.73rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--docs-search-color-text-subtle);
    font-weight: 600;
}

.docs-search-page-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.docs-search-page-chip,
.docs-search-page-starter-chip,
.docs-search-page-retry {
    appearance: none;
    border: 1px solid var(--docs-search-color-border-default);
    background: var(--docs-search-color-surface-canvas);
    color: var(--docs-search-color-text-default);
    border-radius: 999px;
    padding: 0.5rem 0.8rem;
    font: inherit;
    cursor: pointer;
    min-height: 2.75rem;
}

.docs-search-page-chip {
    font-size: 0.82rem;
}

.docs-search-page-chip:hover,
.docs-search-page-starter-chip:hover,
.docs-search-page-retry:hover {
    border-color: var(--docs-search-color-border-accent-hover);
    color: var(--docs-search-color-accent-soft);
}

.docs-search-page-chip[aria-pressed="true"] {
    border-color: var(--docs-search-color-border-accent-active);
    background: var(--docs-search-color-state-active-fill-strong);
    color: var(--docs-search-color-accent-soft);
}

.docs-search-page-chip:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.docs-search-page-starter {
    display: grid;
    gap: 0.85rem;
}

.docs-search-page-starter-copy {
    margin: 0;
    color: var(--docs-search-color-text-muted);
    line-height: 1.55;
}

.docs-search-page-starter-chip {
    background: var(--docs-search-color-surface-panel-heavy);
    font-size: 0.84rem;
}

.docs-search-page-starter-docs {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.35rem;
    border-top: 1px solid var(--docs-search-color-border-default);
    padding-top: 0.95rem;
}

.docs-search-page-starter-heading {
    margin: 0;
    color: var(--docs-search-color-text-strong);
    font-size: 1rem;
    line-height: 1.3;
}

.docs-search-page-starter-list {
    display: grid;
    gap: 0;
}

.docs-search-page-section-title {
    margin: 0 0 0.55rem;
    font-size: 1rem;
    color: var(--docs-search-color-text-strong);
}

.docs-search-page-failure {
    display: grid;
    gap: 1rem;
}

.docs-search-page-retry {
    border-radius: 0.8rem;
    padding-inline: 1rem;
    font-size: 0.84rem;
    font-weight: 600;
}

.docs-search-page-results {
    display: grid;
    gap: 0.9rem;
}

.docs-search-result {
    display: grid;
    gap: 0.55rem;
    padding: 0.05rem 0 1rem;
    border-bottom: 1px solid var(--docs-search-color-border-muted);
}

.docs-search-result:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.docs-search-result-title {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.3;
}

.docs-search-result-title a {
    color: var(--docs-search-color-text-default);
    text-decoration: none;
}

.docs-search-result-title a:hover {
    color: var(--docs-search-color-accent);
}

.docs-search-result-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
    color: var(--docs-search-color-text-faint);
    font-size: 0.78rem;
}

.docs-search-result-breadcrumb-separator {
    color: var(--docs-search-color-border-strong);
}

.docs-search-result-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.docs-search-result-meta-line {
    margin: -0.1rem 0 0;
    color: var(--docs-search-color-text-subtle);
    font-size: 0.82rem;
    line-height: 1.45;
}

.docs-search-result-badge {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--docs-search-color-border-default);
    border-radius: 999px;
    padding: 0.22rem 0.55rem;
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--docs-search-color-text-info-muted);
    background: var(--docs-search-color-surface-panel);
    font-weight: 600;
}

.docs-search-result-badge-secondary {
    color: var(--docs-search-color-text-muted);
}

.docs-search-result-page-type-badge {
    width: fit-content;
}

.docs-search-result-snippet {
    margin: 0;
    color: var(--docs-search-color-text-muted);
    line-height: 1.6;
}

.docs-search-result-starter {
    padding-block: 0.85rem;
}

.docs-search-result-starter:first-child {
    padding-top: 0.15rem;
}

.docs-search-result mark {
    background: var(--docs-search-color-accent-mark-fill);
    color: var(--docs-search-color-text-mark);
    border-radius: 0.18rem;
    padding: 0.02rem 0.12rem;
}

.docs-search-page-no-results {
    display: grid;
    gap: 0.85rem;
    border: 1px solid var(--docs-search-color-border-muted);
    border-radius: 1rem;
    padding: 1rem;
    background: var(--docs-search-color-surface-overlay-soft);
}

.docs-search-page-no-results-summary {
    margin: 0;
    color: var(--docs-search-color-text-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.docs-search-page-clear-filters {
    appearance: none;
    justify-self: start;
    border: 1px solid var(--docs-search-color-border-accent-muted);
    border-radius: 0.75rem;
    background: var(--docs-search-color-state-active-fill);
    color: var(--docs-search-color-accent-soft);
    cursor: pointer;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 600;
    min-height: 2.75rem;
    padding: 0.55rem 0.9rem;
}

.docs-search-page-clear-filters:hover {
    border-color: var(--docs-search-color-border-accent-hover);
    background: var(--docs-search-color-state-active-fill-strong);
}

.docs-search-page-no-results-links {
    display: grid;
    gap: 0.65rem;
}

.docs-search-page-no-results-link {
    color: var(--docs-search-color-accent);
    text-decoration: none;
}

.docs-search-page-no-results-link:hover {
    color: var(--docs-search-color-accent-muted);
}

.docs-search-page-results[aria-busy="true"] .docs-search-result:not(.docs-search-result-skeleton) {
    opacity: 0.72;
}

.docs-search-result-skeleton {
    padding-block: 0.25rem 1rem;
}

.docs-search-skeleton {
    border-radius: 999px;
    background: linear-gradient(90deg, var(--docs-search-color-skeleton-edge), var(--docs-search-color-skeleton-mid), var(--docs-search-color-skeleton-edge));
    background-size: 200% 100%;
    animation: docs-search-skeleton 1.4s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .docs-search-skeleton {
        animation: none;
        background-position: 0 0;
    }
}

.docs-search-skeleton-title {
    height: 1rem;
    width: min(20rem, 60%);
}

.docs-search-skeleton-meta {
    height: 0.72rem;
    width: min(16rem, 46%);
}

.docs-search-skeleton-line {
    height: 0.78rem;
    width: 100%;
}

.docs-search-skeleton-line-short {
    width: 72%;
}

@keyframes docs-search-skeleton {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

@media (max-width: 767px) {
    #docs-search-results {
        max-height: 14rem;
    }

    .docs-search-page {
        max-width: 100%;
        gap: 0.9rem;
    }

    .docs-search-page-filters-toggle {
        width: fit-content;
    }

    .docs-search-page-filters-panel {
        padding: 0.9rem;
    }

    .docs-search-result {
        padding-bottom: 0.85rem;
    }

    .docs-search-result-title,
    .docs-search-result-meta-line,
    .docs-search-result-snippet,
    .docs-search-result-badge,
    .docs-search-result-page-type-badge {
        overflow-wrap: anywhere;
    }
}

@media (min-width: 768px) {
    .docs-search-page-filters-toggle {
        display: none;
    }
}
