/* RateFlix notifications — glass toasts + sweet-alert dialog (transform/opacity only) */
.rr-toasts { position: fixed; z-index: 9999; left: 50%; top: calc(10px + env(safe-area-inset-top)); width: min(420px, calc(100vw - 20px)); transform: translateX(-50%); display: flex; flex-direction: column; gap: 8px; pointer-events: none; }
.rr-toast { position: relative; pointer-events: auto; display: flex; align-items: center; gap: 10px; padding: 10px 10px 12px 10px; border-radius: 18px; overflow: hidden;
    color: #fff; background: rgba(22,20,20,.78); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 40px rgba(0,0,0,.4);
    backdrop-filter: blur(18px) saturate(170%); -webkit-backdrop-filter: blur(18px) saturate(170%);
    opacity: 0; transform: translate3d(0,-16px,0) scale(.96); transition: opacity .28s ease, transform .35s cubic-bezier(.2,1.2,.3,1); will-change: transform, opacity; touch-action: pan-y; }
.rr-toast.in { opacity: 1; transform: none; }
.rr-toast.out { opacity: 0; transform: translate3d(0,-12px,0) scale(.96); transition-duration: .22s; }
.rr-toast.drag { transition: none; }
[data-theme="light"] .rr-toast { color: #121216; background: rgba(255,255,255,.86); border-color: rgba(10,10,20,.08); box-shadow: 0 14px 34px rgba(10,10,20,.16); }
.rr-toast-ic { width: 36px; height: 36px; flex-shrink: 0; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.08); }
.rr-toast-ic img { width: 28px; height: 28px; filter: drop-shadow(0 2px 4px rgba(0,0,0,.35)); }
.rr-toast.in .rr-toast-ic img { animation: rrToastPop .45s cubic-bezier(.3,1.6,.5,1) both; }
.rr-toast-msg { flex: 1; min-width: 0; font-size: .86rem; font-weight: 700; line-height: 1.35; }
.rr-toast-x { width: 30px; height: 30px; flex-shrink: 0; display: grid; place-items: center; border: 0; border-radius: 10px; background: transparent; color: inherit; opacity: .55; cursor: pointer; }
.rr-toast-x:hover { opacity: 1; background: rgba(255,255,255,.08); }
.rr-toast-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; transform-origin: left; animation: rrToastBar linear forwards; background: #FFC21A; }
.rr-toast.hold .rr-toast-bar { animation-play-state: paused; }
.rr-toast.is-success .rr-toast-bar { background: #22C55E; } .rr-toast.is-error .rr-toast-bar { background: #EF4444; }
.rr-toast.is-success { box-shadow: 0 18px 40px rgba(0,0,0,.4), inset 0 0 0 1px rgba(34,197,94,.35); }
.rr-toast.is-error { box-shadow: 0 18px 40px rgba(0,0,0,.4), inset 0 0 0 1px rgba(239,68,68,.4); }
@keyframes rrToastBar { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@keyframes rrToastPop { from { transform: scale(.4) rotate(-20deg); } to { transform: none; } }
/* old toasts hidden — everything goes through the new stack */
#toastContainer { display: none !important; }

.rr-alert { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 20px; background: rgba(6,5,5,.42); opacity: 0; transition: opacity .22s ease; }
.rr-alert.in { opacity: 1; } .rr-alert.out { opacity: 0; }
.rr-alert-card { position: relative; width: min(360px, 100%); padding: 26px 20px 18px; border-radius: 28px; text-align: center; color: #fff; overflow: hidden;
    background: linear-gradient(180deg, rgba(40,34,32,.92), rgba(18,16,16,.94)); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 30px 80px rgba(0,0,0,.55);
    transform: translate3d(0,20px,0) scale(.9); transition: transform .4s cubic-bezier(.2,1.25,.3,1); will-change: transform; }
.rr-alert.in .rr-alert-card { transform: none; }
.rr-alert.out .rr-alert-card { transform: scale(.94); transition-duration: .2s; }
[data-theme="light"] .rr-alert-card { color: #121216; background: linear-gradient(180deg, #fff, #f7f6f3); border-color: rgba(10,10,20,.06); }
.rr-alert-ic { position: relative; width: 96px; height: 96px; margin: 0 auto 10px; display: grid; place-items: center; }
.rr-alert-ic img { position: relative; z-index: 1; width: 84px; height: 84px; filter: drop-shadow(0 10px 18px rgba(0,0,0,.45)); }
.rr-alert.in .rr-alert-ic img { animation: rrAlertIcon .6s cubic-bezier(.3,1.5,.5,1) .05s both; }
.rr-alert-glow { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle, rgba(255,194,26,.45), transparent 65%); transform: scale(.6); opacity: 0; }
.rr-alert.in .rr-alert-glow { animation: rrGlow 1.2s ease-out .1s both; }
.is-success .rr-alert-glow { background: radial-gradient(circle, rgba(34,197,94,.5), transparent 65%); }
.is-error .rr-alert-glow { background: radial-gradient(circle, rgba(239,68,68,.5), transparent 65%); }
.rr-alert-card h3 { margin: 0 0 6px; font-size: 1.3rem; font-weight: 900; letter-spacing: -.03em; }
.rr-alert-card p { margin: 0 auto; max-width: 290px; font-size: .88rem; line-height: 1.45; opacity: .78; }
.rr-alert-amount { margin: 10px 0 2px; font-size: 2rem; font-weight: 900; letter-spacing: -.04em; color: #22C55E; }
.rr-alert-btns { display: flex; gap: 8px; margin-top: 18px; }
.rr-alert-btn { flex: 1; height: 48px; border: 0; border-radius: 14px; font: inherit; font-weight: 800; font-size: .92rem; cursor: pointer; color: var(--rr-on-accent, #fff);
    background: var(--rr-grad, linear-gradient(135deg, #FFA24A, #FF6B1A, #EE3B24)); box-shadow: 0 10px 24px rgba(var(--rr-acc-rgb, 255,107,26), .32); transition: transform .15s ease; }
.rr-alert-btn:active { transform: scale(.97); }
.rr-alert-btn.ghost { background: rgba(255,255,255,.1); color: inherit; box-shadow: none; }
[data-theme="light"] .rr-alert-btn.ghost { background: rgba(10,10,20,.06); }
.rr-alert-btn.danger { background: linear-gradient(135deg, #F87171, #DC2626); color: #fff; box-shadow: 0 10px 24px rgba(220,38,38,.3); }
.rr-confetti { position: absolute; left: 0; right: 0; top: 70px; height: 0; pointer-events: none; }
.rr-confetti i { position: absolute; top: 0; width: 7px; height: 11px; border-radius: 2px; opacity: 0; animation: rrConfetti 1.3s cubic-bezier(.15,.7,.3,1) forwards; will-change: transform, opacity; }
@keyframes rrConfetti { 0% { opacity: 1; transform: translate3d(0,0,0) rotate(0); } 70% { opacity: 1; } 100% { opacity: 0; transform: translate3d(var(--dx), calc(var(--dy) + 220px), 0) rotate(var(--r)); } }
@keyframes rrAlertIcon { from { transform: scale(.3) rotate(-25deg); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes rrGlow { 0% { opacity: 0; transform: scale(.5); } 40% { opacity: 1; } 100% { opacity: .55; transform: scale(1.15); } }
@media (prefers-reduced-motion: reduce) { .rr-toast, .rr-alert, .rr-alert-card { transition: none !important; } .rr-alert-ic img, .rr-alert-glow, .rr-toast-ic img { animation: none !important; } }

/* Banknote fan in the success dialog (replaces the coin icon) */
.rr-alert-notes { position: relative; width: 190px; height: 118px; margin: 0 auto 20px; perspective: 600px; }
.rr-alert-notes > span:not(.rr-alert-glow) { position: absolute; left: 50%; bottom: 6px; width: 150px; height: 76px; margin-left: -75px; border-radius: 5px; background-size: cover; background-position: center;
    transform-origin: 50% 120%; box-shadow: 0 6px 16px rgba(0,0,0,.35); outline: 1px solid rgba(0,0,0,.15); outline-offset: -1px;
    transform: rotate(calc((var(--i) - 2) * 11deg)) translateY(calc(var(--i) * -1px)); z-index: calc(var(--i) + 1); }
.rr-alert-notes > span:not(.rr-alert-glow)::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.3) 50%, transparent 65%); background-size: 260% 100%; }
.rr-alert.in .rr-alert-notes > span:not(.rr-alert-glow) { animation: rrNoteFan .7s cubic-bezier(.25,1.4,.4,1) calc(var(--i) * .07s) both; }
.rr-alert.in .rr-alert-notes > span:not(.rr-alert-glow)::after { animation: rrNoteShine 2.4s ease-in-out .9s infinite; }
.rr-alert-notes .rr-alert-glow { inset: -10px 10px; z-index: 0; }
@keyframes rrNoteFan { from { transform: rotate(0deg) translateY(30px) scale(.6); opacity: 0; } 60% { opacity: 1; } to { transform: rotate(calc((var(--i) - 2) * 11deg)) translateY(calc(var(--i) * -1px)); opacity: 1; } }
@keyframes rrNoteShine { 0%, 100% { background-position: 130% 0; } 50% { background-position: -30% 0; } }
.rr-alert-rain { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; perspective: 900px; contain: strict; }
.rr-alert-card { z-index: 1; }
.rr-alert-bill { position: absolute; left: 0; top: 0; transform-style: preserve-3d; will-change: transform, opacity; }
.rr-alert-bill i { position: absolute; inset: 0; border-radius: 3px; background-size: cover; background-position: center; backface-visibility: hidden; outline: 1px solid rgba(0,0,0,.15); outline-offset: -1px; }
.rr-alert-bill i.bk { transform: rotateY(180deg); }
@media (prefers-reduced-motion: reduce) { .rr-alert-notes > span { animation: none !important; } .rr-alert-rain { display: none; } }
/* v5.9 free Withdrawal Code note inside the "Rating posted" dialog */
.rr-freecode { margin: 12px 0 0; padding: 12px; border-radius: 16px; border: 1px dashed rgba(34,197,94,.55); background: rgba(34,197,94,.1); display: flex; flex-direction: column; gap: 6px; align-items: center; }
.rr-freecode b { font-size: .9rem; color: #4ADE80; }
.rr-freecode code { font-size: 1.15rem; font-weight: 900; letter-spacing: .08em; color: inherit; }
.rr-freecode small { font-size: .76rem; opacity: .8; line-height: 1.35; }
.rr-freecode.is-progress { border-color: rgba(255,194,26,.45); background: rgba(255,194,26,.08); }
[data-theme="light"] .rr-freecode b { color: #15803D; }
