:root {
    --xavi-search-bg: #000;
    --xavi-search-surface: #090909;
    --xavi-search-surface-2: #111;
    --xavi-search-line: #2a2a2a;
    --xavi-search-line-strong: #4a4a4a;
    --xavi-search-text: #f3f3f3;
    --xavi-search-muted: #9d9d9d;
    --xavi-search-accent: #d80621;
    --xavi-search-accent-soft: rgba(216, 6, 33, 0.18);
    --xavi-search-good: #55b66f;
    --xavi-search-danger: #d80621;
}

body,
body .ccm-page {
    background: var(--xavi-search-bg) !important;
}

.xavi-search-search-app,
.xavi-search-search-app *,
.xavi-search-search-app *::before,
.xavi-search-search-app *::after {
    box-sizing: border-box;
    border-radius: 0 !important;
}

.xavi-search-search-app {
    width: 100%;
    max-width: none;
    min-height: 58vh;
    margin: 0;
    padding: 0;
    background: var(--xavi-search-bg);
    color: var(--xavi-search-text);
    font-family: inherit;
}

.xavi-search-search-app button,
.xavi-search-search-app input,
.xavi-search-search-app select,
.xavi-search-search-app summary {
    font: inherit;
}

.xavi-search-search-app button,
.xavi-search-search-app select,
.xavi-search-search-app summary {
    cursor: pointer;
}

.xavi-search-search-app button:focus-visible,
.xavi-search-search-app input:focus-visible,
.xavi-search-search-app select:focus-visible,
.xavi-search-search-app summary:focus-visible,
.xavi-search-search-app a:focus-visible {
    outline: 1px solid var(--xavi-search-accent);
    outline-offset: 2px;
}

.xavi-search-search-shell {
    position: relative;
    width: 100%;
    padding: 22px clamp(14px, 3vw, 46px) 0;
    border-bottom: 1px solid var(--xavi-search-line);
    background: var(--xavi-search-bg);
}

.xavi-search-search-form {
    position: relative;
    width: 100%;
    margin: 0;
}

.xavi-search-search-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    min-height: 54px;
    border: 1px solid var(--xavi-search-line-strong);
    background: #000;
}

.xavi-search-mode-button {
    display: none !important;
}

.xavi-search-input-wrap {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: stretch;
}

.xavi-search-query {
    width: 100%;
    min-width: 0;
    height: 52px;
    padding: 0 48px 0 16px;
    border: 0;
    background: #000;
    color: var(--xavi-search-text);
    font-size: 18px;
    line-height: 52px;
    box-shadow: none;
    outline: 0;
}

.xavi-search-query::placeholder {
    color: #747474;
    opacity: 1;
}

.xavi-search-query::-webkit-search-cancel-button {
    display: none;
}

.xavi-search-clear {
    position: absolute;
    top: 0;
    right: 0;
    width: 46px;
    height: 52px;
    padding: 0;
    border: 0;
    border-left: 1px solid transparent;
    background: transparent;
    color: var(--xavi-search-muted);
    font-size: 24px;
    line-height: 1;
}

.xavi-search-clear:hover {
    color: #fff;
    background: var(--xavi-search-surface-2);
}

.xavi-search-submit {
    min-width: 108px;
    height: 52px;
    padding: 0 20px;
    border: 0;
    border-left: 1px solid var(--xavi-search-accent);
    background: var(--xavi-search-accent);
    color: #fff;
    font-weight: 600;
}

.xavi-search-submit:hover,
.xavi-search-submit:focus-visible {
    background: #b8051c;
}

.xavi-search-suggestions {
    position: relative;
    z-index: 50;
    top: auto;
    left: auto;
    right: auto;
    width: 100%;
    max-height: min(46vh, 420px);
    overflow: auto;
    border: 1px solid var(--xavi-search-line-strong);
    background: #000;
    box-shadow: none;
}

.xavi-search-suggestion {
    display: inline-flex;
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
    min-height: 34px;
    align-items: center;
    padding: 7px 10px;
    border: 0;
    background: #000;
    color: var(--xavi-search-text);
    text-align: left;
    white-space: normal;
}

.xavi-search-suggestion:last-child {
    border-bottom: 0;
}

.xavi-search-suggestion:hover,
.xavi-search-suggestion.is-active {
    background: var(--xavi-search-surface-2);
    color: #fff;
}

.xavi-search-mode-tabs {
    display: flex;
    align-items: stretch;
    gap: 0;
    width: 100%;
    margin: 12px 0 0;
    overflow-x: auto;
    scrollbar-width: thin;
    border-top: 1px solid var(--xavi-search-line);
    border-left: 1px solid var(--xavi-search-line);
}

.xavi-search-mode-tabs button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 7px 14px;
    border: 0;
    border-right: 1px solid var(--xavi-search-line);
    border-bottom: 2px solid transparent;
    background: #000;
    color: #b5b5b5;
    font-size: 14px;
}

.xavi-search-mode-tabs button:hover {
    background: var(--xavi-search-surface);
    color: #fff;
}

.xavi-search-mode-tabs button.is-active {
    border-bottom-color: var(--xavi-search-accent);
    background: var(--xavi-search-accent-soft);
    color: #fff;
}

.xavi-search-utility-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 39px;
    margin-top: 0;
    border-top: 1px solid var(--xavi-search-line);
}

.xavi-search-options {
    position: relative;
    margin-right: auto;
}

.xavi-search-options > summary,
.xavi-search-status-button,
.xavi-search-copy-link {
    min-height: 38px;
    padding: 8px 12px;
    border: 0;
    border-right: 1px solid var(--xavi-search-line);
    background: #000;
    color: var(--xavi-search-muted);
    list-style: none;
    font-size: 13px;
}

.xavi-search-options > summary::-webkit-details-marker {
    display: none;
}

.xavi-search-options > summary::after {
    content: ' +';
}

.xavi-search-options[open] > summary::after {
    content: ' −';
}

.xavi-search-options > summary:hover,
.xavi-search-status-button:hover,
.xavi-search-copy-link:hover {
    background: var(--xavi-search-surface-2);
    color: #fff;
}

.xavi-search-controls {
    position: absolute;
    z-index: 40;
    top: 100%;
    left: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 1px;
    width: min(680px, calc(100vw - 28px));
    padding: 1px;
    border: 1px solid var(--xavi-search-line-strong);
    background: var(--xavi-search-line);
}

.xavi-search-controls label,
.xavi-search-recent-block {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    padding: 10px;
    background: #000;
    color: var(--xavi-search-muted);
    font-size: 12px;
}

.xavi-search-controls select {
    width: 100%;
    height: 36px;
    padding: 0 28px 0 9px;
    border: 1px solid var(--xavi-search-line-strong);
    background: #050505;
    color: var(--xavi-search-text);
}

.xavi-search-recent-block {
    grid-column: 1 / -1;
}

.xavi-search-recent-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.xavi-search-recent-heading button {
    padding: 2px 7px;
    border: 1px solid var(--xavi-search-line);
    background: #000;
    color: var(--xavi-search-muted);
    font-size: 11px;
}

.xavi-search-recent-searches {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    background: var(--xavi-search-line);
}

.xavi-search-recent-searches p {
    margin: 0;
    padding: 6px 8px;
    background: #000;
    color: #777;
}

.xavi-search-recent-searches button {
    padding: 6px 9px;
    border: 0;
    background: #090909;
    color: #ccc;
    text-align: left;
}

.xavi-search-recent-searches button:hover {
    background: var(--xavi-search-accent-soft);
    color: #fff;
}

.xavi-search-status-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-left: 1px solid var(--xavi-search-line);
}

.xavi-search-status-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #666;
}

.xavi-search-status-dot.is-good { background: var(--xavi-search-good); }
.xavi-search-status-dot.is-bad { background: var(--xavi-search-danger); }

.xavi-search-results-area {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 16px clamp(14px, 3vw, 46px) 42px;
    background: #000;
}

.xavi-search-results-toolbar {
    display: flex;
    align-items: baseline;
    gap: 12px;
    min-height: 28px;
    margin: 0;
    padding: 0 0 8px;
    border-bottom: 1px solid var(--xavi-search-line);
}

.xavi-search-results-toolbar:has(h2:empty):has(p:empty) {
    display: none;
}

.xavi-search-results-toolbar h2 {
    margin: 0;
    color: var(--xavi-search-text);
    font-size: 15px;
    font-weight: 600;
}

.xavi-search-results-toolbar p {
    margin: 0;
    color: var(--xavi-search-muted);
    font-size: 12px;
}

.xavi-search-notice,
.xavi-search-answer-stack > *,
.xavi-search-research-card {
    margin: 12px 0 0;
    padding: 12px;
    border: 1px solid var(--xavi-search-line);
    background: var(--xavi-search-surface);
    color: var(--xavi-search-text);
}

.xavi-search-notice {
    color: #d8d8d8;
}

.xavi-search-results {
    width: 100%;
}

.xavi-search-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    width: 100%;
    margin: 0;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid var(--xavi-search-line);
    background: #000;
    color: var(--xavi-search-text);
    box-shadow: none;
}

.xavi-search-result:hover {
    background: #030303;
}

.xavi-search-result-main {
    min-width: 0;
}

.xavi-search-result-domain {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 4px;
    color: #8f8f8f;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.xavi-search-favicon {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.xavi-search-result h3 {
    margin: 0 0 6px;
    font-size: clamp(17px, 1.45vw, 21px);
    line-height: 1.25;
    font-weight: 500;
}

.xavi-search-result h3 a,
.xavi-search-image-result a,
.xavi-search-research-card a {
    color: var(--xavi-search-text);
    text-decoration: none;
}

.xavi-search-result h3 a:hover,
.xavi-search-image-result a:hover,
.xavi-search-research-card a:hover {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: var(--xavi-search-accent);
    text-underline-offset: 3px;
}

.xavi-search-result-snippet {
    max-width: 1000px;
    margin: 0;
    color: #b7b7b7;
    font-size: 14px;
    line-height: 1.52;
}

.xavi-search-result-meta,
.xavi-search-torrent-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin-top: 9px;
    color: #8d8d8d;
    font-size: 12px;
}

.xavi-search-chip {
    display: inline-flex;
    align-items: center;
    margin: 0 13px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #8d8d8d;
    line-height: 1.5;
}

.xavi-search-chip strong {
    color: #d8d8d8;
    font-weight: 600;
    margin-right: 3px;
}

.xavi-search-result-thumb {
    width: 168px;
    height: 104px;
    object-fit: cover;
    border: 1px solid var(--xavi-search-line);
    background: var(--xavi-search-surface-2);
}

.xavi-search-magnet-link {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin-left: 2px;
    padding: 4px 9px;
    border: 1px solid var(--xavi-search-accent);
    background: var(--xavi-search-accent);
    color: #fff !important;
    text-decoration: none !important;
}

.xavi-search-magnet-link:hover {
    background: #b8051c;
}

.xavi-search-results.is-images {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 1px;
    margin-top: 1px;
    background: var(--xavi-search-line);
}

.xavi-search-image-result {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: #000;
}

.xavi-search-image-result > .xavi-search-image-open {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: var(--xavi-search-surface-2);
    color: inherit;
    cursor: zoom-in;
    text-align: left;
}

.xavi-search-image-result img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 120ms ease;
}

.xavi-search-image-result img.is-loaded {
    opacity: 1;
}

.xavi-search-image-result > div {
    min-height: 48px;
    padding: 8px 9px;
    border-top: 1px solid var(--xavi-search-line);
    color: var(--xavi-search-text);
    font-size: 12px;
    line-height: 1.3;
}

.xavi-search-research-card {
    border-color: #343434;
    background: #050505;
}

.xavi-search-research-card h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 16px;
}

.xavi-search-research-card p {
    color: #c4c4c4;
    line-height: 1.55;
}

.xavi-search-research-sources {
    display: grid;
    gap: 5px;
}

.xavi-search-pagination {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 0;
    margin: 22px 0 0;
}

.xavi-search-pagination button,
.xavi-search-pagination span {
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid var(--xavi-search-line-strong);
    background: #000;
    color: var(--xavi-search-text);
}

.xavi-search-pagination span {
    border-left: 0;
    border-right: 0;
    color: var(--xavi-search-muted);
}

.xavi-search-pagination button:hover:not(:disabled) {
    background: var(--xavi-search-surface-2);
}

.xavi-search-pagination button:disabled {
    color: #555;
    cursor: default;
}

.xavi-search-empty,
.xavi-search-runtime-data {
    display: none !important;
}

.xavi-search-search-app code {
    background: transparent;
    color: inherit;
}

.xavi-search-cms-main {
    width: 100%;
    padding: 0 clamp(14px, 3vw, 46px) 30px;
    background: #000;
    color: var(--xavi-search-text);
}

