/* Shared line, separator, and outline effects. */

.product-feature-panel::before,
.product-hero-video::after,
.product-card__image-link::after,
.product-changelog-toolbar::after,
.product-changelog-range::before,
.product-changelog-release::after,
.product-feature-table tbody td::after,
.product-details li::after,
.feature-group-label::after,
.reveal-separator::after {
    content: "";
    position: absolute;
    pointer-events: none;
    background:
        radial-gradient(
            circle var(--reveal-light-radius) at var(--reveal-light-x) var(--reveal-light-y),
            rgba(var(--cursor-light-rgb), var(--reveal-cursor-light-alpha)) 0%,
            rgba(var(--cursor-light-rgb), var(--reveal-cursor-light-alpha-soft)) 34%,
            rgba(var(--cursor-light-rgb), 0) 72%
        ),
        rgba(var(--reveal-outline-rgb), var(--reveal-separator-baseline, var(--reveal-outline-baseline)));
}

.product-feature-panel::before,
.product-hero-video::after,
.product-card__image-link::after,
.product-changelog-toolbar::after,
.product-changelog-release::after,
.product-feature-table tbody td::after,
.product-details li::after,
.feature-group-label::after,
.reveal-separator::after {
    right: 0;
    bottom: 0;
    left: 0;
    height: var(--reveal-outline-thickness);
}

.product-feature-panel::before {
    top: 0;
    bottom: auto;
    z-index: 2;
}

.product-hero-video::after,
.product-card__image-link::after {
    z-index: 2;
}

.product-details li.feature-group::after,
.product-feature-group-row .feature-group-label::after {
    display: none;
}

.product-changelog-range::before {
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--reveal-outline-thickness);
}

@media (hover: none), (pointer: coarse) {
    :root {
        --reveal-cursor-light-alpha: 0;
        --reveal-cursor-light-alpha-soft: 0;
        --button-cursor-light-alpha: 0;
        --button-cursor-light-alpha-soft: 0;
    }
}

@media (prefers-contrast: more) {
    :root {
        --text-alpha-95: rgba(var(--text-fg-rgb), 1);
        --text-alpha-80: rgba(var(--text-fg-rgb), 0.95);
        --text-alpha-75: rgba(var(--text-fg-rgb), 0.90);
        --text-alpha-65: rgba(var(--text-fg-rgb), 0.82);
        --text-alpha-60: rgba(var(--text-fg-rgb), 0.78);
        --text-alpha-50: rgba(var(--text-fg-rgb), 0.68);
        --text-alpha-40: rgba(var(--text-fg-rgb), 0.56);
    }
}

@media (forced-colors: active) {
    .language-switcher__trigger,
    .theme-switcher__trigger,
    .reveal-dropdown__option {
        border: 1px solid CanvasText;
        forced-color-adjust: auto;
    }
}

@media print {
    :root {
        color-scheme: light;
    }

    body {
        background: #fff;
        color: #000;
    }

    #bg-canvas,
    .reveal-surface::before,
    .reveal-surface::after,
    .buttons :is(a, button)::after {
        display: none;
    }
}
