html[data-theme="light"],
html[data-theme="dark"] {
    --pst-color-primary: #AF95DB;
    --pst-color-secondary: #0690C6;
}

html[data-theme="light"] {
    --sg-tab-track: #f3f4f5;
    --sg-tab-active-bg: #ffffff;
    --sg-tab-panel-bg: #f7f8f9;
}

html[data-theme="dark"] {
    --sg-tab-track: var(--pst-color-on-background);
    --sg-tab-active-bg: var(--pst-color-surface);
    --sg-tab-panel-bg: rgba(255, 255, 255, 0.035);
}

.language-switcher .dropdown-item.active,
.language-switcher .dropdown-item:active {
    background-color: transparent;
    color: var(--pst-color-text-base);
    font-weight: 600;
}

/* sphinx-design tabs, restyled as a quiet segmented control.
   pydata-sphinx-theme renders them as browser-style tabs with a 2px primary
   border around the panel — too heavy for a platform switch inside a step
   list. These selectors must keep the theme's `.bd-content` specificity. */

.bd-content .sd-tab-set {
    margin: 1.25em 0;
}

.bd-content .sd-tab-set > label {
    background-color: var(--sg-tab-track);
    border: 1px solid var(--pst-color-border);
    border-inline-end-width: 0;
    border-radius: 0;
    color: var(--pst-color-text-muted);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.9;
    margin-inline-end: 0;
    margin-bottom: 0.85em;
    padding: 0 0.9em;
    transition: background-color 150ms, color 150ms;
}

.bd-content .sd-tab-set > label:first-of-type {
    border-start-start-radius: 0.375rem;
    border-end-start-radius: 0.375rem;
}

.bd-content .sd-tab-set > label:last-of-type {
    border-inline-end-width: 1px;
    border-start-end-radius: 0.375rem;
    border-end-end-radius: 0.375rem;
}

.bd-content .sd-tab-set > input:not(:checked, :focus-visible) + label:hover {
    border-color: var(--pst-color-border);
    color: var(--pst-color-text-base);
    text-decoration-line: none;
}

.bd-content .sd-tab-set > input:checked + label {
    background-color: var(--sg-tab-active-bg);
    border-color: var(--pst-color-border);
    border-width: 1px;
    border-style: solid;
    color: var(--pst-color-text-base);
    font-weight: 600;
    transform: none;
}

/* The theme's `input:checked + label` rule outranks the plain `:first/last-of-type`
   rules above, so the end radii have to be restated on the checked state too. */
.bd-content .sd-tab-set > input:checked + label:first-of-type {
    border-start-start-radius: 0.375rem;
    border-end-start-radius: 0.375rem;
}

.bd-content .sd-tab-set > input:checked + label:last-of-type {
    border-start-end-radius: 0.375rem;
    border-end-end-radius: 0.375rem;
}

.bd-content .sd-tab-set > input:checked + label:not(:last-of-type) {
    border-inline-end-width: 0;
}

.bd-content .sd-tab-set > input:focus-visible + label {
    background-color: var(--sg-tab-active-bg);
    border: 1px solid var(--pst-color-primary);
    border-radius: 0;
    color: var(--pst-color-text-base);
    outline: 2px solid var(--pst-color-primary);
    outline-offset: 1px;
}

/* Soft panel instead of the theme's 2px primary-coloured box. */
.bd-content .sd-tab-set .sd-tab-content {
    background-color: var(--sg-tab-panel-bg);
    border: 0;
    border-radius: 0.375rem;
    padding: 0.9rem 1.1rem;
}
