.rn_RatelimitCaptcha{}
:root{--rl-accent: #44d62c;--rl-accent-dim: rgba(68, 214, 44, 0.12);--rl-accent-glow: rgba(68, 214, 44, 0.28);--rl-accent-hover: #37c023;--rl-bg: #000000;--rl-card-bg: #010800;--rl-card-border: rgba(68, 214, 44, 0.18);--rl-card-shadow: rgba(68, 214, 44, 0.12);--rl-text: #e8eaed;--rl-muted: #7a7f88;--rl-input-bg: #111111;--rl-input-border: #2a2a2a;--rl-input-focus: rgba(68, 214, 44, 0.45);--rl-canvas-bg: #161616;--rl-canvas-border: #252525;--rl-step-done: #44d62c;--rl-step-active: #44d62c;--rl-success: #44d62c;--rl-error: #f25c5c;--rl-font: 'DM Sans', 'Segoe UI', system-ui, sans-serif;--rl-radius-card: 18px;--rl-radius-btn: 10px;--rl-radius-input: 9px;}
.rl-overlay{position: fixed;inset: 0;z-index: 99999;display: flex;align-items: center;justify-content: center;background: var(--rl-bg);font-family: var(--rl-font);overflow: hidden;animation: rl-fade-in 0.3s ease both;}
@keyframes rl-fade-in{from{opacity: 0;}
to{opacity: 1;}
}
.rl-bg-grid{position: absolute;inset: 0;background-image: linear-gradient(rgba(68, 214, 44, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(68, 214, 44, 0.035) 1px, transparent 1px);background-size: 52px 52px;animation: rl-grid-drift 24s linear infinite;pointer-events: none;}
@keyframes rl-grid-drift{0%{transform: translate(0, 0);}
100%{transform: translate(52px, 52px);}
}
.rl-particles{position: absolute;inset: 0;pointer-events: none;}
.rl-particle{position: absolute;width: 3px;height: 3px;border-radius: 50%;background: var(--rl-accent);opacity: 0;left: calc(8% + (var(--i) * 12%));top: 100%;animation: rl-float calc(7s + var(--i) * 1s) ease-in-out calc(var(--i) * 0.6s) infinite;}
@keyframes rl-float{0%{top: 108%;opacity: 0;}
10%{opacity: 0.5;}
90%{opacity: 0.15;}
100%{top: -8%;opacity: 0;}
}
.captcha-card{position: relative;background: var(--rl-card-bg);border: 1px solid var(--rl-card-border);border-radius: var(--rl-radius-card);padding: 44px 40px 36px;width: 100%;max-width: 420px;text-align: center;box-shadow: 0 0 0 1px rgba(68, 214, 44, 0.05), 0 28px 80px rgba(0, 0, 0, 0.8), 0 0 48px var(--rl-card-shadow);animation: rl-card-in 0.42s cubic-bezier(0.34, 1.5, 0.64, 1) 0.08s both;}
@keyframes rl-card-in{from{opacity: 0;transform: translateY(24px) scale(0.97);}
to{opacity: 1;transform: translateY(0) scale(1);}
}
.captcha-icon-wrap{position: relative;display: inline-flex;align-items: center;justify-content: center;width: 72px;height: 72px;margin: 0 auto 22px;}
.captcha-shield{width: 50px;height: 50px;color: var(--rl-accent);position: relative;z-index: 1;animation: rl-shield-breathe 3.5s ease-in-out infinite;}
@keyframes rl-shield-breathe{0%, 100%{filter: drop-shadow(0 0 5px rgba(68, 214, 44, 0.4));}
50%{filter: drop-shadow(0 0 14px rgba(68, 214, 44, 0.75));}
}
.captcha-icon-ring{position: absolute;inset: 0;border-radius: 50%;border: 1.5px solid var(--rl-accent);opacity: 0;animation: rl-ring-pulse 3.5s ease-out 0.5s infinite;}
@keyframes rl-ring-pulse{0%{transform: scale(0.85);opacity: 0.5;}
100%{transform: scale(1.9);opacity: 0;}
}
.captcha-header{margin-bottom: 24px;}
.captcha-header h2{font-size: 20px;font-weight: 700;color: var(--rl-text);margin: 0 0 6px;letter-spacing: -0.2px;}
.captcha-header p{font-size: 13.5px;color: var(--rl-muted);margin: 0;line-height: 1.5;}
.rl-steps{display: flex;align-items: center;justify-content: center;margin-bottom: 28px;}
.rl-step{display: flex;flex-direction: column;align-items: center;gap: 5px;}
.rl-step__dot{width: 10px;height: 10px;border-radius: 50%;border: 1.5px solid var(--rl-muted);background: transparent;transition: all 0.35s ease;}
.rl-step--done .rl-step__dot{background: var(--rl-step-done);border-color: var(--rl-step-done);box-shadow: 0 0 6px rgba(68, 214, 44, 0.55);}
.rl-step--active .rl-step__dot{background: var(--rl-step-active);border-color: var(--rl-step-active);box-shadow: 0 0 8px rgba(68, 214, 44, 0.6);animation: rl-dot-pulse 1.6s ease-in-out infinite;}
.rl-step--complete .rl-step__dot{background: var(--rl-step-done);border-color: var(--rl-step-done);}
@keyframes rl-dot-pulse{0%, 100%{transform: scale(1);}
50%{transform: scale(1.35);}
}
.rl-step__label{font-size: 10.5px;font-weight: 600;color: var(--rl-muted);letter-spacing: 0.6px;text-transform: uppercase;}
.rl-step--done .rl-step__label, .rl-step--active .rl-step__label{color: var(--rl-text);}
.rl-step__line{width: 44px;height: 1px;background: rgba(68, 214, 44, 0.15);margin: 0 8px 16px;flex-shrink: 0;}
.captcha-body{display: flex;flex-direction: column;align-items: center;gap: 14px;}
.captcha-canvas-wrap{border: 1px solid var(--rl-canvas-border);border-radius: 8px;background: var(--rl-canvas-bg);padding: 8px 12px;display: inline-block;line-height: 0;}
#captchaCanvas{display: block;border-radius: 4px;user-select: none;}
.btn-refresh{display: inline-flex;align-items: center;gap: 7px;background: transparent;color: var(--rl-muted);border: 1px solid #252525;border-radius: 7px;padding: 7px 16px;margin:7px;font-family: var(--rl-font);font-size: 13px;font-weight: 500;cursor: pointer;transition: color 0.2s, border-color 0.2s, background 0.2s;letter-spacing: 0.1px;}
.rn_RatelimitCaptcha button.btn-refresh:focus:not(:disabled){background: transparent;outline: none;box-shadow: none;}
.rn_RatelimitCaptcha button.btn-refresh:hover:not(:disabled){color: var(--rl-accent);border-color: rgba(68, 214, 44, 0.35);background: rgba(68, 214, 44, 0.05);}
.btn-refresh svg{flex-shrink: 0;transition: transform 0.4s ease;}
.btn-refresh:hover svg{transform: rotate(180deg);}
.captcha-input-wrap{width: 100%;}
#captcha_input{width: 100%;background: var(--rl-input-bg);border: 1px solid var(--rl-input-border);border-radius: var(--rl-radius-input);color: var(--rl-text);font-family: var(--rl-font);font-size: 15px;font-weight: 500;letter-spacing: 2.5px;padding: 12px 16px;text-align: center;outline: none;transition: border-color 0.2s, box-shadow 0.2s;box-sizing: border-box;}
#captcha_input::placeholder{color:#BBBBBB;letter-spacing: 0.5px;font-weight: 400;}
#captcha_input:focus{border-color: rgba(68, 214, 44, 0.5);box-shadow: 0 0 0 3px var(--rl-input-focus);}
#submitCaptcha{display: inline-flex;align-items: center;justify-content: center;gap: 8px;width: 100%;padding: 13px 28px;margin: 8px 0px 8px 0px;background: var(--rl-accent);background-color: #44d62c;color: #000000;border: none;border-radius: var(--rl-radius-btn);font-family: var(--rl-font);font-size: 15px;font-weight: 700;cursor: pointer;letter-spacing: 0.1px;text-transform: uppercase;transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;}
#submitCaptcha:hover{background: var(--rl-accent-hover);transform: translateY(-1px);}
#submitCaptcha:active{transform: translateY(0);box-shadow: none;}
#submitCaptcha svg{flex-shrink: 0;transition: transform 0.2s ease;}
#submitCaptcha:hover svg{transform: translateX(3px);}
.captcha-message{font-size: 13px;min-height: 18px;line-height: 1.4;transition: all 0.25s ease;width: 100%;text-align: center;}
.captcha-message.is-error{color: var(--rl-error);}
.captcha-message.is-success{color: var(--rl-success);}
.error{color: var(--rl-error);}
.captcha-footer-note{margin-top: 20px;font-size: 11.5px;color: #BBBBBB;letter-spacing: 0.15px;}
.captcha-card, .captcha-canvas-wrap{box-sizing: border-box;}
@media (max-width: 480px) and (max-height: 700px){.captcha-card{padding: 16px 14px;}
.captcha-icon-wrap{margin-bottom: 10px;}
.captcha-header, .rl-steps{margin-bottom: 12px;}
.captcha-footer-note{display: none;}
}
