.tajoka-theme-backgrounds {
    --tajoka-background-opacity: .88;
    --tajoka-background-top-opacity: .38;
    position: fixed;
    z-index: 2147483000;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.tajoka-theme-backgrounds-medium .tajoka-theme-backgrounds {
    --tajoka-background-opacity: 1;
    --tajoka-background-top-opacity: .54;
}

.tajoka-theme-backgrounds__decor {
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: var(--tajoka-background-opacity);
    user-select: none;
}

.tajoka-theme-backgrounds__autumn-overlay {
    --tajoka-background-image: url("images/autumn-overlay-v107.png");
    --tajoka-mobile-background-image: url("images/mobile-autumn-overlay-v112.png");
    inset: 0;
    background-image: var(--tajoka-background-image);
    background-position: center;
    background-size: 100% 100%;
}

.tajoka-theme-backgrounds__christmas-new-year-overlay {
    --tajoka-background-image: url("images/christmas-new-year-overlay-v108.png");
    --tajoka-mobile-background-image: url("images/mobile-christmas-new-year-overlay-v112.png");
    inset: 0;
    background-image: var(--tajoka-background-image);
    background-position: center;
    background-size: 100% 100%;
    opacity: var(--tajoka-background-opacity);
}

.tajoka-theme-backgrounds__halloween-overlay {
    --tajoka-background-image: url("images/halloween-overlay-v109.png");
    --tajoka-mobile-background-image: url("images/mobile-halloween-overlay-v112.png");
    inset: 0;
    background-image: var(--tajoka-background-image);
    background-position: center;
    background-size: 100% 100%;
    opacity: var(--tajoka-background-opacity);
}

.tajoka-theme-backgrounds__spring-easter-overlay {
    --tajoka-background-image: url("images/spring-easter-overlay-v111.png");
    --tajoka-mobile-background-image: url("images/mobile-spring-easter-overlay-v112.png");
    inset: 0;
    background-image: var(--tajoka-background-image);
    background-position: center;
    background-size: 100% 100%;
    opacity: var(--tajoka-background-opacity);
}

.tajoka-theme-backgrounds__spiders {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
    pointer-events: none;
}

.tajoka-theme-backgrounds__spider {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: clamp(36px, 3.1vw, 57px);
    aspect-ratio: 1;
    background: url("images/halloween-spider-v109.png") center / contain no-repeat;
    filter: drop-shadow(0 3px 3px rgba(24, 9, 32, .28));
    opacity: 0;
    will-change: transform, opacity;
}

.tajoka-theme-backgrounds__autumn-top-right,
.tajoka-theme-backgrounds__autumn-bottom-left,
.tajoka-theme-backgrounds__autumn-bottom-right {
    display: none;
}

.tajoka-theme-backgrounds__autumn-top-right {
    top: -24px;
    right: -18px;
    width: min(42vw, 600px);
    aspect-ratio: 1.5;
    background-image: url("images/autumn-top-right.png");
    background-position: top right;
    opacity: var(--tajoka-background-top-opacity);
}

.tajoka-theme-backgrounds__autumn-bottom-left,
.tajoka-theme-backgrounds__autumn-bottom-right {
    bottom: -2px;
    aspect-ratio: 1.5;
    background-position: bottom center;
}

.tajoka-theme-backgrounds__autumn-bottom-left {
    left: -28px;
    width: min(38vw, 560px);
    background-image: url("images/autumn-bottom-left.png");
}

.tajoka-theme-backgrounds__autumn-bottom-right {
    right: -55px;
    bottom: -72px;
    width: min(20vw, 300px);
    background-image: url("images/autumn-bottom-right.png");
    opacity: .14;
}

.tajoka-theme-backgrounds-medium .tajoka-theme-backgrounds__autumn-bottom-right {
    opacity: .2;
}

@media (max-width: 700px) {
    .tajoka-theme-backgrounds {
        --tajoka-background-opacity: .38;
        --tajoka-background-top-opacity: .26;
    }

    .tajoka-theme-backgrounds-medium .tajoka-theme-backgrounds {
        --tajoka-background-opacity: .54;
        --tajoka-background-top-opacity: .42;
    }

    .tajoka-theme-backgrounds__autumn-overlay,
    .tajoka-theme-backgrounds__christmas-new-year-overlay,
    .tajoka-theme-backgrounds__halloween-overlay,
    .tajoka-theme-backgrounds__spring-easter-overlay {
        background-image: none;
        opacity: .46;
    }

    .tajoka-theme-backgrounds__autumn-overlay::before,
    .tajoka-theme-backgrounds__autumn-overlay::after,
    .tajoka-theme-backgrounds__christmas-new-year-overlay::before,
    .tajoka-theme-backgrounds__christmas-new-year-overlay::after,
    .tajoka-theme-backgrounds__halloween-overlay::before,
    .tajoka-theme-backgrounds__halloween-overlay::after,
    .tajoka-theme-backgrounds__spring-easter-overlay::before,
    .tajoka-theme-backgrounds__spring-easter-overlay::after {
        content: "";
        position: absolute;
        left: 0;
        width: 100%;
        height: 50%;
        display: block;
        background-image: var(--tajoka-mobile-background-image);
        background-repeat: no-repeat;
        background-size: 100% auto;
    }

    .tajoka-theme-backgrounds__autumn-overlay::before,
    .tajoka-theme-backgrounds__christmas-new-year-overlay::before,
    .tajoka-theme-backgrounds__halloween-overlay::before,
    .tajoka-theme-backgrounds__spring-easter-overlay::before {
        top: 0;
        background-position: center top;
    }

    .tajoka-theme-backgrounds__autumn-overlay::after,
    .tajoka-theme-backgrounds__christmas-new-year-overlay::after,
    .tajoka-theme-backgrounds__halloween-overlay::after,
    .tajoka-theme-backgrounds__spring-easter-overlay::after {
        bottom: 0;
        background-position: center bottom;
    }

    .tajoka-theme-backgrounds-medium .tajoka-theme-backgrounds__autumn-overlay,
    .tajoka-theme-backgrounds-medium .tajoka-theme-backgrounds__christmas-new-year-overlay,
    .tajoka-theme-backgrounds-medium .tajoka-theme-backgrounds__halloween-overlay,
    .tajoka-theme-backgrounds-medium .tajoka-theme-backgrounds__spring-easter-overlay {
        opacity: .62;
    }

    .tajoka-theme-backgrounds__spider {
        width: clamp(34px, 10.4vw, 44px);
    }

    .tajoka-theme-backgrounds__spider:nth-child(n + 3) {
        display: none;
    }

    .tajoka-theme-backgrounds__autumn-top-right,
    .tajoka-theme-backgrounds__autumn-bottom-left,
    .tajoka-theme-backgrounds__autumn-bottom-right {
        display: none;
    }

    .tajoka-theme-backgrounds__autumn-top-right {
        top: -8px;
        right: -24px;
        width: 225px;
    }

    .tajoka-theme-backgrounds__autumn-bottom-left {
        left: -42px;
        width: 245px;
    }

    .tajoka-theme-backgrounds__autumn-bottom-right {
        right: -55px;
        bottom: -62px;
        width: 160px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tajoka-theme-backgrounds__spiders {
        display: none !important;
    }
}

@media print {
    .tajoka-theme-backgrounds {
        display: none !important;
    }
}
