/* Buyback sheet, inspection mode: decrypt effect on the confidential ID photos (BuybackDetails.razor). */
@keyframes bb-lock-shake {
    0%, 100% { transform: rotate(0deg); }
    25%      { transform: rotate(-10deg); }
    50%      { transform: rotate(0deg) translateY(-2px); }
    75%      { transform: rotate(10deg); }
}
@keyframes bb-pulse-text {
    0%, 100% { opacity: 0.55; }
    50%      { opacity: 1; }
}
@keyframes bb-border-glow {
    0%   { box-shadow: 0 0 0 0 rgba(184,157,94,0.0), inset 0 0 0 1px rgba(184,157,94,0.3); }
    50%  { box-shadow: 0 0 18px 4px rgba(184,157,94,0.45), inset 0 0 0 2px rgba(184,157,94,0.6); }
    100% { box-shadow: 0 0 0 0 rgba(184,157,94,0.0), inset 0 0 0 1px rgba(184,157,94,0.3); }
}
@keyframes bb-photo-reveal {
    0%   { opacity: 0; transform: scale(0.94); filter: blur(6px); }
    60%  { opacity: 1; filter: blur(0); }
    100% { opacity: 1; transform: scale(1); filter: blur(0); }
}

.bb-decrypt-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: linear-gradient(135deg, rgba(31,41,55,0.92), rgba(15,23,42,0.95));
    z-index: 5;
    border-radius: inherit;
}
.bb-decrypt-lock {
    font-size: 36px;
    color: var(--tint-gold-fg);
    animation: bb-lock-shake 0.9s ease-in-out infinite;
    filter: drop-shadow(0 0 8px rgba(184,157,94,0.5));
}
.bb-decrypt-label {
    color: var(--tint-gold-fg);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    animation: bb-pulse-text 1.2s ease-in-out infinite;
}
.bb-decrypt-cipher {
    color: rgba(229,213,168,0.55);
    font-family: 'Courier New', monospace;
    font-size: 10px;
    letter-spacing: 1.5px;
    margin-top: 2px;
}
.bb-photo-container.glow {
    animation: bb-border-glow 1.4s ease-in-out 1;
}
.bb-photo-revealed {
    animation: bb-photo-reveal 0.5s ease-out;
}