@media (max-width: 767px) {
    .xavi-search-search-shell,
    .xavi-search-results-area {
        padding-left: 10px;
        padding-right: 10px;
    }

    .xavi-search-search-shell {
        padding-top: 12px;
    }

    .xavi-search-search-box {
        min-height: 48px;
    }

    .xavi-search-query,
    .xavi-search-clear,
    .xavi-search-submit {
        height: 46px;
    }

    .xavi-search-query {
        padding-left: 11px;
        padding-right: 40px;
        font-size: 16px;
        line-height: 46px;
    }

    .xavi-search-clear {
        width: 40px;
    }

    .xavi-search-submit {
        min-width: 76px;
        padding: 0 10px;
        font-size: 13px;
    }

    .xavi-search-suggestions {
        right: 76px;
    }

    .xavi-search-mode-tabs {
        flex-wrap: nowrap;
    }

    .xavi-search-mode-tabs button {
        min-height: 36px;
        padding: 7px 11px;
        font-size: 13px;
    }

    .xavi-search-utility-bar {
        min-height: 36px;
    }

    .xavi-search-options > summary,
    .xavi-search-status-button,
    .xavi-search-copy-link {
        min-height: 35px;
        padding: 7px 9px;
        font-size: 12px;
    }

    .xavi-search-controls {
        position: fixed;
        top: auto;
        right: 10px;
        bottom: 10px;
        left: 10px;
        width: auto;
        grid-template-columns: 1fr;
        max-height: 70vh;
        overflow: auto;
    }

    .xavi-search-recent-block {
        grid-column: auto;
    }

    .xavi-search-results-area {
        padding-top: 10px;
    }

    .xavi-search-result {
        grid-template-columns: minmax(0, 1fr) 92px;
        gap: 10px;
        padding: 14px 0;
    }

    .xavi-search-result:not(:has(.xavi-search-result-thumb)) {
        grid-template-columns: 1fr;
    }

    .xavi-search-result-thumb {
        width: 92px;
        height: 72px;
    }

    .xavi-search-result h3 {
        font-size: 17px;
    }

    .xavi-search-result-snippet {
        font-size: 13px;
    }

    .xavi-search-results.is-images {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .xavi-search-status-label {
        display: none;
    }
}

@media (max-width: 420px) {
    .xavi-search-copy-link {
        display: none;
    }

    .xavi-search-results.is-images {
        grid-template-columns: 1fr 1fr;
    }
}


/* Xavi Search v2.1 — restore the proven centered search-suite layout while keeping v2 results. */
.xavi-search-search-stage {
    width: 100%;
    padding: clamp(42px, 9vh, 104px) 18px 22px;
    border-bottom: 1px solid var(--xavi-search-line);
    background: #000;
}

.xavi-search-search-center {
    width: min(1080px, 100%);
    margin: 0 auto;
}

.xavi-search-search-center .xavi-search-mode-tabs {
    width: auto;
    margin: 0 auto 10px;
    justify-content: center;
    border: 1px solid var(--xavi-search-line);
    overflow-x: auto;
    background: #050505;
}

.xavi-search-search-center .xavi-search-mode-tabs button {
    min-height: 38px;
    padding: 8px 13px;
    border: 0;
    border-right: 1px solid var(--xavi-search-line);
    background: #050505;
    color: #cfcfcf;
    white-space: nowrap;
}

.xavi-search-search-center .xavi-search-mode-tabs button:last-child {
    border-right: 0;
}

.xavi-search-search-center .xavi-search-mode-tabs button:hover {
    background: #111;
    color: #fff;
}

.xavi-search-search-center .xavi-search-mode-tabs button.is-active {
    background: #161616;
    color: #fff;
    box-shadow: inset 0 -2px 0 var(--xavi-search-accent);
}

.xavi-search-search-center .xavi-search-mode-tabs .xavi-search-advanced-toggle[aria-expanded="true"] {
    background: #161616;
    color: #fff;
    box-shadow: inset 0 -2px 0 #fff;
}

.xavi-search-search-center .xavi-search-search-form {
    position: relative;
    width: 100%;
    margin: 0;
}

.xavi-search-search-center .xavi-search-search-box {
    width: 100%;
    min-height: 56px;
    grid-template-columns: minmax(0, 1fr) 116px;
    border: 1px solid #666;
    background: #000;
}

.xavi-search-search-center .xavi-search-query {
    height: 54px;
    padding: 0 94px 0 17px;
    font-size: 19px;
    line-height: 54px;
    background: #000;
    color: #fff;
}

.xavi-search-search-center .xavi-search-query:focus {
    box-shadow: inset 0 0 0 1px #fff;
}

.xavi-search-search-center .xavi-search-submit {
    min-width: 116px;
    height: 54px;
    padding: 0 19px;
    border-left: 1px solid #666;
    background: #000;
    color: #fff;
}

.xavi-search-search-center .xavi-search-submit:hover,
.xavi-search-search-center .xavi-search-submit:focus-visible {
    background: #151515;
}

.xavi-search-search-center .xavi-search-clear {
    right: 7px;
    width: 38px;
    height: 38px;
    top: 8px;
    color: #c8c8c8;
    border-left: 0;
    background: #090909;
}

.xavi-search-activity-spinner {
    position: absolute;
    right: 56px;
    top: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border: 5px solid rgba(255,255,255,.24);
    border-top-color: transparent;
    border-left-color: transparent;
    opacity: 0;
    pointer-events: none;
    animation: xavi-search-restored-spin .65s linear infinite;
    transition: opacity .12s ease;
}

.xavi-search-activity-spinner.is-active {
    opacity: 1;
}

.xavi-search-activity-spinner.is-typing {
    border-right-color: #fff;
    border-bottom-color: #fff;
}

.xavi-search-activity-spinner.is-suggesting,
.xavi-search-activity-spinner.is-error {
    border-right-color: #ff4b4b;
    border-bottom-color: #ff4b4b;
}

.xavi-search-activity-spinner.is-searching,
.xavi-search-activity-spinner.is-researching,
.xavi-search-activity-spinner.is-done {
    border-right-color: #4caf50;
    border-bottom-color: #4caf50;
}

@keyframes xavi-search-restored-spin {
    to { transform: rotate(360deg); }
}

.xavi-search-activity-line {
    min-height: 24px;
    padding: 5px 1px 0;
    color: #a9a9a9;
    font-size: 13px;
    line-height: 18px;
}

.xavi-search-activity-line:empty {
    min-height: 0;
}

.xavi-search-search-center .xavi-search-suggestions {
    left: auto;
    right: auto;
    top: auto;
    width: calc(100% - 116px);
    margin-top: -1px;
    border-color: #666;
    background: #000;
}

.xavi-search-advanced-panel {
    margin-top: 9px;
    padding: 12px;
    border: 1px solid #333;
    background: #080808;
}

.xavi-search-controls-expanded {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 10px;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.xavi-search-controls-expanded label {
    display: grid;
    gap: 5px;
    color: #bdbdbd;
    font-size: 12px;
}

.xavi-search-controls-expanded select {
    width: 100%;
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid #555;
    background: #000;
    color: #fff;
}

.xavi-search-controls-expanded .xavi-search-check-option {
    display: flex;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    align-self: end;
    padding: 7px 9px;
    border: 1px solid #555;
    background: #000;
    color: #eee;
    font-size: 13px;
}

.xavi-search-check-option input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #d80621;
}

.xavi-search-advanced-lower {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #292929;
}

.xavi-search-recent-block,
.xavi-search-engine-summary {
    min-width: 0;
    padding: 10px;
    border: 1px solid #292929;
    background: #050505;
}

.xavi-search-recent-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
    color: #eee;
}

.xavi-search-recent-heading button,
.xavi-search-recent-searches button {
    padding: 5px 8px;
    border: 1px solid #444;
    background: #000;
    color: #ccc;
}

.xavi-search-recent-searches {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.xavi-search-recent-searches p,
.xavi-search-engine-summary p {
    margin: 5px 0 0;
    color: #999;
    font-size: 12px;
}

.xavi-search-search-center .xavi-search-utility-bar {
    display: flex;
    justify-content: flex-end;
    gap: 0;
    min-height: 31px;
    margin-top: 7px;
    border: 0;
}

.xavi-search-search-center .xavi-search-status-button,
.xavi-search-search-center .xavi-search-copy-link {
    min-height: 31px;
    padding: 5px 9px;
    border: 1px solid #333;
    background: #050505;
    color: #999;
    font-size: 12px;
}

.xavi-search-search-center .xavi-search-copy-link {
    border-left: 0;
}

.xavi-search-results-area {
    width: min(1180px, calc(100% - 36px));
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 0 56px;
}

.xavi-search-results-toolbar {
    margin-bottom: 12px;
}

.xavi-search-results-toolbar h2 {
    margin: 0;
    color: #f3f3f3;
    font-size: 18px;
    font-weight: 600;
}

.xavi-search-results-toolbar p {
    margin: 4px 0 0;
}

.xavi-search-research-card {
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid #383838;
    background: #080808;
    color: #ddd;
}

.xavi-search-research-card h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 17px;
}

.xavi-search-research-status {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #bbb;
}

.xavi-search-research-status .xavi-search-mini-spinner {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    border: 3px solid rgba(255,255,255,.25);
    border-top-color: transparent;
    border-left-color: transparent;
    border-right-color: #4caf50;
    border-bottom-color: #4caf50;
    animation: xavi-search-restored-spin .65s linear infinite;
}

.xavi-search-research-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 12px 0;
    border-top: 1px solid #2c2c2c;
    border-left: 1px solid #2c2c2c;
}

.xavi-search-research-step {
    min-width: 0;
    padding: 9px;
    border-right: 1px solid #2c2c2c;
    border-bottom: 1px solid #2c2c2c;
}

.xavi-search-research-step strong {
    display: block;
    color: #eee;
    font-size: 12px;
}

.xavi-search-research-step span {
    display: block;
    margin-top: 3px;
    color: #888;
    font-size: 11px;
}

.xavi-search-research-followups {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.xavi-search-research-followups button {
    padding: 6px 8px;
    border: 1px solid #444;
    background: #000;
    color: #ddd;
}

.xavi-search-research-clusters {
    margin-top: 10px;
    color: #999;
    font-size: 12px;
}

@media (max-width: 820px) {
    .xavi-search-search-stage {
        padding: 28px 12px 18px;
    }

    .xavi-search-search-center .xavi-search-mode-tabs {
        justify-content: flex-start;
    }

    .xavi-search-controls-expanded {
        grid-template-columns: repeat(2, minmax(130px, 1fr));
    }

    .xavi-search-advanced-lower,
    .xavi-search-research-steps {
        grid-template-columns: 1fr 1fr;
    }

    .xavi-search-results-area {
        width: calc(100% - 24px);
    }
}

@media (max-width: 540px) {
    .xavi-search-search-center .xavi-search-search-box {
        grid-template-columns: minmax(0, 1fr) 86px;
    }

    .xavi-search-search-center .xavi-search-submit {
        min-width: 86px;
        padding: 0 12px;
    }

    .xavi-search-search-center .xavi-search-suggestions {
        right: auto;
        width: calc(100% - 86px);
    }

    .xavi-search-controls-expanded,
    .xavi-search-advanced-lower,
    .xavi-search-research-steps {
        grid-template-columns: 1fr;
    }
}


/* Xavi Search v2.2 — progressive multi-node search, visible activity, dorks, JSON inspector. */
.xavi-search-activity-spinner.is-idle {
    opacity: 1;
    width: 14px;
    height: 14px;
    margin-top: -7px;
    right: 59px;
    border: 0;
    background: #e21b2d;
    animation: none;
}

.xavi-search-activity-spinner.is-busy {
    opacity: 1;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    right: 56px;
    border: 4px solid rgba(76,175,80,.22);
    border-top-color: #4caf50;
    border-right-color: #4caf50;
    border-bottom-color: #4caf50;
    border-left-color: rgba(76,175,80,.22);
    background: transparent;
    animation: xavi-search-restored-spin .58s linear infinite;
}

.xavi-search-suggestion-merge {
    display: block;
    width: 100%;
    height: 22px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--xavi-search-line);
    background: #070707;
    color: #8d8d8d;
    font: 700 13px/21px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    text-align: center;
    cursor: pointer;
}

.xavi-search-suggestion-merge:hover,
.xavi-search-suggestion-merge:focus-visible {
    background: #111;
    color: #fff;
    outline: 1px solid #4caf50;
    outline-offset: -1px;
}

.xavi-search-controls-expanded input[type="text"],
.xavi-search-controls-expanded input[type="number"] {
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid var(--xavi-search-line-strong);
    border-radius: 0;
    background: #050505;
    color: #fff;
    box-shadow: none;
}

.xavi-search-controls-expanded input:focus,
.xavi-search-controls-expanded select:focus {
    border-color: #4caf50;
    outline: 1px solid #4caf50;
    outline-offset: -1px;
}

.xavi-search-dork-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 12px 0;
    border-top: 1px solid var(--xavi-search-line);
    border-bottom: 1px solid var(--xavi-search-line);
}

.xavi-search-dork-tools > span:first-child {
    margin-right: 4px;
    color: #fff;
    font-weight: 700;
}

.xavi-search-dork-tools button {
    min-height: 30px;
    padding: 4px 8px;
    border: 1px solid #333;
    border-radius: 0;
    background: #080808;
    color: #d9d9d9;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    cursor: pointer;
}

.xavi-search-dork-tools button:hover,
.xavi-search-dork-tools button:focus-visible {
    border-color: #4caf50;
    color: #fff;
    outline: 0;
}

.xavi-search-dork-help {
    flex: 1 1 260px;
    color: #8f8f8f;
    font-size: 12px;
}

.xavi-search-results-area {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    align-items: start;
    gap: 22px;
    width: min(1500px, calc(100% - 32px));
    max-width: 1500px;
}

.xavi-search-results-column {
    min-width: 0;
}

.xavi-search-json-panel {
    position: sticky;
    top: 18px;
    min-width: 0;
    max-height: calc(100vh - 36px);
    border: 1px solid #292929;
    border-radius: 0;
    background: #030303;
    overflow: hidden;
}

.xavi-search-json-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 38px;
    padding: 8px 10px;
    border-bottom: 1px solid #292929;
    background: #080808;
    color: #fff;
}

.xavi-search-json-heading [data-role="json-status"] {
    color: #4caf50;
    font: 12px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.xavi-search-json-panel pre {
    max-height: calc(100vh - 76px);
    margin: 0;
    padding: 12px;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    tab-size: 2;
    background: #030303;
    color: #b8e8bd;
    font: 11px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.xavi-search-scroll-sentinel {
    width: 100%;
    height: 2px;
    pointer-events: none;
}

.xavi-search-chip-node {
    border-color: #24552b;
    color: #9fe4a8;
}

.xavi-search-chip-engine {
    border-color: #3b3b3b;
}

.xavi-search-chip-archive,
.xavi-search-archive-link {
    border: 1px solid #704b17;
    border-radius: 0;
    color: #efbf70;
}

.xavi-search-archive-link {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 3px 7px;
    text-decoration: none;
}

.xavi-search-archive-link:hover,
.xavi-search-archive-link:focus-visible {
    border-color: #f0b14e;
    color: #fff;
    outline: 0;
}

@media (max-width: 1080px) {
    .xavi-search-results-area {
        grid-template-columns: minmax(0, 1fr);
        width: min(1180px, calc(100% - 28px));
    }

    .xavi-search-json-panel {
        position: relative;
        top: auto;
        max-height: 480px;
    }

    .xavi-search-json-panel pre {
        max-height: 430px;
    }
}

@media (max-width: 540px) {
    .xavi-search-results-area {
        width: calc(100% - 20px);
        gap: 14px;
    }

    .xavi-search-dork-tools {
        gap: 4px;
    }

    .xavi-search-dork-help {
        flex-basis: 100%;
    }
}

.xavi-search-activity-spinner.is-idle,
.xavi-search-activity-spinner.is-busy {
    border-radius: 50%;
}

/* Xavi Search suggestions: horizontal wrapped chip layout. */
.xavi-search-suggestions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    align-content: flex-start;
    gap: 1px;
    padding: 1px;
    background: var(--xavi-search-line);
}

.xavi-search-suggestion {
    display: inline-flex;
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
    min-height: 36px;
    align-items: center;
    padding: 8px 12px;
    border: 0;
    background: #000;
    white-space: normal;
    text-align: left;
}

.xavi-search-suggestion:last-child {
    border-bottom: 0;
}

.xavi-search-suggestion-merge {
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 30px;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 8px 7px;
    border: 0;
    background: #090909;
    color: var(--xavi-search-accent);
}

.xavi-search-suggestion-merge:hover,
.xavi-search-suggestion-merge:focus-visible {
    background: var(--xavi-search-accent-soft);
    color: #fff;
}

/* Xavi Search suggestion flow fix — horizontal chips with wrapping. */
.xavi-search-suggestions > .xavi-search-suggestion {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    align-items: center;
    margin: 0 !important;
    border: 0 !important;
}

.xavi-search-suggestions > .xavi-search-suggestion-merge {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 24px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
}


/* Search JSON accordion */
.xavi-search-json-panel {
    align-self: start;
}

.xavi-search-json-heading {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    min-height: 38px;
    border-bottom: 1px solid var(--xavi-search-line);
    background: #050505;
}

.xavi-search-json-toggle,
.xavi-search-json-copy {
    border: 0;
    background: transparent;
    color: var(--xavi-search-text);
}

.xavi-search-json-toggle {
    display: inline-flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 8px 10px;
    text-align: left;
}

.xavi-search-json-toggle:hover,
.xavi-search-json-copy:hover {
    background: var(--xavi-search-surface-2);
    color: #fff;
}

.xavi-search-json-chevron {
    display: inline-block;
    flex: 0 0 auto;
    width: 12px;
    color: var(--xavi-search-muted);
    font-size: 20px;
    line-height: 1;
    transform: rotate(0deg);
    transform-origin: center;
    transition: transform 120ms ease;
}

.xavi-search-json-panel.is-expanded .xavi-search-json-chevron {
    transform: rotate(90deg);
}

.xavi-search-json-heading-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: stretch;
}

.xavi-search-json-heading-actions [data-role="json-status"] {
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-left: 1px solid var(--xavi-search-line);
    color: var(--xavi-search-muted);
    font-size: 11px;
    white-space: nowrap;
}

