/* Load after style.css. Every rule is limited to the two existing loader IDs. */
main #loading.pvz-loading-source { display: none !important; }
main #deckView #loadingIndicator.pvz-vault-loader {
    display: flex !important;
    position: relative !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 350px !important;
    padding: 20px 0 32px !important;
    margin: 0 !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #f2f7fa !important;
    font-family: inherit !important;
    text-align: center !important;
}
main #deckView #loadingIndicator.pvz-vault-loader.hidden,
main #deckView #loadingIndicator.pvz-vault-loader[hidden] { display: none !important; }
main #deckView #loadingIndicator.pvz-vault-loader *,
main #deckView #loadingIndicator.pvz-vault-loader *::before,
main #deckView #loadingIndicator.pvz-vault-loader *::after { box-sizing: border-box !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-stage {
    position: relative !important;
    width: 360px !important;
    max-width: 100% !important;
    height: 225px !important;
    flex: none !important;
    pointer-events: none !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-halo {
    position: absolute !important;
    inset: 0 !important;
    background: radial-gradient(ellipse at 50% 52%, #00b4d824, transparent 66%) !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-floor {
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    width: 280px !important;
    height: 30px !important;
    transform: translateX(-50%) !important;
    background: radial-gradient(ellipse, #0006, transparent 70%) !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-hand {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    transition: opacity 140ms ease !important;
}
main #deckView #loadingIndicator.pvz-vault-loader.pvz-vl-art-group-ready .pvz-vl-hand { opacity: 1 !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-card {
    --x: 0px; --y: -18px; --r: 0deg; --stack: 0deg;
    position: absolute !important;
    left: calc(50% - 56px) !important;
    top: 27px !important;
    width: 112px !important;
    height: 158px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #9ddb7766 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: linear-gradient(150deg, #364939, #142128 68%) !important;
    box-shadow: 0 10px 18px #0005, inset 0 1px 0 #ffffff16 !important;
    transform-origin: 50% 105% !important;
    transform: translate(var(--x), var(--y)) rotate(var(--r));
    animation: pvz-vl-deal 3.6s cubic-bezier(.45, 0, .25, 1) infinite paused !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-card-0 { --x: -98px; --y: 20px; --r: -25deg; --stack: -8deg; z-index: 1 !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-card-1 { --x: -51px; --y: -3px; --r: -13deg; --stack: -4deg; z-index: 3 !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-card-2 { z-index: 5 !important; border-color: #67d9ee !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-card-3 { --x: 51px; --y: -3px; --r: 13deg; --stack: 4deg; z-index: 4 !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-card-4 { --x: 98px; --y: 20px; --r: 25deg; --stack: 8deg; z-index: 2 !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-zombie {
    border-color: #ba9efb80 !important;
    background: linear-gradient(150deg, #45395d, #18202a 68%) !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-hero:not(.pvz-vl-zombie) {
    background: linear-gradient(150deg, #255651, #15262b 68%) !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-card img {
    display: block !important;
    position: absolute !important;
    inset: 10px 3px 23px !important;
    width: calc(100% - 6px) !important;
    height: calc(100% - 33px) !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    opacity: 0 !important;
    transition: none !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-art-ready img { opacity: 1 !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-back {
    display: grid !important;
    position: absolute !important;
    inset: 9px 9px 26px !important;
    place-items: center !important;
    border: 1px solid #ffffff16 !important;
    border-radius: 8px !important;
    font-size: 40px !important;
    color: #b7edeb !important;
    background: repeating-linear-gradient(45deg, transparent, transparent 9px, #ffffff04 9px, #ffffff04 10px) !important;
    opacity: 1 !important;
    transition: none !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-art-ready .pvz-vl-back { opacity: 0 !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-badge {
    position: absolute !important;
    left: 6px !important;
    top: 6px !important;
    z-index: 2 !important;
    display: grid !important;
    place-items: center !important;
    width: 22px !important;
    height: 22px !important;
    border: 1px solid #e8f5ab88 !important;
    border-radius: 50% !important;
    background: #142326 !important;
    color: #e8f5ab !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-name {
    position: absolute !important;
    inset: auto 0 0 !important;
    height: 27px !important;
    z-index: 2 !important;
    display: grid !important;
    place-items: center !important;
    background: #121e28ee !important;
    color: #e1edf3 !important;
    font-size: 9px !important;
    font-weight: 650 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-sheen {
    position: absolute !important;
    inset: -30% -80% !important;
    z-index: 3 !important;
    background: linear-gradient(110deg, transparent 40%, #ffffff16 49%, transparent 58%) !important;
    transform: translateX(-70%);
    opacity: 0;
    animation: pvz-vl-sheen 3.6s ease infinite paused !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-spark {
    position: absolute !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #80e7ed !important;
    opacity: .6;
    animation: pvz-vl-spark 3.6s ease-in-out infinite paused !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-spark-a { left: 39px !important; top: 24px !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-spark-b { right: 33px !important; top: 97px !important; font-size: 12px !important; animation-delay: -1.8s !important; color: #c6a5ff !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-copy { position: relative !important; width: 100% !important; padding: 0 16px !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-eyebrow {
    margin: 0 0 8px !important;
    color: #75c8d2 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    letter-spacing: .24em !important;
    line-height: 1.4 !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-title {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: #f2f7fa !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
    line-height: 1.3 !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-status {
    margin: 8px 0 0 !important;
    padding: 0 !important;
    color: #99aab5 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    overflow-wrap: anywhere !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-dots { display: flex !important; justify-content: center !important; gap: 6px !important; margin: 15px 0 0 !important; height: 6px !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-dots i {
    display: block !important;
    width: 5px !important;
    height: 5px !important;
    background: #67d5e6 !important;
    border-radius: 50% !important;
    opacity: .35;
    animation: pvz-vl-dot 1.2s ease-in-out infinite paused !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-dots i:nth-child(2) { animation-delay: .15s !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-dots i:nth-child(3) { animation-delay: .3s !important; }
main #deckView #loadingIndicator.pvz-vault-loader.pvz-vl-running .pvz-vl-card,
main #deckView #loadingIndicator.pvz-vault-loader.pvz-vl-running .pvz-vl-sheen,
main #deckView #loadingIndicator.pvz-vault-loader.pvz-vl-running .pvz-vl-spark,
main #deckView #loadingIndicator.pvz-vault-loader.pvz-vl-running .pvz-vl-dots i { animation-play-state: running !important; will-change: transform, opacity !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-retry {
    display: inline-block !important;
    margin: 18px 0 0 !important;
    padding: 9px 16px !important;
    border: 1px solid #67d5e655 !important;
    border-radius: 9px !important;
    background: #00b4d81a !important;
    color: #b9f1f9 !important;
    font: inherit !important;
    font-size: 13px !important;
    cursor: pointer !important;
}
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-retry[hidden] { display: none !important; }
main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-retry:focus-visible { outline: 2px solid #67d5e6 !important; outline-offset: 4px !important; }
main #deckView #loadingIndicator.pvz-vault-loader.pvz-vl-error .pvz-vl-dots { display: none !important; }

/* Animated transform/opacity declarations are the only exceptions to
   !important: important values override CSS animation. The ID-scoped
   selectors keep these declarations specific without blocking keyframes. */
@keyframes pvz-vl-deal {
    0%, 100% { transform: translate(calc(var(--x) * .12), 8px) rotate(var(--stack)); }
    28%, 62% { transform: translate(var(--x), var(--y)) rotate(var(--r)); }
    44% { transform: translate(var(--x), calc(var(--y) - 5px)) rotate(var(--r)); }
}
@keyframes pvz-vl-sheen {
    0%, 23%, 73%, 100% { transform: translateX(-70%); opacity: 0; }
    34% { opacity: 1; }
    58% { transform: translateX(70%); opacity: 0; }
}
@keyframes pvz-vl-spark { 0%, 100% { transform: translateY(0) scale(.8); opacity: .25; } 45% { transform: translateY(-7px) scale(1); opacity: .85; } }
@keyframes pvz-vl-dot { 0%, 70%, 100% { transform: translateY(0); opacity: .3; } 35% { transform: translateY(-3px); opacity: 1; } }
@media (max-width: 420px) {
    main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-stage { width: 290px !important; height: 194px !important; }
    main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-hand { transform: scale(.8) !important; transform-origin: 50% 35% !important; }
    main #deckView #loadingIndicator.pvz-vault-loader { min-height: 315px !important; }
}
@media (prefers-reduced-motion: reduce) {
    main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-card,
    main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-sheen,
    main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-spark,
    main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-dots i { animation: none !important; will-change: auto !important; }
    main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-hand,
    main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-card img,
    main #deckView #loadingIndicator.pvz-vault-loader .pvz-vl-back { transition: none !important; }
}
