/* Desktop wrapper compositor hardening for classic UI.
   This avoids overlay-state hooks and keeps classic rendering on stable
   composited layers to reduce partial redraw flicker behind Steam overlay. */
body.desktop-client:not(.modern-ui) #main-grid,
body.desktop-client:not(.modern-ui) #app {
    transform: translateZ(0);
    backface-visibility: hidden;
}

body.desktop-client:not(.modern-ui) .panel,
body.desktop-client:not(.modern-ui) .panel * {
    backface-visibility: hidden;
}

body.desktop-client:not(.modern-ui) .progress-fill,
body.desktop-client:not(.modern-ui) #chat-messages {
    transform: translateZ(0);
}

body.desktop-client:not(.modern-ui) #prog-current {
    width: 100%;
    transform-origin: left center;
    transform: scaleX(0);
    will-change: transform;
}

/* Reduce repaint churn for classic desktop wrapper hotspots. */
body.desktop-client:not(.modern-ui) .panel,
body.desktop-client:not(.modern-ui) .panel-header,
body.desktop-client:not(.modern-ui) button,
body.desktop-client:not(.modern-ui) .menu-link,
body.desktop-client:not(.modern-ui) .profile-link,
body.desktop-client:not(.modern-ui) .chat-tab,
body.desktop-client:not(.modern-ui) .progress-bar,
body.desktop-client:not(.modern-ui) .progress-fill {
    transition: none !important;
    animation: none !important;
    filter: none !important;
}

body.desktop-client:not(.modern-ui) .panel,
body.desktop-client:not(.modern-ui) button,
body.desktop-client:not(.modern-ui) .panel-header {
    box-shadow: none !important;
}

body.desktop-client:not(.modern-ui) button:hover,
body.desktop-client:not(.modern-ui) .menu-link:hover,
body.desktop-client:not(.modern-ui) .profile-link:hover,
body.desktop-client:not(.modern-ui) .chat-tab:hover {
    transform: none !important;
}

body.desktop-client:not(.modern-ui) .contract-board-glow::after,
body.desktop-client:not(.modern-ui) .progress-fill::after {
    animation: none !important;
    opacity: 0 !important;
}
