/* GAX777's per-image skeletons: #1a2a1f, half-width sweep, 1.5s ease-in-out. */
.gax-home-logo .gax-home-logo-media {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.gax-skeleton-enabled .gax-skeleton { position: relative; overflow: hidden; }
.gax-skeleton-enabled .gax-home-game-image { position: absolute; }
.gax-skeleton-enabled .gax-home-reward-float { position: fixed; }
.gax-skeleton-enabled .gax-skeleton.is-loading,
.gax-skeleton-enabled .gax-skeleton.is-error { background: #1a2a1f; }
.gax-skeleton-enabled .gax-home-logo { border-radius: 6px; }
.gax-skeleton-enabled .gax-home-banner-image.is-loading { border-radius: 15px; }
.gax-skeleton-enabled .gax-home-category-icon.is-loading {
    background: linear-gradient(135deg, #19261d, #2a382e);
}
.gax-skeleton-enabled .gax-home-reward-float.is-loading { border-radius: 50%; }
.gax-skeleton-enabled .gax-skeleton.is-loading::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 50%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .1) 50%, transparent);
    animation: gaxHomeShimmer 1.5s ease-in-out infinite;
}
.gax-skeleton-enabled .gax-home-category-icon.is-loading::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .12) 50%, transparent);
    animation-name: gaxHomeTileShimmer;
}
.gax-skeleton-enabled .gax-home-game-image.is-loading::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .08) 50%, transparent);
    animation-name: gaxHomeTileShimmer;
}
.gax-skeleton-enabled .gax-skeleton.is-loading > img,
.gax-skeleton-enabled .gax-skeleton.is-error > img { opacity: 0; }
.gax-skeleton-enabled .gax-home-game-card:has(.is-loading) > .gax-home-favorite,
.gax-skeleton-enabled .gax-home-game-card:has(.is-error) > .gax-home-favorite { visibility: hidden; }
.gax-skeleton-enabled .gax-skeleton.is-error::after {
    content: "";
    position: absolute;
    width: 18px;
    height: 14px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #54745e;
    border-radius: 3px;
    pointer-events: none;
}
@keyframes gaxHomeShimmer {
    from { transform: translateX(-100%); }
    to { transform: translateX(300%); }
}
@keyframes gaxHomeTileShimmer {
    from { transform: translateX(-100%); }
    to { transform: translateX(100%); }
}
@media (prefers-reduced-motion: reduce) {
    .gax-skeleton-enabled .gax-skeleton.is-loading::after { animation: none; display: none; }
}
