/* Shared decoration only: no changes to forms, tables, navigation or fonts. */
@media screen {
    body.site-animated-background {
        --site-bg-color: #e7ebf0;
        --site-bg-shadow: rgba(163, 177, 198, .55);
        --site-bg-light: rgba(255, 255, 255, .9);
        background-color: var(--site-bg-color) !important;
        isolation: isolate;
    }
    :root:has(link[data-skin="dark"]:not([disabled])[rel="stylesheet"]) body.site-animated-background {
        --site-bg-color: #20252d;
        --site-bg-shadow: rgba(0, 0, 0, .35);
        --site-bg-light: rgba(255, 255, 255, .06);
    }
    .site-floating-background {
        position: fixed;
        inset: 0;
        z-index: -1;
        overflow: hidden;
        pointer-events: none;
    }
    .site-floating-background span {
        position: absolute;
        display: block;
        border-radius: 50%;
        background: var(--site-bg-color);
        box-shadow: 15px 15px 30px var(--site-bg-shadow), -15px -15px 30px var(--site-bg-light);
        animation: siteCircleFloat 6s ease-in-out infinite;
    }
    .site-floating-background span:nth-child(1) { width: 190px; height: 190px; top: 7%; left: 7%; }
    .site-floating-background span:nth-child(2) { width: 130px; height: 130px; right: 8%; bottom: 8%; animation-delay: -1.5s; }
    .site-floating-background span:nth-child(3) { width: 55px; height: 55px; right: 20%; top: 22%; animation-delay: -3s; }
    body.site-animated-background > .app,
    body.site-animated-background > .auth,
    body.site-animated-background .app-main,
    body.site-animated-background .app-main > .wrapper {
        background-color: transparent !important;
    }
    @keyframes siteCircleFloat {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-18px); }
    }
    @media (max-width: 600px) {
        .site-floating-background span:nth-child(1) { width: 120px; height: 120px; left: 3%; }
        .site-floating-background span:nth-child(2) { width: 90px; height: 90px; right: 3%; }
    }
    @media (prefers-reduced-motion: reduce) {
        .site-floating-background span { animation: none; }
    }
}
@media print {
    .site-floating-background { display: none !important; }
    /* Existing login decoration also stays out of printed documents. */
    .bg-circle { display: none !important; }
}