.xavi-search-json-copy {
    min-width: 54px;
    padding: 0 10px;
    border-left: 1px solid var(--xavi-search-line);
    color: #ccc;
    font-size: 12px;
}

.xavi-search-json-body[hidden] {
    display: none !important;
}

.xavi-search-json-panel.is-collapsed .xavi-search-json-heading {
    border-bottom: 0;
}

.xavi-search-json-body {
    min-width: 0;
}


/* Search diagnostics accordion, directly below Search JSON. */
.xavi-search-notice.xavi-search-notice-relocated {
    display: none !important;
}

.xavi-search-diagnostics-panel {
    width: 100%;
    margin: 1px 0 0;
    border-top: 1px solid var(--xavi-search-line-strong);
    background: #000;
}

.xavi-search-diagnostics-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 40px;
    padding: 0;
    border-bottom: 1px solid var(--xavi-search-line);
}

.xavi-search-diagnostics-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 39px;
    padding: 8px 10px;
    border: 0;
    background: #000;
    color: var(--xavi-search-text);
    text-align: left;
}

.xavi-search-diagnostics-toggle:hover,
.xavi-search-diagnostics-toggle:focus-visible {
    background: var(--xavi-search-surface-2);
}

.xavi-search-diagnostics-chevron {
    display: inline-block;
    width: 12px;
    color: var(--xavi-search-muted);
    font-size: 19px;
    line-height: 1;
    transform: rotate(0deg);
    transition: transform 120ms ease;
}

.xavi-search-diagnostics-toggle[aria-expanded="true"] .xavi-search-diagnostics-chevron {
    transform: rotate(90deg);
}

.xavi-search-diagnostics-summary {
    min-width: 0;
    padding: 7px 10px;
    color: var(--xavi-search-muted);
    font-size: 12px;
    text-align: right;
    white-space: normal;
}

.xavi-search-diagnostics-notice {
    margin: 0;
    padding: 9px 10px;
    border-bottom: 1px solid var(--xavi-search-line);
    background: rgba(216, 6, 33, 0.10);
    color: #ddd;
    font-size: 12px;
    line-height: 1.4;
}

.xavi-search-diagnostics-body {
    max-height: min(48vh, 520px);
    overflow: auto;
    border-bottom: 1px solid var(--xavi-search-line);
    background: #050505;
}

.xavi-search-diagnostics-failure-summary {
    padding: 9px 10px;
    border-bottom: 1px solid var(--xavi-search-line);
    color: var(--xavi-search-muted);
    font-size: 12px;
}

.xavi-search-diagnostics-failures {
    display: grid;
    gap: 1px;
    background: var(--xavi-search-line);
}

.xavi-search-diagnostics-failure {
    min-width: 0;
    padding: 10px;
    background: #000;
}

.xavi-search-diagnostics-failure-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    color: #ddd;
    font-size: 12px;
}

.xavi-search-diagnostics-kind {
    color: var(--xavi-search-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 10px;
}

.xavi-search-diagnostics-failure code {
    padding: 2px 5px;
    border: 1px solid #4a2026;
    background: rgba(216, 6, 33, 0.12);
    color: #ff8c9b;
    font-size: 11px;
}

.xavi-search-diagnostics-error {
    margin-top: 5px;
    color: #c8c8c8;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.xavi-search-diagnostics-nodes {
    margin-top: 4px;
    color: #777;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 10px;
    overflow-wrap: anywhere;
}

@media (max-width: 720px) {
    .xavi-search-diagnostics-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 0;
    }

    .xavi-search-diagnostics-summary {
        padding: 0 10px 8px 30px;
        text-align: left;
    }
}

/* Bang discovery: keep the wrapped chip flow, but make engine identity readable. */
.xavi-search-suggestion-bang {
    gap: 8px;
    align-items: baseline !important;
}

.xavi-search-bang-shortcut {
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}

.xavi-search-bang-label {
    color: var(--xavi-search-muted);
    font-size: 12px;
    line-height: 1.2;
}

.xavi-search-suggestion-bang:hover .xavi-search-bang-label,
.xavi-search-suggestion-bang.is-active .xavi-search-bang-label {
    color: #fff;
}

/* Stable tabbed result pages */
.xavi-search-results-toolbar {
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.xavi-search-results-summary {
    min-width: 0;
}

.xavi-search-results-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

.xavi-search-results-refine-button,
.xavi-search-result-tab-load,
.xavi-search-result-tab,
.xavi-search-results-refine button {
    border: 1px solid var(--xavi-search-line-strong);
    border-radius: 0 !important;
    background: #090909;
    color: var(--xavi-search-text);
    min-height: 32px;
    padding: 6px 10px;
    font: inherit;
    cursor: pointer;
}

.xavi-search-results-refine-button:hover,
.xavi-search-result-tab-load:hover,
.xavi-search-result-tab:hover,
.xavi-search-results-refine button:hover,
.xavi-search-result-tab.is-active {
    border-color: var(--xavi-search-accent);
    background: var(--xavi-search-accent-soft);
    color: #fff;
}

.xavi-search-result-tab[aria-selected="true"] {
    border-bottom-color: #000;
    position: relative;
    z-index: 2;
}

.xavi-search-result-tab span {
    color: var(--xavi-search-muted);
    font-size: 11px;
    margin-left: 5px;
}

.xavi-search-result-tab-load:disabled,
.xavi-search-results-refine-button:disabled {
    opacity: .45;
    cursor: default;
}

.xavi-search-result-tabs {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    margin: 0 0 14px;
    border-bottom: 1px solid var(--xavi-search-line-strong);
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.xavi-search-result-tabs[hidden] {
    display: none !important;
}

.xavi-search-result-tab-list {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    flex: 0 0 auto;
}

.xavi-search-result-tab,
.xavi-search-result-tab-load {
    white-space: nowrap;
    margin-bottom: -1px;
}

.xavi-search-result-tab-load {
    margin-left: 4px;
    border-style: dashed;
}

.xavi-search-results-refine {
    display: flex;
    gap: 6px;
    margin: -6px 0 14px;
    padding: 10px;
    border: 1px solid var(--xavi-search-line-strong);
    background: #050505;
}

.xavi-search-results-refine[hidden] {
    display: none !important;
}

.xavi-search-results-refine input {
    min-width: 180px;
    flex: 1 1 320px;
    border: 1px solid var(--xavi-search-line-strong);
    border-radius: 0 !important;
    background: #000;
    color: var(--xavi-search-text);
    padding: 7px 9px;
    font: inherit;
}

.xavi-search-scroll-sentinel {
    display: none !important;
}

@media (max-width: 720px) {
    .xavi-search-results-toolbar {
        flex-direction: column;
        gap: 8px;
    }

    .xavi-search-results-toolbar-actions {
        width: 100%;
    }

    .xavi-search-results-refine {
        flex-wrap: wrap;
    }

    .xavi-search-results-refine input {
        flex-basis: 100%;
    }
}


/* Image search preview drawer */
.xavi-search-image-caption {
    display: grid;
    gap: 3px;
    min-height: 54px;
    padding: 8px 9px;
    border-top: 1px solid var(--xavi-search-line);
    color: var(--xavi-search-text);
    font-size: 12px;
    line-height: 1.3;
}

.xavi-search-image-caption strong {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-weight: 600;
}

.xavi-search-image-caption span {
    overflow: hidden;
    color: var(--xavi-search-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.xavi-search-image-result.is-image-unavailable {
    opacity: .45;
}

.xavi-search-image-result.is-image-unavailable .xavi-search-image-open::after {
    content: 'Image unavailable';
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--xavi-search-muted);
    font-size: 12px;
}

.xavi-search-image-preview-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10040;
    background: rgba(0, 0, 0, .72);
    opacity: 0;
    transition: opacity 180ms ease;
}

.xavi-search-image-preview-backdrop.is-open {
    opacity: 1;
}

.xavi-search-image-preview {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10050;
    display: grid;
    width: min(680px, 92vw);
    grid-template-rows: auto minmax(260px, 1fr) auto;
    overflow: hidden;
    border-left: 1px solid var(--xavi-search-line);
    border-radius: 0;
    background: #080808;
    color: var(--xavi-search-text);
    box-shadow: -18px 0 50px rgba(0, 0, 0, .45);
    transform: translateX(102%);
    transition: transform 220ms ease;
}

.xavi-search-image-preview.is-open {
    transform: translateX(0);
}

.xavi-search-image-preview-header {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--xavi-search-line);
    background: #000;
}

.xavi-search-image-preview-header > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.xavi-search-image-preview-header strong,
.xavi-search-image-preview-header span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.xavi-search-image-preview-header span {
    color: var(--xavi-search-muted);
    font-size: 11px;
}

.xavi-search-image-preview-close {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--xavi-search-line);
    border-radius: 0;
    background: #000;
    color: #fff;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
}

.xavi-search-image-preview-close:hover {
    border-color: var(--xavi-search-accent);
    color: var(--xavi-search-accent);
}

.xavi-search-image-preview-stage {
    display: grid;
    min-height: 0;
    place-items: center;
    overflow: auto;
    padding: 14px;
    background: #050505;
}

.xavi-search-image-preview-stage img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.xavi-search-image-preview-info {
    display: grid;
    max-height: 42vh;
    gap: 10px;
    overflow: auto;
    padding: 14px;
    border-top: 1px solid var(--xavi-search-line);
    background: #0b0b0b;
}

.xavi-search-image-preview-info h3,
.xavi-search-image-preview-info p {
    margin: 0;
}

.xavi-search-image-preview-info h3 {
    font-size: 18px;
    line-height: 1.25;
}

.xavi-search-image-preview-info p {
    color: var(--xavi-search-muted);
    font-size: 13px;
    line-height: 1.45;
}

.xavi-search-image-preview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.xavi-search-image-preview-meta span {
    padding: 4px 6px;
    border: 1px solid var(--xavi-search-line);
    background: #000;
    color: var(--xavi-search-muted);
    font-size: 11px;
}

.xavi-search-image-preview-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.xavi-search-image-preview-actions a {
    padding: 7px 9px;
    border: 1px solid var(--xavi-search-line);
    background: #000;
    color: #fff;
    text-decoration: none;
}

.xavi-search-image-preview-actions a:hover {
    border-color: var(--xavi-search-accent);
    color: var(--xavi-search-accent);
}

html.xavi-search-image-preview-active,
html.xavi-search-image-preview-active body {
    overflow: hidden;
}

@media (max-width: 700px) {
    .xavi-search-image-preview {
        width: 100vw;
    }

    .xavi-search-image-preview-stage {
        padding: 8px;
    }

    .xavi-search-image-preview-info {
        max-height: 45vh;
        padding: 10px;
    }
}

.xavi-search-image-open {
    position: relative;
}

.xavi-search-image-gif-badge {
    position: absolute;
    right: 6px;
    bottom: 6px;
    padding: 3px 5px;
    border: 1px solid rgba(255,255,255,.35);
    background: rgba(0,0,0,.78);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
    pointer-events: none;
}

/* Search information pull-out drawer: keep JSON/diagnostics out of result flow. */
.xavi-search-results-area {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(1500px, calc(100% - 32px));
}

.xavi-search-info-drawer-shell {
    position: fixed;
    top: calc(var(--xavi-nav-h, 0px) + 8px);
    right: 0;
    bottom: 8px;
    z-index: 1180;
    width: min(560px, calc(100vw - 48px));
    transform: translateX(100%);
    transition: transform 220ms ease;
    pointer-events: none;
}

.xavi-search-info-drawer-shell.is-open {
    transform: translateX(0);
}

.xavi-search-info-pull-tab {
    position: absolute;
    top: clamp(62px, 16vh, 150px);
    left: -48px;
    z-index: 2;
    display: flex;
    width: 48px;
    min-height: 108px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 10px 5px;
    border: 1px solid #303030;
    border-right: 0;
    border-radius: 0;
    background: #070707;
    color: #fff;
    cursor: pointer;
    pointer-events: auto;
    box-shadow: -8px 8px 24px rgba(0, 0, 0, .32);
}

.xavi-search-info-pull-tab:hover,
.xavi-search-info-pull-tab:focus-visible,
.xavi-search-info-drawer-shell.is-open .xavi-search-info-pull-tab {
    border-color: var(--xavi-search-accent);
    background: #111;
    color: #fff;
    outline: 0;
}

.xavi-search-info-pull-icon {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 1px solid var(--xavi-search-accent);
    border-radius: 50%;
    color: var(--xavi-search-accent);
    font: 700 15px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.xavi-search-info-pull-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    color: #ddd;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.xavi-search-info-drawer {
    position: absolute;
    inset: 0;
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid #303030;
    border-right: 0;
    border-radius: 0;
    background: #030303;
    color: #fff;
    overflow: hidden;
    pointer-events: auto;
    box-shadow: -18px 0 42px rgba(0, 0, 0, .48);
}

.xavi-search-info-drawer-header {
    display: flex;
    min-height: 54px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 9px 10px 9px 14px;
    border-bottom: 1px solid #292929;
    background: #080808;
}

.xavi-search-info-drawer-header > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.xavi-search-info-drawer-header strong {
    color: #fff;
    font-size: 14px;
}

.xavi-search-info-drawer-header span {
    color: #8d8d8d;
    font-size: 11px;
}

.xavi-search-info-drawer-close {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border: 1px solid #292929;
    border-radius: 0;
    background: #050505;
    color: #fff;
    font-size: 24px;
    line-height: 1;
}

.xavi-search-info-drawer-close:hover,
.xavi-search-info-drawer-close:focus-visible {
    border-color: var(--xavi-search-accent);
    background: var(--xavi-search-accent-soft);
    outline: 0;
}

.xavi-search-info-drawer-scroll {
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
    overscroll-behavior: contain;
}

/* The JSON/diagnostics accordions now belong to the drawer, not the page grid. */
.xavi-search-info-drawer .xavi-search-json-panel {
    position: relative !important;
    top: auto !important;
    width: 100%;
    max-height: none !important;
    border: 0;
    background: transparent;
    overflow: visible;
}

.xavi-search-info-drawer .xavi-search-json-panel pre {
    max-height: min(58vh, 720px);
}

.xavi-search-info-drawer .xavi-search-diagnostics-panel {
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
}

html.xavi-search-info-drawer-active {
    overflow-x: hidden;
}

@media (max-width: 720px) {
    .xavi-search-results-area {
        width: calc(100% - 20px);
    }

    .xavi-search-info-drawer-shell {
        top: calc(var(--xavi-nav-h, 0px) + 4px);
        bottom: 4px;
        width: calc(100vw - 38px);
    }

    .xavi-search-info-pull-tab {
        left: -38px;
        width: 38px;
        min-height: 94px;
        padding-inline: 3px;
    }

    .xavi-search-info-pull-icon {
        width: 22px;
        height: 22px;
    }

    .xavi-search-info-drawer-header {
        min-height: 50px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .xavi-search-info-drawer-shell {
        transition: none;
    }
}


/* Xavi News mode: query-level intelligence belongs in the results toolbar. */
#xavi-search-search-app.xavi-search-news-mode .xavi-search-results-toolbar { flex-wrap:wrap; align-items:flex-start; }
#xavi-search-search-app.xavi-search-news-mode .xavi-search-results-summary { flex:1 1 320px; min-width:0; }
#xavi-search-search-app.xavi-search-news-mode .xavi-search-results-toolbar-actions { margin-left:auto; }
.xavi-search-news-intelligence { flex:1 0 100%; width:100%; margin:7px 0 0; padding:7px 0 0; border:0; border-top:1px solid #292929; background:transparent; color:#fff; }
.xavi-search-news-intelligence[hidden] { display:none !important; }
.xavi-search-news-intelligence-head { display:flex; align-items:center; justify-content:space-between; gap:10px 16px; padding:0; background:transparent; }
.xavi-search-news-intelligence-head > div:first-child { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 9px; min-width:0; }
.xavi-search-news-intelligence-head strong { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#bbb; }
.xavi-search-news-intelligence-head span { color:#888; font-size:10px; }
.xavi-search-news-provider-state { display:flex; flex-wrap:wrap; gap:4px; justify-content:flex-end; }
.xavi-search-news-provider-chip { padding:2px 5px; border:1px solid #333; background:#050505; color:#aaa; font:9px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.xavi-search-news-provider-chip.is-ok { border-color:#275e31; color:#9ce8aa; }
.xavi-search-news-provider-chip.is-fail { border-color:#633; color:#df8b8b; }
.xavi-search-news-brief { max-width:1100px; padding:5px 0 0; color:#c6c6c6; font-size:12px; line-height:1.45; }
.xavi-search-news-themes { display:flex; flex-wrap:wrap; gap:4px; padding:6px 0 0; }
.xavi-search-news-theme { padding:2px 5px; border:1px solid #303030; background:#050505; color:#aaa; font-size:9px; }
.xavi-search-news-clusters, .xavi-search-news-cluster { display:none !important; }
#xavi-search-search-app.xavi-search-news-mode .xavi-search-result { border-left:3px solid #343434; background:#050505; }
#xavi-search-search-app.xavi-search-news-mode .xavi-search-result:hover { border-left-color:var(--xavi-search-accent); background:#080808; }
@media (max-width:640px) {
  .xavi-search-news-intelligence-head { align-items:flex-start; flex-direction:column; }
  .xavi-search-news-provider-state { justify-content:flex-start; }
}

/* Progressive news-provider state. */
.xavi-search-news-provider-chip.is-pending {
    border-color:#555;
    color:#c9c9c9;
    background:#0b0b0b;
    animation:xavi-search-news-provider-pulse 1.2s ease-in-out infinite alternate;
}
@keyframes xavi-search-news-provider-pulse {
    from { opacity:.55; }
    to { opacity:1; }
}
@media (prefers-reduced-motion: reduce) {
    .xavi-search-news-provider-chip.is-pending { animation:none; }
}

/* Xavi general AI search: progressive ensemble answer. */
.xavi-search-ai-answer { margin:0 0 16px; border:1px solid #383838; border-radius:0; background:#050505; color:#ddd; }
.xavi-search-ai-answer-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:11px 13px; border-bottom:1px solid #292929; background:#080808; }
.xavi-search-ai-answer-head > div:first-child { display:flex; flex-direction:column; gap:2px; }
.xavi-search-ai-answer-head strong { color:#fff; font-size:15px; }
.xavi-search-ai-answer-head span { color:#8f8f8f; font-size:11px; }
.xavi-search-ai-provider-state { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; }
.xavi-search-ai-provider { padding:3px 6px; border:1px solid #343434; color:#aaa; font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.xavi-search-ai-provider.is-ok { border-color:#275e31; color:#9ce8aa; }
.xavi-search-ai-provider.is-fail { border-color:#633; color:#df8b8b; }
.xavi-search-ai-answer-body { padding:13px; color:#d0d0d0; font-size:14px; line-height:1.58; white-space:pre-wrap; }
.xavi-search-ai-muted { color:#888; }
.xavi-search-ai-themes { display:flex; flex-wrap:wrap; gap:5px; padding:0 13px 12px; }
.xavi-search-ai-themes span { padding:4px 7px; border:1px solid #333; color:#bbb; font-size:11px; }
.xavi-search-ai-confidence { padding:0 13px 12px; color:#858585; font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
@media (max-width:640px) { .xavi-search-ai-answer-head { flex-direction:column; } .xavi-search-ai-provider-state { justify-content:flex-start; } }


/* Conversational AI search v3 */
.xavi-search-ai-chat { border:1px solid #2d2d2d; background:#050505; color:#e8e8e8; margin:0 0 18px; }
.xavi-search-ai-chat-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:13px 15px; border-bottom:1px solid #242424; background:#090909; }
.xavi-search-ai-chat-head > div:first-child { display:flex; flex-direction:column; gap:3px; }
.xavi-search-ai-chat-head strong { color:#fff; font-size:16px; }
.xavi-search-ai-chat-head span { color:#8f8f8f; font-size:12px; }
.xavi-search-ai-chat-head-actions { display:flex; gap:7px; flex-wrap:wrap; }
.xavi-search-ai-chat-head-actions button,.xavi-search-ai-message-actions button,.xavi-search-ai-attach-button,.xavi-search-ai-send { border:1px solid #383838; border-radius:0; background:#111; color:#ddd; padding:7px 10px; cursor:pointer; }
.xavi-search-ai-chat-head-actions button:hover,.xavi-search-ai-message-actions button:hover,.xavi-search-ai-attach-button:hover,.xavi-search-ai-send:hover { background:#1a1a1a; color:#fff; }
.xavi-search-ai-thread { display:flex; flex-direction:column; gap:14px; padding:16px; max-height:min(68vh,760px); overflow:auto; }
.xavi-search-ai-message { max-width:min(900px,92%); }
.xavi-search-ai-message.is-user { align-self:flex-end; background:#171717; border:1px solid #303030; padding:10px 12px; }
.xavi-search-ai-message.is-assistant { align-self:flex-start; width:min(900px,100%); }
.xavi-search-ai-message-role { color:#7f7f7f; font-size:11px; text-transform:uppercase; letter-spacing:.07em; margin-bottom:5px; }
.xavi-search-ai-message-text { color:#ededed; line-height:1.58; font-size:15px; overflow-wrap:anywhere; }
.xavi-search-ai-message.is-pending .xavi-search-ai-message-text { color:#999; }
.xavi-search-ai-thinking::after { content:' '; display:inline-block; width:1.2em; animation:xaviSearchAiDots 1.2s steps(4,end) infinite; }
@keyframes xaviSearchAiDots { 0%{content:''} 25%{content:'.'} 50%{content:'..'} 75%,100%{content:'...'} }
.xavi-search-ai-chat-sources { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px; margin-top:13px; }
.xavi-search-ai-chat-source { display:flex; flex-direction:column; gap:4px; border:1px solid #292929; background:#0b0b0b; color:#ddd; padding:9px 10px; text-decoration:none; min-width:0; }
.xavi-search-ai-chat-source:hover { border-color:#4b4b4b; background:#101010; }
.xavi-search-ai-chat-source strong { color:#f3f3f3; font-size:13px; overflow-wrap:anywhere; }
.xavi-search-ai-chat-source span { color:#aaa; font-size:12px; line-height:1.35; }
.xavi-search-ai-chat-source small { color:#747474; font-size:10px; }
.xavi-search-ai-message-actions { margin-top:10px; }
.xavi-search-ai-message-actions button { padding:5px 8px; font-size:11px; }
.xavi-search-ai-evidence { margin-top:8px; border-left:2px solid #333; padding:7px 9px; display:flex; flex-direction:column; gap:7px; }
.xavi-search-ai-evidence[hidden] { display:none; }
.xavi-search-ai-evidence > div { display:grid; grid-template-columns:minmax(100px,auto) auto 1fr; gap:8px; align-items:center; font-size:11px; }
.xavi-search-ai-evidence code { color:#888; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.xavi-search-ai-evidence span { color:#8d8d8d; }
.xavi-search-ai-history { border-bottom:1px solid #242424; padding:8px; display:grid; gap:5px; max-height:260px; overflow:auto; }
.xavi-search-ai-history[hidden] { display:none; }
.xavi-search-ai-history button { display:flex; justify-content:space-between; gap:12px; text-align:left; border:1px solid #292929; background:#0c0c0c; color:#ddd; padding:8px 10px; cursor:pointer; }
.xavi-search-ai-history button span { color:#777; font-size:10px; }
.xavi-search-ai-attachment-row { display:flex; flex-wrap:wrap; gap:6px; padding:0 14px; }
.xavi-search-ai-attachment { display:flex; gap:7px; align-items:center; border:1px solid #303030; background:#0d0d0d; padding:5px 8px; font-size:11px; }
.xavi-search-ai-attachment small { color:#858585; }
.xavi-search-ai-composer { border-top:1px solid #292929; padding:12px 14px; background:#080808; }
.xavi-search-ai-composer textarea { width:100%; resize:vertical; min-height:56px; max-height:220px; border:1px solid #353535; border-radius:0; background:#050505; color:#f0f0f0; padding:10px 11px; font:inherit; line-height:1.45; }
.xavi-search-ai-composer textarea:focus { outline:1px solid #646464; outline-offset:0; }
.xavi-search-ai-composer-actions { display:flex; align-items:center; gap:8px; margin-top:8px; }
.xavi-search-ai-chat-status { flex:1; color:#888; font-size:11px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.xavi-search-ai-send { min-width:76px; color:#fff; border-color:#555; }
.xavi-search-ai-send:disabled { opacity:.5; cursor:default; }
.xavi-search-ai-muted { color:#858585; font-size:12px; }
.xavi-search-ai-error { color:#d89a9a; font-size:12px; }
.xavi-search-search-app.xavi-search-loading .xavi-search-ai-chat { opacity:1; }
@media (max-width:700px) {
  .xavi-search-ai-chat-head { flex-direction:column; }
  .xavi-search-ai-message { max-width:100%; }
  .xavi-search-ai-thread { padding:12px; max-height:none; }
  .xavi-search-ai-chat-sources { grid-template-columns:1fr; }
  .xavi-search-ai-composer-actions { flex-wrap:wrap; }
  .xavi-search-ai-chat-status { order:3; flex-basis:100%; }
  .xavi-search-ai-evidence > div { grid-template-columns:1fr; }
}

.xavi-search-ai-message-text p { margin:0 0 9px; }
.xavi-search-ai-message-text p:last-child { margin-bottom:0; }
.xavi-search-ai-message-text ul,.xavi-search-ai-message-text ol { margin:7px 0 10px 1.35rem; padding:0; }
.xavi-search-ai-message-text li { margin:3px 0; padding-left:2px; }
.xavi-search-ai-message-text h4 { margin:12px 0 6px; color:#fff; font-size:15px; }
.xavi-search-ai-message-text code { background:#151515; border:1px solid #2c2c2c; padding:1px 4px; font-size:.92em; }
.xavi-search-ai-message-text strong { color:#fff; font-weight:650; }


/* Compact conversational source rail */
.xavi-search-ai-message.is-assistant { width:min(1120px,100%); max-width:100%; }
.xavi-search-ai-message-layout { min-width:0; }
.xavi-search-ai-message-layout.has-sources { display:grid; grid-template-columns:minmax(0,1fr) minmax(255px,315px); gap:16px; align-items:start; }
.xavi-search-ai-message-primary { min-width:0; }
.xavi-search-ai-source-rail { min-width:0; border:1px solid #292929; background:#080808; position:sticky; top:0; }
.xavi-search-ai-source-rail-head { height:34px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 9px; border-bottom:1px solid #252525; background:#0d0d0d; }
.xavi-search-ai-source-rail-head strong { color:#dcdcdc; font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.xavi-search-ai-source-rail-head span { min-width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #343434; color:#8e8e8e; font-size:10px; }
.xavi-search-ai-chat-sources { display:block; margin:0; max-height:360px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.xavi-search-ai-source-item { border:0; border-bottom:1px solid #202020; background:#090909; }
.xavi-search-ai-source-item:last-child { border-bottom:0; }
.xavi-search-ai-source-item[open] { background:#0d0d0d; }
.xavi-search-ai-source-item summary { list-style:none; display:grid; grid-template-columns:24px minmax(0,1fr); gap:7px; align-items:start; cursor:pointer; padding:8px 8px 7px; user-select:none; }
.xavi-search-ai-source-item summary::-webkit-details-marker { display:none; }
.xavi-search-ai-source-item summary:hover { background:#101010; }
.xavi-search-ai-source-rank { width:21px; height:21px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #303030; color:#777; font-size:10px; line-height:1; }
.xavi-search-ai-source-summary { display:flex; flex-direction:column; gap:3px; min-width:0; }
.xavi-search-ai-source-summary strong { color:#e5e5e5; font-size:11.5px; line-height:1.25; font-weight:600; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.xavi-search-ai-source-summary small { color:#717171; font-size:9.5px; line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.xavi-search-ai-source-detail { padding:0 9px 9px 39px; }
.xavi-search-ai-source-detail p { margin:0 0 7px; color:#969696; font-size:10.5px; line-height:1.38; }
.xavi-search-ai-source-detail a { display:inline-flex; align-items:center; gap:4px; color:#cacaca; font-size:10.5px; text-decoration:none; border-bottom:1px solid #494949; }
.xavi-search-ai-source-detail a:hover { color:#fff; border-bottom-color:#aaa; }
@media (max-width:900px) {
  .xavi-search-ai-message-layout.has-sources { grid-template-columns:1fr; gap:11px; }
  .xavi-search-ai-source-rail { position:static; }
  .xavi-search-ai-chat-sources { max-height:220px; }
}
@media (max-width:700px) {
  .xavi-search-ai-source-rail-head { cursor:default; }
  .xavi-search-ai-chat-sources { max-height:190px; }
  .xavi-search-ai-source-item summary { padding:7px; }
  .xavi-search-ai-source-detail { padding-left:38px; }
}


/* AI export + determination trace */
.xavi-search-ai-message-actions { display:flex; gap:7px; flex-wrap:wrap; align-items:center; }
.xavi-search-ai-trace { margin-top:5px; border:1px solid #292929; background:#080808; }
.xavi-search-ai-trace-summary { padding:11px 12px; border-bottom:1px solid #242424; }
.xavi-search-ai-trace-summary > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.xavi-search-ai-trace-summary > div:first-child strong { color:#eee; font-size:12px; }
.xavi-search-ai-trace-summary > div:first-child span { color:#858585; font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.xavi-search-ai-trace-summary p { margin:7px 0 0; color:#aaa; font-size:11.5px; line-height:1.45; }
.xavi-search-ai-trace-stats { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.xavi-search-ai-trace-stats span { border:1px solid #303030; background:#0c0c0c; color:#919191; padding:3px 6px; font-size:9.5px; }
.xavi-search-ai-trace-steps { max-height:440px; overflow:auto; }
.xavi-search-ai-trace-step { border-bottom:1px solid #222; }
.xavi-search-ai-trace-step summary { display:grid; grid-template-columns:23px minmax(0,1fr) auto; gap:8px; align-items:center; cursor:pointer; padding:8px 10px; list-style:none; }
.xavi-search-ai-trace-step summary::-webkit-details-marker { display:none; }
.xavi-search-ai-trace-step summary > span { width:21px; height:21px; border:1px solid #303030; display:inline-flex; align-items:center; justify-content:center; color:#747474; font-size:9px; }
.xavi-search-ai-trace-step summary strong { color:#d8d8d8; font-size:11px; }
.xavi-search-ai-trace-step summary small { font-size:9.5px; }
.xavi-search-ai-trace .is-ok { color:#8dbb91; }
.xavi-search-ai-trace .is-bad { color:#d38c8c; }
.xavi-search-ai-trace-step-body { padding:0 11px 10px 42px; color:#999; font-size:10.5px; line-height:1.4; }
.xavi-search-ai-trace-step-body p { margin:4px 0; }
.xavi-search-ai-trace-step-body ol { margin:6px 0 7px 17px; padding:0; }
.xavi-search-ai-trace-step-body li { margin:2px 0; }
.xavi-search-ai-trace-step-body small { color:#696969; }
.xavi-search-ai-trace-step-body code,.xavi-search-ai-trace-answer-witness code { display:block; margin-top:6px; color:#757575; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; }
.xavi-search-ai-trace-limit { padding:9px 12px; border-top:1px solid #242424; color:#aaa; font-size:10.5px; }
.xavi-search-ai-trace-limit strong { color:#ccc; }
.xavi-search-ai-trace-limit ul { margin:5px 0 0 17px; padding:0; }
.xavi-search-ai-trace-answer-witness { padding:9px 12px; border-top:1px solid #242424; display:grid; grid-template-columns:auto auto 1fr; gap:7px 10px; align-items:center; font-size:10px; }
.xavi-search-ai-trace-answer-witness > strong { color:#ccc; }
.xavi-search-ai-trace-answer-witness code,.xavi-search-ai-trace-answer-witness small { grid-column:1/-1; margin:0; }
.xavi-search-ai-trace-answer-witness small { color:#6f6f6f; }
.xavi-search-ai-trace-note { margin:0; padding:8px 12px; border-top:1px solid #242424; color:#666; font-size:9.5px; line-height:1.35; }
@media (max-width:700px) {
  .xavi-search-ai-chat-head-actions { width:100%; }
  .xavi-search-ai-chat-head-actions button { flex:1 1 auto; }
  .xavi-search-ai-trace-step summary { grid-template-columns:22px minmax(0,1fr); }
  .xavi-search-ai-trace-step summary small { grid-column:2; }
}

/* --- News reader / masonry mode (2026-08-16) --------------------------- */
.xavi-search-news-tools {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    margin: 12px 0 14px;
    padding: 10px;
    border: 1px solid var(--xavi-search-line);
    background: #050505;
}
.xavi-search-news-tools[hidden] { display: none !important; }
.xavi-search-news-tools-left { flex: 1 1 360px; min-width: 0; }
.xavi-search-news-tools-right { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.xavi-search-news-tools label { display: grid; gap: 5px; color: var(--xavi-search-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.xavi-search-news-tools input,
.xavi-search-news-tools select {
    height: 38px;
    border: 1px solid var(--xavi-search-line-strong);
    background: #000;
    color: var(--xavi-search-text);
    padding: 0 10px;
}
.xavi-search-news-tools input { width: min(620px, 100%); }
.xavi-search-news-visible-count { min-height: 38px; display: inline-flex; align-items: center; color: var(--xavi-search-muted); font-size: 12px; }
.xavi-search-news-load-more,
.xavi-search-news-feeds-toggle {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--xavi-search-line-strong);
    background: #080808;
    color: var(--xavi-search-text);
    cursor: pointer;
}
.xavi-search-news-load-more:hover:not(:disabled),
.xavi-search-news-feeds-toggle:hover:not(:disabled) { border-color: #666; background: #0d0d0d; }
.xavi-search-news-load-more:disabled { opacity: .45; cursor: default; }

.xavi-search-results.is-news {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr));
    grid-auto-rows: auto;
    grid-auto-flow: row;
    gap: 12px;
    align-items: start;
    width: 100%;
}
.xavi-search-results.is-news > .xavi-search-news-intel-card,
.xavi-search-results.is-news > .xavi-search-news-cluster {
    display: none !important;
}
.xavi-search-results.is-news .xavi-search-result.xavi-search-news-card {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--xavi-search-line);
    background: #070707;
    cursor: pointer;
    transition: border-color .14s ease, background .14s ease, transform .14s ease;
}
.xavi-search-results.is-news .xavi-search-result.xavi-search-news-card:hover {
    border-color: #5a5a5a;
    background: #0b0b0b;
    transform: translateY(-1px);
}
.xavi-search-results.is-news .xavi-search-result.xavi-search-news-card[hidden] { display: none !important; }
.xavi-search-results.is-news .xavi-search-result-main { padding: 13px 14px 14px; }
.xavi-search-results.is-news .xavi-search-result-thumb,
.xavi-search-results.is-news .xavi-search-news-card-image {
    display: block;
    width: 100%;
    height: auto;
    min-height: 150px;
    max-height: 270px;
    object-fit: cover;
    border: 0;
    border-bottom: 1px solid var(--xavi-search-line);
    background: #111;
}
.xavi-search-results.is-news .xavi-search-result h3 { margin: 6px 0 8px; font-size: 18px; line-height: 1.28; }
.xavi-search-results.is-news .xavi-search-result-snippet {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    margin: 0;
    color: #b9b9b9;
    font-size: 13px;
    line-height: 1.48;
}
.xavi-search-results.is-news .xavi-search-result-domain { display: none; }
.xavi-search-results.is-news .xavi-search-result-meta { margin-top: 10px; }
.xavi-search-news-source-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: baseline;
    color: #9a9a9a;
    font-size: 11px;
    line-height: 1.3;
}
.xavi-search-news-source-name { color: #e0e0e0; font-weight: 650; overflow-wrap: anywhere; margin-right: auto; }
.xavi-search-news-source-row time { color: #888; text-align: right; white-space: nowrap; }
.xavi-search-news-date-unknown { color: #666; }
.xavi-search-news-preview-button {
    flex: 0 0 auto;
    min-height: 0;
    margin-left: 2px;
    padding: 2px 7px;
    border: 1px solid #343434;
    background: #080808;
    color: #cfcfcf;
    font: inherit;
    line-height: 1.25;
    cursor: pointer;
}
.xavi-search-news-preview-button:hover,
.xavi-search-news-preview-button:focus-visible {
    border-color: #666;
    background: #141414;
    color: #fff;
}

.xavi-search-news-reader {
    position: fixed;
    inset: 0;
    z-index: 10020;
    pointer-events: none;
    visibility: hidden;
}
.xavi-search-news-reader.is-open { pointer-events: auto; visibility: visible; }
.xavi-search-news-reader-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.62);
    opacity: 0;
    transition: opacity .18s ease;
}
.xavi-search-news-reader.is-open .xavi-search-news-reader-scrim { opacity: 1; }
.xavi-search-news-reader-panel {
    position: absolute;
    top: 0;
    right: 0;
    width: min(1120px, 92vw);
    height: 100dvh;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    contain: layout paint style;
    /* Keep reader controls spatially stable; the scrim still fades. */
    will-change: auto;
    transform: none;
    transition: none;
    border-left: 1px solid #333;
    background: #000;
    color: #fff;
    box-shadow: -26px 0 80px rgba(0,0,0,.55);
}
.xavi-search-news-reader.is-open .xavi-search-news-reader-panel { transform: none; }
.xavi-search-news-reader-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 58px;
    padding: 8px 10px 8px 14px;
    border-bottom: 1px solid #282828;
    background: #070707;
}
.xavi-search-news-reader-heading { min-width: 0; display: grid; gap: 2px; }
.xavi-search-news-reader-heading strong { color: #fff; font-size: 12px; }
.xavi-search-news-reader-heading span { color: #999; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xavi-search-news-reader-actions { display: flex; align-items: stretch; gap: 1px; flex: 0 0 auto; }
.xavi-search-news-reader-actions button,
.xavi-search-news-reader-actions a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 11px;
    border: 1px solid #313131;
    background: #0b0b0b;
    color: #ddd;
    text-decoration: none;
}
.xavi-search-news-reader-actions button:hover,
.xavi-search-news-reader-actions a:hover { background: #151515; color: #fff; }
.xavi-search-news-reader-status {
    min-height: 28px;
    padding: 6px 12px;
    overflow: hidden;
    border-bottom: 1px solid #222;
    background: #030303;
    color: #8f8f8f;
    font: 11px/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.xavi-search-news-reader-browser { position: relative; min-height: 0; overflow: hidden; background: #111; }
.xavi-search-news-reader-browser canvas {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    outline: 0;
    background: #fff;
}
.xavi-search-news-reader-fallback {
    position: absolute;
    inset: 0;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    padding: 30px;
    background: #080808;
    color: #bbb;
    text-align: center;
}
.xavi-search-news-reader-fallback[hidden] { display: none !important; }
.xavi-search-news-reader-fallback strong { color: #fff; font-size: 16px; }
.xavi-search-news-reader-fallback p { max-width: 620px; margin: 0; line-height: 1.55; }
html.xavi-search-news-reader-open { overflow: hidden; }

@media (max-width: 760px) {
    .xavi-search-news-tools { align-items: stretch; flex-direction: column; }
    .xavi-search-news-tools-right { align-items: stretch; }
    .xavi-search-news-tools-right label { flex: 1 1 160px; }
    /* The mobile reader already occupies the full viewport. Avoid moving its
       close/navigation controls with a panel transform while Gecko/WASM is
       starting; this keeps the primary escape affordance immediately stable. */
    .xavi-search-news-reader-panel { width: 100vw; }
    .xavi-search-news-reader-header { align-items: flex-start; flex-direction: column; }
    .xavi-search-news-reader-actions { width: 100%; overflow-x: auto; }
    .xavi-search-news-reader-actions a { margin-left: auto; }
}

/* Rich News card metadata/media */
.xavi-search-results.is-news .xavi-search-news-card-video {
    display: block;
    width: 100%;
    max-height: 320px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border: 0;
    border-bottom: 1px solid var(--xavi-search-line);
    background: #000;
}
.xavi-search-news-ai-summary {
    margin: 10px 0 0;
    padding: 9px 10px;
    border-left: 2px solid #575757;
    background: #0b0b0b;
    color: #c5c5c5;
    font-size: 12px;
    line-height: 1.48;
}
.xavi-search-news-ai-summary > span {
    display: block;
    margin-bottom: 3px;
    color: #888;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.xavi-search-news-meta-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 10px;
}
.xavi-search-news-meta-chips span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 7px;
    border: 1px solid #2e2e2e;
    background: #050505;
    color: #a7a7a7;
    font-size: 10px;
    line-height: 1.2;
    text-transform: capitalize;
}
.xavi-search-news-source-row time {
    max-width: 52%;
    white-space: normal;
    line-height: 1.25;
}

/* Saved News feeds */
.xavi-search-news-feeds-toggle,
.xavi-search-news-feed-form button,
.xavi-search-news-feed-links button,
.xavi-search-news-feed-links a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #333;
    background: #080808;
    color: #d5d5d5;
    padding: 0 10px;
    text-decoration: none;
    font-size: 11px;
}
.xavi-search-news-feeds-toggle:hover,
.xavi-search-news-feed-form button:hover,
.xavi-search-news-feed-links button:hover,
.xavi-search-news-feed-links a:hover { background: #131313; color: #fff; }
.xavi-search-news-feed-panel {
    flex: 1 0 100%;
    width: 100%;
    margin-top: 2px;
    padding-top: 12px;
    border-top: 1px solid var(--xavi-search-line);
}
.xavi-search-news-feed-panel[hidden] { display: none !important; }
.xavi-search-news-feed-form {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(130px, .55fr) minmax(130px, .55fr) auto;
    gap: 8px;
    align-items: end;
}
.xavi-search-news-feed-form label { min-width: 0; }
.xavi-search-news-feed-form input,
.xavi-search-news-feed-form select { width: 100%; }
.xavi-search-news-feed-status {
    min-height: 28px;
    display: flex;
    align-items: center;
    color: #888;
    font-size: 11px;
}
.xavi-search-news-feed-list { display: grid; gap: 6px; }
.xavi-search-news-feed-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 9px;
    border: 1px solid #262626;
    background: #030303;
}
.xavi-search-news-feed-row > div:first-child { min-width: 0; display: grid; gap: 2px; }
.xavi-search-news-feed-row strong { color: #dedede; font-size: 12px; }
.xavi-search-news-feed-row > div:first-child span { color: #777; font-size: 10px; overflow-wrap: anywhere; }
.xavi-search-news-feed-links { display: flex; gap: 3px; flex: 0 0 auto; }
.xavi-search-news-feed-links a,
.xavi-search-news-feed-links button { min-height: 30px; padding: 0 8px; }
@media (max-width: 840px) {
    .xavi-search-news-feed-form { grid-template-columns: 1fr 1fr; }
    .xavi-search-news-feed-row { align-items: stretch; flex-direction: column; }
    .xavi-search-news-feed-links { flex-wrap: wrap; }
}
@media (max-width: 520px) {
    .xavi-search-news-feed-form { grid-template-columns: 1fr; }
}


/* News toolbar + real-article story grouping (2026-08-16 v15) */
.xavi-search-news-tools {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    align-items: end;
    gap: 10px 14px;
}
.xavi-search-news-tools-left { min-width: 0; }
.xavi-search-news-tools-right {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}
.xavi-search-news-tool-control {
    position: relative;
    display: grid;
    gap: 5px;
    min-width: 142px;
    color: var(--xavi-search-muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.xavi-search-news-tool-control > select,
.xavi-search-news-date-toggle,
.xavi-search-news-tool-actions > button {
    box-sizing: border-box;
    height: 38px;
    min-height: 38px;
    margin: 0;
}
.xavi-search-news-tool-actions {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}
.xavi-search-news-visible-count {
    height: 38px;
    min-height: 38px;
    padding: 0 2px;
    white-space: nowrap;
}
.xavi-search-news-date-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 230px;
    padding: 0 10px;
    border: 1px solid var(--xavi-search-line-strong);
    background: #000;
    color: var(--xavi-search-text);
    cursor: pointer;
    white-space: nowrap;
}
.xavi-search-news-date-toggle svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.xavi-search-news-date-popover {
    position: absolute;
    z-index: 80;
    top: calc(100% + 7px);
    right: 0;
    width: min(390px, calc(100vw - 32px));
    padding: 10px;
    border: 1px solid var(--xavi-search-line-strong);
    background: #070707;
    box-shadow: 0 12px 40px rgba(0,0,0,.55);
    text-transform: none;
    letter-spacing: normal;
}
.xavi-search-news-date-popover[hidden] { display: none !important; }
.xavi-search-news-date-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}
.xavi-search-news-date-quick button,
.xavi-search-news-date-actions button {
    min-height: 32px;
    padding: 0 9px;
    border: 1px solid var(--xavi-search-line-strong);
    background: #0a0a0a;
    color: var(--xavi-search-text);
    cursor: pointer;
}
.xavi-search-news-date-quick button.is-active {
    border-color: #8a8a8a;
    background: #161616;
}
.xavi-search-news-date-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
}
.xavi-search-news-date-fields label { display: grid; gap: 4px; }
.xavi-search-news-date-fields input { width: 100%; min-width: 0; }
.xavi-search-news-date-actions {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
    margin-top: 10px;
}
.xavi-search-news-feed-panel { grid-column: 1 / -1; }

.xavi-search-news-story-switcher {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    margin: 0 0 8px;
    padding: 0 0 7px;
    border-bottom: 1px solid var(--xavi-search-line);
}
.xavi-search-news-story-coverage {
    flex: 0 0 auto;
    color: var(--xavi-search-muted);
    font-size: 10px;
    white-space: nowrap;
}
.xavi-search-news-story-tabs {
    display: flex;
    min-width: 0;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
}
.xavi-search-news-story-tabs button {
    flex: 0 0 auto;
    max-width: 150px;
    min-height: 25px;
    overflow: hidden;
    padding: 0 7px;
    border: 1px solid var(--xavi-search-line);
    background: #080808;
    color: var(--xavi-search-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    font-size: 10px;
}
.xavi-search-news-story-tabs button.is-active,
.xavi-search-news-story-tabs button[aria-selected="true"] {
    border-color: #777;
    color: var(--xavi-search-text);
    background: #141414;
}

@media (max-width: 1100px) {
    .xavi-search-news-tools { grid-template-columns: 1fr; align-items: stretch; }
    .xavi-search-news-tools-right { justify-content: flex-start; }
    .xavi-search-news-feed-panel { grid-column: 1; }
}
@media (max-width: 760px) {
    .xavi-search-news-tools-right { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); align-items: end; }
    .xavi-search-news-tool-control { min-width: 0; }
    .xavi-search-news-tool-actions { grid-column: 1 / -1; }
    .xavi-search-news-tool-actions > button { flex: 1 1 0; }
    .xavi-search-news-visible-count { grid-column: 1 / -1; height: auto; min-height: 24px; white-space: normal; }
    .xavi-search-news-date-popover { right: auto; left: 0; }
}


/* News control geometry correction (2026-08-16 v16) */
.xavi-search-news-tools-right {
    align-items: flex-end;
}
.xavi-search-news-tool-control {
    height: 59px;
    grid-template-rows: 16px 38px;
    align-content: end;
    flex: 0 0 auto;
}
.xavi-search-news-tool-control > span,
.xavi-search-news-tools-right > label.xavi-search-news-tool-control > span {
    height: 16px;
    line-height: 16px;
    margin: 0;
}
.xavi-search-news-tool-control > select,
.xavi-search-news-date-toggle {
    align-self: end;
    margin: 0 !important;
}
.xavi-search-news-tool-actions {
    flex: 0 0 auto;
    align-self: end;
    height: 38px;
}
.xavi-search-news-tool-actions > .xavi-search-news-load-more,
.xavi-search-news-tool-actions > .xavi-search-news-feeds-toggle {
    flex: 0 0 auto;
    width: auto;
    min-width: 108px;
    white-space: nowrap;
    margin: 0 !important;
}
.xavi-search-news-visible-count {
    flex: 0 0 auto;
    align-self: end;
}
@media (max-width: 760px) {
    .xavi-search-news-tool-control { width: 100%; }
    .xavi-search-news-tool-actions { width: 100%; }
    .xavi-search-news-tool-actions > .xavi-search-news-load-more,
    .xavi-search-news-tool-actions > .xavi-search-news-feeds-toggle { min-width: 0; }
}

/* Native <label> grid normalization: keep Sort baseline identical to Date/actions. */
.xavi-search-news-tools-right > label.xavi-search-news-tool-control > select {
    transform: translateY(5px);
}
@media (max-width: 760px) {
    .xavi-search-news-tools-right > label.xavi-search-news-tool-control > select { transform: translateY(5px); }
}


/* Video search masonry and preview drawer */
.xavi-search-results.is-videos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
    grid-auto-rows: 8px;
    align-items: start;
    gap: 12px;
    margin-top: 10px;
    background: transparent;
}

.xavi-search-video-result {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--xavi-search-line);
    background: #070707;
    color: var(--xavi-search-text);
}

.xavi-search-video-poster {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-bottom: 1px solid var(--xavi-search-line);
    border-radius: 0;
    background: #101010;
    color: #fff;
    cursor: pointer;
}

.xavi-search-video-thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: transform 180ms ease, opacity 120ms ease;
}

.xavi-search-video-thumb.is-loaded {
    opacity: 1;
}

.xavi-search-video-poster:hover .xavi-search-video-thumb.is-loaded {
    transform: scale(1.025);
    opacity: .9;
}

.xavi-search-video-poster-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    padding: 16px;
    color: var(--xavi-search-muted);
    font-size: 13px;
    text-align: center;
}

.xavi-search-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.55);
    background: rgba(0,0,0,.78);
    color: #fff;
    font-size: 20px;
    line-height: 1;
    transform: translate(-50%, -50%);
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.xavi-search-video-poster:hover .xavi-search-video-play,
.xavi-search-video-poster:focus-visible .xavi-search-video-play {
    border-color: var(--xavi-search-accent);
    background: rgba(0,0,0,.94);
    transform: translate(-50%, -50%) scale(1.06);
}

.xavi-search-video-caption {
    display: grid;
    gap: 8px;
    padding: 11px 12px 12px;
}

.xavi-search-video-source {
    overflow: hidden;
    color: var(--xavi-search-muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.xavi-search-video-caption h3,
.xavi-search-video-caption p {
    margin: 0;
}

.xavi-search-video-caption h3 {
    font-size: 15px;
    line-height: 1.32;
}

.xavi-search-video-title {
    display: -webkit-box;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 650;
    text-align: left;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.xavi-search-video-title:hover,
.xavi-search-video-title:focus-visible {
    color: var(--xavi-search-accent);
}

.xavi-search-video-caption p {
    display: -webkit-box;
    overflow: hidden;
    color: var(--xavi-search-muted);
    font-size: 12px;
    line-height: 1.42;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.xavi-search-video-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.xavi-search-video-meta span {
    padding: 3px 5px;
    border: 1px solid var(--xavi-search-line);
    background: #000;
    color: var(--xavi-search-muted);
    font-size: 10px;
}

.xavi-search-video-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.xavi-search-video-actions button,
.xavi-search-video-actions a {
    margin: 0;
    padding: 6px 8px;
    border: 1px solid var(--xavi-search-line);
    border-radius: 0;
    background: #000;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    text-decoration: none;
}

.xavi-search-video-actions button:hover,
.xavi-search-video-actions button:focus-visible,
.xavi-search-video-actions a:hover,
.xavi-search-video-actions a:focus-visible {
    border-color: var(--xavi-search-accent);
    color: var(--xavi-search-accent);
}

.xavi-search-video-result.is-video-image-unavailable .xavi-search-video-poster::before {
    content: 'Preview image unavailable';
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 14px;
    color: var(--xavi-search-muted);
    font-size: 11px;
    text-align: center;
}

.xavi-search-video-preview-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10060;
    background: rgba(0, 0, 0, .76);
    opacity: 0;
    transition: opacity 180ms ease;
}

.xavi-search-video-preview-backdrop.is-open {
    opacity: 1;
}

.xavi-search-video-preview {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10070;
    display: grid;
    width: min(860px, 94vw);
    grid-template-rows: auto minmax(260px, 1fr) auto;
    overflow: hidden;
    border-left: 1px solid var(--xavi-search-line);
    background: #080808;
    color: var(--xavi-search-text);
    box-shadow: -18px 0 50px rgba(0, 0, 0, .5);
    transform: translateX(102%);
    transition: transform 220ms ease;
}

.xavi-search-video-preview.is-open {
    transform: translateX(0);
}

.xavi-search-video-preview-header {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--xavi-search-line);
    background: #000;
}

.xavi-search-video-preview-header > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.xavi-search-video-preview-header strong,
.xavi-search-video-preview-header span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.xavi-search-video-preview-header span {
    color: var(--xavi-search-muted);
    font-size: 11px;
}

.xavi-search-video-preview-close {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--xavi-search-line);
    border-radius: 0;
    background: #000;
    color: #fff;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
}

.xavi-search-video-preview-close:hover,
.xavi-search-video-preview-close:focus-visible {
    border-color: var(--xavi-search-accent);
    color: var(--xavi-search-accent);
}

.xavi-search-video-preview-stage {
    display: grid;
    min-height: 0;
    place-items: center;
    overflow: auto;
    padding: 14px;
    background: #030303;
}

.xavi-search-video-preview-media {
    position: relative;
    width: min(100%, 1080px);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid var(--xavi-search-line);
    background: #000;
}

.xavi-search-video-preview-media iframe,
.xavi-search-video-preview-media video,
.xavi-search-video-preview-media img {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: contain;
}

.xavi-search-video-preview-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    padding: 20px;
    color: var(--xavi-search-muted);
    text-align: center;
}

.xavi-search-video-preview-play-link {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 7px 9px;
    border: 1px solid var(--xavi-search-line);
    background: rgba(0,0,0,.9);
    color: #fff;
    text-decoration: none;
}

.xavi-search-video-preview-info {
    display: grid;
    max-height: 42vh;
    gap: 10px;
    overflow: auto;
    padding: 14px;
    border-top: 1px solid var(--xavi-search-line);
    background: #0b0b0b;
}

.xavi-search-video-preview-info h3,
.xavi-search-video-preview-info p {
    margin: 0;
}

.xavi-search-video-preview-info h3 {
    font-size: 18px;
    line-height: 1.3;
}

.xavi-search-video-preview-info p {
    color: var(--xavi-search-muted);
    font-size: 13px;
    line-height: 1.45;
}

.xavi-search-video-preview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.xavi-search-video-preview-meta span {
    padding: 4px 6px;
    border: 1px solid var(--xavi-search-line);
    background: #000;
    color: var(--xavi-search-muted);
    font-size: 11px;
}

.xavi-search-video-preview-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.xavi-search-video-preview-actions a {
    padding: 7px 9px;
    border: 1px solid var(--xavi-search-line);
    background: #000;
    color: #fff;
    text-decoration: none;
}

.xavi-search-video-preview-actions a:hover,
.xavi-search-video-preview-actions a:focus-visible {
    border-color: var(--xavi-search-accent);
    color: var(--xavi-search-accent);
}

html.xavi-search-video-preview-active,
html.xavi-search-video-preview-active body {
    overflow: hidden;
}

@media (max-width: 700px) {
    .xavi-search-results.is-videos {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .xavi-search-video-preview {
        width: 100vw;
    }

    .xavi-search-video-preview-stage {
        padding: 8px;
    }

    .xavi-search-video-preview-info {
        max-height: 46vh;
        padding: 10px;
    }
}


/* XAVI NEWS TABS + MEDIA CAROUSEL 20260822 */
.xavi-search-news-tools{align-items:flex-start;gap:.75rem;flex-wrap:wrap}
.xavi-search-news-tools-right{flex-wrap:wrap;align-items:center}
.xavi-search-news-view-tabs{display:flex;gap:.28rem;flex-wrap:wrap;align-items:center;order:-2;width:100%;padding:.2rem 0 .1rem;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.xavi-search-news-view-tabs button{appearance:none;border:0;background:transparent;color:inherit;padding:.55rem .78rem;border-radius:.65rem .65rem 0 0;cursor:pointer;font:inherit;font-weight:650;opacity:.68;border-bottom:2px solid transparent}
.xavi-search-news-view-tabs button:hover,.xavi-search-news-view-tabs button:focus-visible{opacity:1;background:color-mix(in srgb,currentColor 6%,transparent);outline:none}
.xavi-search-news-view-tabs button.is-active{opacity:1;border-bottom-color:currentColor;background:color-mix(in srgb,currentColor 8%,transparent)}
.xavi-search-results.is-news .xavi-search-news-card{position:relative;overflow:hidden}
.xavi-search-news-story-label{display:none;margin:.2rem 0 .45rem;font-size:.78rem;font-weight:750;letter-spacing:.015em;opacity:.82}
.xavi-search-results.is-news[data-news-view="top"] .xavi-search-news-story-label{display:block}
.xavi-search-news-media-controls{position:absolute;z-index:7;left:0;top:0;width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:space-between;pointer-events:none;padding:0 .38rem;box-sizing:border-box}
.xavi-search-news-media-controls>button{pointer-events:auto;width:2.15rem;height:3.3rem;border:0;border-radius:.65rem;background:rgba(0,0,0,.60);color:#fff;font-size:2rem;line-height:1;cursor:pointer;opacity:0;transform:translateX(-.18rem);transition:opacity .13s ease,transform .13s ease;box-shadow:0 1px 6px rgba(0,0,0,.28)}
.xavi-search-news-media-controls>button:last-child{transform:translateX(.18rem)}
.xavi-search-news-card:hover .xavi-search-news-media-controls>button,.xavi-search-news-card:focus-within .xavi-search-news-media-controls>button{opacity:.94;transform:none}
.xavi-search-news-media-controls>button:focus-visible{opacity:1;transform:none;outline:2px solid #fff;outline-offset:2px}
.xavi-search-news-media-status{position:absolute;right:.5rem;bottom:.45rem;display:flex;gap:.3rem;pointer-events:none}
.xavi-search-news-media-status span,.xavi-search-news-media-video-badge{background:rgba(0,0,0,.68);color:#fff;border-radius:999px;padding:.2rem .48rem;font-size:.7rem;font-weight:700;line-height:1.25}
.xavi-search-news-media-video-badge{position:absolute;z-index:6;left:.5rem;top:.5rem}
.xavi-search-news-media-placeholder{width:100%;aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;background:color-mix(in srgb,currentColor 7%,transparent);font-size:.9rem}
.xavi-search-news-media-placeholder span{font-size:2rem;opacity:.72}
.xavi-search-news-card-image,.xavi-search-news-card-video{width:100%;aspect-ratio:16/9;object-fit:cover}
@media (hover:none){.xavi-search-news-card:focus-within .xavi-search-news-media-controls>button{opacity:.94}}


/* XAVI LOCALIZATION 20260825 */
.xavi-search-language-tabs{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;margin:.45rem 0 .75rem;padding:.2rem 0;border-bottom:1px solid var(--xavi-search-line)}
.xavi-search-language-tabs[hidden]{display:none}
.xavi-search-language-tabs button{appearance:none;border:1px solid var(--xavi-search-line);background:#000;color:var(--xavi-search-muted);padding:.4rem .65rem;border-radius:.45rem;cursor:pointer;font:inherit}
.xavi-search-language-tabs button:hover,.xavi-search-language-tabs button:focus-visible{color:#fff;border-color:var(--xavi-search-accent);outline:none}
.xavi-search-language-tabs button.is-active{background:var(--xavi-search-accent);border-color:var(--xavi-search-accent);color:#000;font-weight:700}
.xavi-search-localization-control small{display:block;max-width:18rem;color:var(--xavi-search-muted);font-size:.7rem;line-height:1.25;margin-top:.2rem}
.xavi-search-localization-control select[multiple]{min-width:12rem;min-height:8rem;padding:.25rem;background:#000;color:#fff;border:1px solid var(--xavi-search-line)}
.xavi-search-localization-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:.65rem}
.xavi-search-localization-toggle input{width:1.1rem;height:1.1rem}
.xavi-search-result-language-chip{white-space:nowrap}
.xavi-search-translation-note{display:inline-flex;align-items:center;padding:.2rem .4rem;border:1px solid var(--xavi-search-line);font-size:.72rem;color:var(--xavi-search-muted)}
.xavi-search-reader-translation-tools{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-left:auto}
.xavi-search-reader-translation-tools select,.xavi-search-reader-translation-tools button{background:#000;color:#fff;border:1px solid var(--xavi-search-line);padding:.32rem .5rem}
.xavi-search-reader-translation{position:relative;z-index:12;margin:.5rem;padding:.75rem;border:1px solid var(--xavi-search-accent);background:#080808;color:#fff;max-height:32vh;overflow:auto}
.xavi-search-reader-translation strong{display:block;margin-bottom:.4rem;color:var(--xavi-search-accent)}
.xavi-search-reader-translation p{margin:.35rem 0;line-height:1.45}
.xavi-search-result[hidden],.xavi-search-image-result[hidden],.xavi-search-video-result[hidden]{display:none!important}


/* XAVI LOCALIZED READER VIEW 20260825 */
.xavi-search-news-reader-browser{position:relative}
.xavi-search-reader-translation[hidden]{display:none!important}
.xavi-search-news-reader-browser>.xavi-search-reader-translation{position:absolute;z-index:20;inset:0;margin:0;max-height:none;overflow:auto;box-sizing:border-box;border:0;border-top:1px solid var(--xavi-search-line);background:#080808;color:#fff}
.xavi-search-reader-translated-document{max-width:920px;margin:0 auto;padding:1rem 1.25rem 4rem;line-height:1.58}
.xavi-search-reader-translated-heading{position:sticky;top:0;z-index:2;margin:-1rem -1.25rem 1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--xavi-search-line);background:#080808}
.xavi-search-reader-translated-heading h2{margin:0 0 .4rem;font-size:1.35rem;line-height:1.25}
.xavi-search-reader-translated-meta{color:var(--xavi-search-muted);font-size:.75rem;overflow-wrap:anywhere}
.xavi-search-reader-translated-document p{margin:.75rem 0;color:#e6e6e6;font-size:.96rem;line-height:1.62;white-space:pre-wrap}
.xavi-search-reader-translation-tools button.is-active{border-color:var(--xavi-search-accent);background:var(--xavi-search-accent-soft);color:#fff}
.xavi-search-reader-translated-active [data-role="news-gecko-canvas"]{visibility:hidden}
@media(max-width:700px){.xavi-search-reader-translation-tools{width:100%;margin-left:0}.xavi-search-reader-translated-document{padding:.8rem .9rem 3rem}.xavi-search-reader-translated-heading{margin:-.8rem -.9rem .8rem;padding:.8rem .9rem}}


/* Xavi Search search activity console v2.3 — live mode/pipeline/lane telemetry. */
.xavi-search-activity-line {
    min-height: 0;
    margin-top: 7px;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 8px;
    background: rgba(255,255,255,.025);
    color: #b8b8b8;
    font-size: 12px;
    line-height: 1.35;
}

.xavi-search-activity-primary,
.xavi-search-activity-details {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

.xavi-search-activity-primary {
    min-height: 20px;
}

.xavi-search-activity-details {
    margin-top: 5px;
    gap: 5px;
}

.xavi-search-activity-state {
    flex: 0 0 auto;
    font-weight: 700;
    letter-spacing: .02em;
    color: #d8d8d8;
}

.xavi-search-activity-message {
    flex: 1 1 320px;
    min-width: 120px;
    color: #b8b8b8;
}

.xavi-search-activity-elapsed {
    flex: 0 0 auto;
    margin-left: auto;
    color: #8f8f8f;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-variant-numeric: tabular-nums;
}

.xavi-search-activity-chip {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    max-width: 100%;
    padding: 2px 7px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 999px;
    background: rgba(255,255,255,.035);
    color: #9e9e9e;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.xavi-search-activity-chip-mode {
    color: #e3e3e3;
    font-weight: 650;
}

.xavi-search-activity-line[data-state="searching"] .xavi-search-activity-state,
.xavi-search-activity-line[data-state="researching"] .xavi-search-activity-state,
.xavi-search-activity-line[data-state="loading-more"] .xavi-search-activity-state {
    color: #8fd99a;
}

.xavi-search-activity-line[data-state="done"] .xavi-search-activity-state {
    color: #88d392;
}

.xavi-search-activity-line[data-state="error"] .xavi-search-activity-state {
    color: #ff7b7b;
}

.xavi-search-activity-line[data-state="suggesting"] .xavi-search-activity-state {
    color: #9bbcff;
}

/* Idle is neutral, completion is a static green dot, and errors are red.
 * Only active work spins. This makes the input indicator meaningful at rest. */
.xavi-search-activity-spinner.is-idle {
    background: #777;
}

.xavi-search-activity-spinner.is-done.is-idle {
    background: #4caf50;
}

.xavi-search-activity-spinner.is-error.is-idle {
    background: #ff4b4b;
}

.xavi-search-activity-spinner.is-done.is-idle,
.xavi-search-activity-spinner.is-error.is-idle {
    width: 14px;
    height: 14px;
    margin-top: -7px;
    right: 59px;
    border: 0;
    animation: none;
}

@media (max-width: 640px) {
    .xavi-search-activity-line {
        margin-top: 6px;
        padding: 7px 8px;
    }

    .xavi-search-activity-message {
        flex-basis: calc(100% - 70px);
    }

    .xavi-search-activity-elapsed {
        margin-left: 0;
    }

    .xavi-search-activity-details {
        gap: 4px;
    }

    .xavi-search-activity-chip {
        min-height: 21px;
        padding: 2px 6px;
        font-size: 11px;
    }
}


/* Suggestions participate in document flow so the activity console moves with them.
 * Respect the HTML hidden state explicitly because the flex layout rule otherwise wins. */
.xavi-search-suggestions[hidden] {
    display: none !important;
}


/* Xavi Jobs mode: Bedrock-style fluid controls, list view and masonry grid. */
#xavi-search-search-app.xavi-search-jobs-mode .xavi-search-results-area {
    width: calc(100% - 24px) !important;
    max-width: none !important;
}

.xavi-search-jobs-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 18px;
    align-items: center;
    margin: 0 0 16px;
    padding: 12px;
    border: 1px solid #2c2c2c;
    background: #090909;
}
.xavi-search-jobs-toolbar[hidden] { display: none !important; }
.xavi-search-jobs-facets { display: flex; flex-wrap: wrap; gap: 7px; min-width: 0; }
.xavi-search-jobs-facets button,
.xavi-search-jobs-view-toggle button,
.xavi-search-jobs-pagination button {
    min-height: 34px;
    border: 1px solid #373737;
    border-radius: 0;
    background: #111;
    color: #eee;
    cursor: pointer;
    font: inherit;
}
.xavi-search-jobs-facets button { padding: 6px 10px; }
.xavi-search-jobs-facets button span { opacity: .7; margin-left: 4px; font-size: 12px; }
.xavi-search-jobs-facets button.is-active,
.xavi-search-jobs-view-toggle button.is-active { background: #ededed; color: #090909; border-color: #ededed; }
.xavi-search-jobs-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 10px; }
.xavi-search-jobs-open-only { padding: 6px 9px; border: 1px solid #315b39; background: #102215; color: #bfe7c6; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.xavi-search-jobs-page-size { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #aaa; }
.xavi-search-jobs-page-size select { min-height: 34px; border: 1px solid #373737; background: #111; color: #eee; }
.xavi-search-jobs-view-toggle { display: inline-flex; }
.xavi-search-jobs-view-toggle button { padding: 6px 10px; }
.xavi-search-jobs-pagination { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 12px; }
.xavi-search-jobs-pagination button { padding: 6px 12px; }
.xavi-search-jobs-pagination button:disabled { opacity: .35; cursor: default; }
.xavi-search-jobs-pagination span { min-width: 110px; text-align: center; font-size: 13px; color: #bbb; }

.xavi-search-results.xavi-search-jobs-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.xavi-search-results.xavi-search-jobs-grid { display: block; column-width: 360px; column-gap: 14px; }
.xavi-search-results.xavi-search-jobs-grid .xavi-search-job-card { display: inline-block; width: 100%; margin: 0 0 14px; break-inside: avoid; -webkit-column-break-inside: avoid; }
.xavi-search-job-card { box-sizing: border-box; padding: 16px; border: 1px solid #2c2c2c; background: #0b0b0b; color: #e8e8e8; }
.xavi-search-job-card h3 { margin: 10px 0 5px; font-size: clamp(16px, 1.35vw, 21px); line-height: 1.25; }
.xavi-search-job-card h3 a { color: #f4f4f4; text-decoration: none; }
.xavi-search-job-card h3 a:hover { text-decoration: underline; }
.xavi-search-job-issuer { color: #bdbdbd; font-size: 13px; margin-bottom: 10px; }
.xavi-search-job-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.xavi-search-job-chip { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 7px; border: 1px solid #343434; background: #141414; color: #cfcfcf; font-size: 11px; text-transform: capitalize; }
.xavi-search-job-chip.xavi-search-job-open { border-color: #315b39; background: #102215; color: #bfe7c6; text-transform: uppercase; }
.xavi-search-job-card .xavi-search-result-snippet { margin: 12px 0; color: #c3c3c3; line-height: 1.48; }
.xavi-search-job-details { display: grid; gap: 6px; padding-top: 10px; border-top: 1px solid #222; font-size: 12px; color: #b6b6b6; }
.xavi-search-job-details strong { color: #e0e0e0; font-weight: 600; }
.xavi-search-job-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 13px; padding-top: 10px; border-top: 1px solid #222; font-size: 11px; color: #888; }
.xavi-search-job-footer a { color: #e5e5e5; font-weight: 600; text-decoration: none; }
.xavi-search-job-footer a:hover { text-decoration: underline; }

@media (max-width: 760px) {
    #xavi-search-search-app.xavi-search-jobs-mode .xavi-search-results-area { width: calc(100% - 12px) !important; }
    .xavi-search-jobs-toolbar { grid-template-columns: 1fr; }
    .xavi-search-jobs-controls { justify-content: flex-start; }
    .xavi-search-jobs-pagination { grid-column: 1; }
    .xavi-search-results.xavi-search-jobs-grid { column-width: auto; column-count: 1; }
}


/* Xavi Jobs: dedicated database filters */
.xavi-search-jobs-controls { align-items: end; flex-wrap: wrap; }
.xavi-search-jobs-filter { display:flex; flex-direction:column; gap:5px; min-width:150px; font-size:12px; font-weight:650; color:var(--xavi-search-muted,#aaa); }
.xavi-search-jobs-filter select { min-height:38px; width:100%; border:1px solid var(--xavi-search-border,#333); border-radius:8px; background:var(--xavi-search-panel,#111); color:inherit; padding:6px 30px 6px 9px; }
.xavi-search-jobs-clear-filters { min-height:38px; padding:6px 12px; border:1px solid var(--xavi-search-border,#333); border-radius:8px; background:transparent; color:inherit; cursor:pointer; }
.xavi-search-jobs-clear-filters:hover, .xavi-search-jobs-clear-filters:focus-visible { border-color:currentColor; }
@media (max-width:780px) { .xavi-search-jobs-filter { min-width:min(46%,220px); flex:1 1 150px; } .xavi-search-jobs-clear-filters { flex:1 1 auto; } }


/* Stable progressive News grid: keep first-seen card slots while the live feed
   is still collecting, then apply the selected sort once the batch settles. */
.xavi-search-results.is-news[data-news-streaming="1"] .xavi-search-result.xavi-search-news-card {
    transition: none;
}
.xavi-search-results.is-news .xavi-search-result.xavi-search-news-card {
    contain: layout paint;
    grid-row: auto !important;
    grid-column: auto !important;
}


/* canonical Xavi Chat AI tab 20261015 */
.xavi-search-ai-canonical{width:100%;min-height:680px;height:calc(100dvh - 245px);max-height:1100px;border:1px solid rgba(255,255,255,.18);background:#000;overflow:hidden}
.xavi-search-ai-canonical-frame{display:block;width:100%;height:100%;border:0;background:#000}
.xavi-search-search-app:has(.xavi-search-ai-canonical) .xavi-search-results{display:none!important}
.xavi-search-search-app:has(.xavi-search-ai-canonical) .xavi-search-answers{max-width:none;width:100%;padding-left:0;padding-right:0}
@media(max-width:900px){.xavi-search-ai-canonical{min-height:620px;height:calc(100dvh - 205px)}}


/* Xavi AI canonical bare/fluid embed 20261015 */
.xavi-search-search-app.xavi-search-ai-mode .xavi-search-results-area{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
.xavi-search-search-app.xavi-search-ai-mode .xavi-search-results-column{width:100%!important;max-width:none!important}
.xavi-search-search-app.xavi-search-ai-mode .xavi-search-answers{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.xavi-search-search-app.xavi-search-ai-mode .xavi-search-ai-canonical{width:100%!important;max-width:none!important;border-left:0;border-right:0}
.xavi-search-search-app.xavi-search-ai-mode .xavi-search-ai-canonical-frame{width:100%!important;max-width:none!important}

/* Xavi Search responsive search widget stage — 2026-10-15
 * Idle: centered viewport-aware search widget.
 * Active: compact categories + query docked into the Xavi site header geometry.
 * Operational telemetry/result context lives in the right info drawer.
 */
.xavi-search-search-app {
    --xavi-search-widget-inline-pad: clamp(10px, 1.6vw, 24px);
    --xavi-search-dock-left: 0px;
    --xavi-search-dock-top: 0px;
    --xavi-search-dock-width: 100vw;
    --xavi-search-dock-height: 94px;
}

.xavi-search-search-app.xavi-search-stage-idle .xavi-search-search-stage {
    position: relative;
    inset: auto;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: clamp(360px, calc(100dvh - var(--xavi-nav-h, 54px) - 120px), 760px);
    padding: clamp(30px, 7vh, 96px) clamp(12px, 3vw, 48px);
    background: transparent;
    border: 0;
}

.xavi-search-search-app.xavi-search-stage-idle .xavi-search-search-center {
    width: min(1180px, 100%);
    max-width: 1180px;
    margin: 0 auto;
    padding: clamp(16px, 2vw, 28px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(7,7,7,.88);
    box-shadow: 0 18px 70px rgba(0,0,0,.26);
    backdrop-filter: blur(12px);
}

.xavi-search-search-app.xavi-search-stage-idle .xavi-search-results-area {
    display: none;
}

.xavi-search-header-search-dock {
    display: none;
    min-width: 0;
    height: 94px;
}

#xavi-site-header.xavi-search-search-widget-host {
    position: sticky !important;
    top: 0;
    z-index: 52 !important;
    background: #050505;
}
body.ccm-toolbar-visible #xavi-site-header.xavi-search-search-widget-host {
    top: 48px;
}
#xavi-site-header.xavi-search-search-widget-host .xavi-site-header__inner {
    min-height: 104px;
}
#xavi-site-header.xavi-search-search-widget-host .xavi-site-header__search {
    display: none !important;
}
/* Preserve the existing Xavi home icon and hamburger exactly as the nav owns them.
 * The Xavi Search dock is an absolute measurement slot between those controls and does
 * not participate in the nav flex layout. */
#xavi-site-header.xavi-search-search-widget-host .xavi-search-header-search-dock {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(760px, calc(100% - 128px));
    max-width: 760px;
    height: 94px;
    margin: 0;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

/* Xavi Search v1 page template: the center grid column is the sitewide header
 * navigation area. When a search has rendered results, use that exact slot as
 * the dock geometry while preserving Header Home on the left and hamburger on
 * the right. */
.xavi-search-v1-header.xavi-search-search-widget-host {
    position: sticky !important;
    top: 0;
    z-index: 52 !important;
    min-height: 104px;
    background: #050505;
}
body.ccm-toolbar-visible .xavi-search-v1-header.xavi-search-search-widget-host {
    top: 48px;
}
.xavi-search-v1-header.xavi-search-search-widget-host .xavi-search-v1-main-nav {
    position: relative;
    min-height: 94px;
}
.xavi-search-v1-header.xavi-search-search-widget-host .xavi-search-header-search-dock {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(760px, 100%);
    max-width: 760px;
    height: 94px;
    margin: 0;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.xavi-search-search-app.xavi-search-stage-active .xavi-search-search-stage {
    position: fixed;
    z-index: 58;
    top: var(--xavi-search-dock-top);
    left: var(--xavi-search-dock-left);
    width: var(--xavi-search-dock-width);
    min-height: 0;
    height: var(--xavi-search-dock-height);
    margin: 0;
    padding: 6px clamp(4px, .7vw, 10px);
    border: 0;
    background: #050505;
    animation: xavi-search-search-stage-dock-in 170ms ease-out both;
}

@keyframes xavi-search-search-stage-dock-in {
    from { opacity: .72; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.xavi-search-search-app.xavi-search-stage-active .xavi-search-search-center {
    display: grid;
    grid-template-rows: auto auto;
    gap: 5px;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.xavi-search-search-app.xavi-search-stage-active .xavi-search-mode-tabs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0 1px;
    gap: 3px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    white-space: nowrap;
}
.xavi-search-search-app.xavi-search-stage-active .xavi-search-mode-tabs button {
    flex: 0 0 auto;
    min-height: 29px;
    padding: 4px 9px;
    font-size: 12px;
    line-height: 18px;
}
.xavi-search-search-app.xavi-search-stage-active .xavi-search-search-form {
    width: 100%;
    margin: 0;
}
.xavi-search-search-app.xavi-search-stage-active .xavi-search-search-box {
    min-height: 45px;
}
.xavi-search-search-app.xavi-search-stage-active .xavi-search-query {
    height: 43px;
    min-height: 43px;
    padding-right: 38px;
    line-height: 43px;
}
.xavi-search-search-app.xavi-search-stage-active .xavi-search-clear {
    top: 0;
    right: 0;
    width: 38px;
    height: 43px;
    min-height: 43px;
    font-size: 20px;
    line-height: 1;
}
.xavi-search-search-app.xavi-search-stage-active .xavi-search-submit {
    min-height: 43px;
    height: 43px;
}
.xavi-search-search-app.xavi-search-stage-active .xavi-search-utility-bar {
    display: none !important;
}
.xavi-search-search-app.xavi-search-stage-active .xavi-search-advanced-panel[hidden] {
    display: none !important;
}
.xavi-search-search-app.xavi-search-stage-active .xavi-search-advanced-panel:not([hidden]) {
    position: absolute;
    top: calc(100% + 2px);
    left: var(--xavi-search-widget-inline-pad);
    right: var(--xavi-search-widget-inline-pad);
    z-index: 65;
    max-height: min(68vh, 680px);
    overflow: auto;
    margin: 0;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.15);
    background: #090909;
    box-shadow: 0 22px 70px rgba(0,0,0,.5);
}

.xavi-search-search-app.xavi-search-stage-active .xavi-search-results-area {
    display: grid;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(10px, 1.5vw, 20px) clamp(10px, 1.7vw, 26px) 50px;
}
.xavi-search-search-app.xavi-search-stage-active .xavi-search-results-column,
.xavi-search-search-app.xavi-search-stage-active .xavi-search-results,
.xavi-search-search-app.xavi-search-stage-active .xavi-search-answers,
.xavi-search-search-app.xavi-search-stage-active .xavi-search-research {
    width: 100%;
    max-width: none;
    min-width: 0;
}

/* Result heading/telemetry no longer consume vertical result/app space. */
.xavi-search-results-toolbar { display: none !important; }

.xavi-search-info-section {
    display: grid;
    gap: 9px;
    padding: 12px;
    border-bottom: 1px solid rgba(255,255,255,.11);
}
.xavi-search-info-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
}
.xavi-search-info-section-heading > div,
.xavi-search-info-section-heading > span {
    min-width: 0;
}
.xavi-search-info-section-heading strong,
.xavi-search-info-section-heading span {
    display: block;
}
.xavi-search-info-section-heading span {
    margin-top: 2px;
    color: rgba(255,255,255,.62);
    font-size: 11px;
}
.xavi-search-info-activity .xavi-search-activity-line {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.xavi-search-info-activity .xavi-search-activity-primary,
.xavi-search-info-activity .xavi-search-activity-details {
    flex-wrap: wrap;
}
.xavi-search-result-context-heading {
    margin: 0;
    font-size: 15px;
    line-height: 1.3;
}
.xavi-search-result-context-heading:empty { display: none; }
.xavi-search-result-context .xavi-search-news-intelligence {
    margin: 0;
}

@media (max-width: 720px) {
    #xavi-site-header.xavi-search-search-widget-host .xavi-site-header__container {
        padding-left: 6px;
        padding-right: 6px;
    }
    #xavi-site-header.xavi-search-search-widget-host .xavi-site-header__inner {
        min-height: 98px;
    }
    .xavi-search-header-search-dock { height: 90px; }
    .xavi-search-search-app.xavi-search-stage-active {
        --xavi-search-widget-inline-pad: 6px;
    }
    .xavi-search-search-app.xavi-search-stage-active .xavi-search-mode-tabs button {
        padding-left: 6px;
        padding-right: 6px;
        font-size: 11px;
    }
    .xavi-search-search-app.xavi-search-stage-idle .xavi-search-search-stage {
        min-height: calc(100dvh - var(--xavi-nav-h, 54px) - 36px);
        padding: 18px 10px;
    }
    .xavi-search-search-app.xavi-search-stage-idle .xavi-search-search-center {
        padding: 13px;
        border-radius: 10px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .xavi-search-search-app.xavi-search-stage-active .xavi-search-search-stage { animation: none; }
}


/* Compact intent-ranked Web results */

/* One result per row. The two-column treatment is inside each result: content
   on the left, structured result facts/actions on the right. */
#xavi-search-search-app.xavi-search-web-mode .xavi-search-results {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    row-gap: 0;
}
#xavi-search-search-app.xavi-search-web-mode .xavi-search-results > .xavi-search-web-result { align-self: start; }

#xavi-search-search-app .xavi-search-results .xavi-search-result.xavi-search-web-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 290px);
    align-items: start;
    gap: 14px 22px;
    min-height: 0;
    padding: 11px 0 12px;
    content-visibility: auto;
    contain-intrinsic-size: auto 118px;
}
#xavi-search-search-app .xavi-search-web-result .xavi-search-result-main { min-width: 0; align-self: start; }
#xavi-search-search-app .xavi-search-web-result .xavi-search-result-domain {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 2px;
    font-size: 11.5px;
    line-height: 1.25;
}
#xavi-search-search-app .xavi-search-web-result .xavi-search-favicon { width: 14px; height: 14px; }
#xavi-search-search-app .xavi-search-web-result h3 {
    margin: 0 0 4px;
    font-size: clamp(16px, 1.18vw, 19px);
    line-height: 1.2;
    font-weight: 550;
}
#xavi-search-search-app .xavi-search-web-result .xavi-search-result-snippet {
    display: -webkit-box;
    max-width: none;
    margin: 0;
    overflow: hidden;
    color: #b9b9b9;
    font-size: 13.5px;
    line-height: 1.38;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
#xavi-search-search-app .xavi-search-web-side {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    align-content: start;
    padding-left: 14px;
    border-left: 1px solid #202020;
}
#xavi-search-search-app .xavi-search-web-side .xavi-search-web-side-thumb {
    width: 100% !important;
    max-width: 190px;
    height: 82px !important;
    object-fit: cover;
    object-position: center;
    border: 1px solid #292929;
    background: #070707;
}
#xavi-search-search-app .xavi-search-web-facts {
    display: grid;
    gap: 3px;
    margin: 0;
}
#xavi-search-search-app .xavi-search-web-facts > div {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 7px;
    min-width: 0;
}
#xavi-search-search-app .xavi-search-web-facts dt {
    color: #777;
    font-size: 10.5px;
    line-height: 1.3;
}
#xavi-search-search-app .xavi-search-web-facts dd {
    min-width: 0;
    margin: 0;
    color: #bcbcbc;
    font-size: 10.5px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
#xavi-search-search-app .xavi-search-web-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 1px;
}
#xavi-search-search-app .xavi-search-result-preview,
#xavi-search-search-app .xavi-search-web-result .xavi-search-archive-link {
    min-height: 27px;
    padding: 4px 8px;
    border: 1px solid #333;
    background: #080808;
    color: #d7d7d7;
    font: inherit;
    font-size: 11px;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}
#xavi-search-search-app .xavi-search-result-preview:hover,
#xavi-search-search-app .xavi-search-web-result .xavi-search-archive-link:hover {
    border-color: #666;
    color: #fff;
}
#xavi-search-search-app .xavi-search-web-details {
    grid-column: 1 / -1;
    margin-top: -3px;
    border-top: 1px solid #1b1b1b;
}
#xavi-search-search-app .xavi-search-web-details > summary {
    width: fit-content;
    padding: 6px 0 1px;
    color: #a8a8a8;
    font-size: 11.5px;
    line-height: 1.2;
    cursor: pointer;
    user-select: none;
}
#xavi-search-search-app .xavi-search-web-details[open] > summary { color: #f0f0f0; }
#xavi-search-search-app .xavi-search-web-details-body { padding: 7px 0 2px; }
#xavi-search-search-app .xavi-search-web-details-snippet {
    margin: 0 0 8px;
    color: #c4c4c4;
    font-size: 12.5px;
    line-height: 1.4;
    white-space: normal;
}
#xavi-search-search-app .xavi-search-web-details dl { display: grid; gap: 4px; margin: 0; }
#xavi-search-search-app .xavi-search-web-details dl > div {
    display: grid;
    grid-template-columns: minmax(88px, auto) minmax(0, 1fr);
    gap: 9px;
    min-width: 0;
}
#xavi-search-search-app .xavi-search-web-details dt { color: #777; font-size: 11px; }
#xavi-search-search-app .xavi-search-web-details dd {
    min-width: 0;
    margin: 0;
    color: #bcbcbc;
    font-size: 11px;
    overflow-wrap: anywhere;
}
/* Internal node/engine chips stay out of the compact primary row; the right-side
   facts and expandable details expose the useful source information instead. */
#xavi-search-search-app .xavi-search-web-result .xavi-search-chip-engine,
#xavi-search-search-app .xavi-search-web-result .xavi-search-chip-node { display: none; }

@media (max-width: 760px) {
    #xavi-search-search-app .xavi-search-results .xavi-search-result.xavi-search-web-result {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding: 10px 0;
    }
    #xavi-search-search-app .xavi-search-web-side {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 7px 10px;
        padding: 7px 0 0;
        border-left: 0;
        border-top: 1px solid #1d1d1d;
    }
    #xavi-search-search-app .xavi-search-web-side .xavi-search-web-side-thumb {
        width: 90px !important;
        min-width: 90px;
        height: 60px !important;
        grid-row: 1 / span 2;
    }
    #xavi-search-search-app .xavi-search-web-actions { grid-column: 2; }
    #xavi-search-search-app .xavi-search-web-result .xavi-search-result-snippet {
        font-size: 13px;
        -webkit-line-clamp: 3;
    }
}

/* Xavi Search suggestion surface — horizontal refine flow, 2026-10-18.
 * Keep the search box visually intact. Suggestions live below it as the compact
 * horizontal/wrapping refine surface, with the red ~ controls preserved. */
.xavi-search-search-form {
    overflow: visible;
}

/* Detailed harvesting/pipeline telemetry belongs in the Info drawer, not in the
 * primary search surface. The input spinner remains the lightweight user cue. */
.xavi-search-search-progress {
    display: none !important;
}

.xavi-search-search-center .xavi-search-search-box {
    position: relative;
    z-index: 3;
    border: 1px solid #666 !important;
}

.xavi-search-search-center .xavi-search-suggestions,
.xavi-search-suggestions {
    position: absolute !important;
    z-index: 121 !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 116px !important;
    width: auto !important;
    max-height: min(46vh, 360px) !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: flex-start !important;
    gap: 6px 4px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 1px solid #3b3b3b !important;
    background: #060606 !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.48) !important;
    scrollbar-width: thin;
    scrollbar-color: #3a3a3a #0a0a0a;
}

.xavi-search-suggestions[hidden] {
    display: none !important;
}

.xavi-search-suggestions > .xavi-search-suggestion,
.xavi-search-suggestion {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 1px solid #262626 !important;
    background: #0b0b0b !important;
    color: #dedede !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    cursor: pointer;
}

.xavi-search-suggestion:hover,
.xavi-search-suggestion:focus-visible,
.xavi-search-suggestion.is-active {
    border-color: #565656 !important;
    background: #151515 !important;
    color: #fff !important;
    box-shadow: inset 0 -2px 0 var(--xavi-search-accent) !important;
    outline: 0 !important;
}

.xavi-search-suggestions > .xavi-search-suggestion-merge,
.xavi-search-suggestion-merge {
    display: inline-flex !important;
    flex: 0 0 28px !important;
    width: 28px !important;
    min-width: 28px !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--xavi-search-accent) !important;
    font: 800 18px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    text-align: center !important;
    cursor: pointer;
}

.xavi-search-suggestion-merge:hover,
.xavi-search-suggestion-merge:focus-visible {
    background: var(--xavi-search-accent-soft) !important;
    color: #ff5369 !important;
    outline: 1px solid rgba(216,6,33,.55) !important;
    outline-offset: -1px !important;
}

.xavi-search-suggestion-bang {
    gap: 10px !important;
}
.xavi-search-suggestion-bang .xavi-search-bang-shortcut {
    flex: 0 0 auto;
    color: var(--xavi-search-accent) !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-weight: 700;
}
.xavi-search-suggestion-bang .xavi-search-bang-label {
    min-width: 0;
    color: #c9c9c9;
}

/* Docked header keeps the same refine layout but gives the overlay enough room to
 * clear the compact header search without eating its bottom border. */
.xavi-search-search-app.xavi-search-stage-active .xavi-search-suggestions {
    top: calc(100% + 6px) !important;
    right: 0 !important;
    max-height: min(40vh, 300px) !important;
    padding: 8px 10px !important;
}

@media (max-width: 640px) {
    .xavi-search-search-center .xavi-search-suggestions,
    .xavi-search-suggestions {
        right: 0 !important;
        max-height: min(48vh, 330px) !important;
        padding: 8px !important;
        gap: 5px 3px !important;
    }
    .xavi-search-suggestions > .xavi-search-suggestion,
    .xavi-search-suggestion {
        min-height: 36px !important;
        padding: 7px 10px !important;
        font-size: 13px !important;
    }
    .xavi-search-suggestions > .xavi-search-suggestion-merge,
    .xavi-search-suggestion-merge {
        flex-basis: 24px !important;
        width: 24px !important;
        min-width: 24px !important;
        min-height: 36px !important;
        font-size: 17px !important;
    }
}

/* Compact query refinement popover: bangs + dorks/operators */
.xavi-search-refine-toggle{align-self:stretch;border:0;border-left:1px solid rgba(127,127,127,.22);background:transparent;color:inherit;padding:0 12px;font:inherit;cursor:pointer;white-space:nowrap}.xavi-search-refine-toggle[aria-expanded="true"]{font-weight:650}.xavi-search-search-form{position:relative}.xavi-search-refine-popover{position:absolute;z-index:80;top:calc(100% + 7px);right:0;width:min(620px,calc(100vw - 28px));border:1px solid rgba(127,127,127,.28);border-radius:10px;background:var(--bs-body-bg,#fff);color:inherit;padding:11px;box-shadow:0 12px 30px rgba(0,0,0,.14);display:grid;gap:9px}.xavi-search-refine-popover[hidden]{display:none}.xavi-search-refine-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.xavi-search-refine-heading span{font-size:.85em;opacity:.65}.xavi-search-refine-popover>input{width:100%;border:1px solid rgba(127,127,127,.32);border-radius:8px;padding:9px 10px;background:transparent;color:inherit}.xavi-search-refine-bangs,.xavi-search-refine-operators{display:flex;flex-wrap:wrap;gap:6px}.xavi-search-refine-bangs button,.xavi-search-refine-operators button,.xavi-search-refine-actions button{border:1px solid rgba(127,127,127,.28);background:transparent;color:inherit;border-radius:7px;padding:6px 9px;font:inherit;cursor:pointer}.xavi-search-refine-actions{display:flex;justify-content:flex-end;gap:7px}.xavi-search-refine-actions [data-role="refine-search"]{font-weight:650}@media(max-width:760px){.xavi-search-refine-toggle{padding:0 8px}.xavi-search-refine-popover{left:0;right:auto;width:100%}}
