.captcha-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);background:#000000a6;justify-content:center;align-items:center;animation:.25s ease-out captchaFadeIn;display:flex;position:fixed;inset:0}@keyframes captchaFadeIn{0%{opacity:0}to{opacity:1}}.captcha-modal{-webkit-user-select:none;user-select:none;background:#1c1c28;border-radius:16px;width:360px;max-width:92vw;animation:.3s cubic-bezier(.34,1.56,.64,1) captchaSlideUp;overflow:hidden;box-shadow:0 24px 80px #00000080,0 0 0 1px #ffffff0f}@keyframes captchaSlideUp{0%{opacity:0;transform:translateY(30px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.captcha-header{text-align:center;padding:18px 20px 12px}.captcha-title{color:#e2e8f0;letter-spacing:.01em;font-size:15px;font-weight:600}.captcha-puzzle-area{background:#0f0f1a;border-radius:10px;height:180px;margin:0 20px;position:relative;overflow:hidden}.captcha-bg-canvas{border-radius:10px;width:100%;height:100%;transition:opacity .3s;display:block}.captcha-piece-canvas{pointer-events:none;filter:drop-shadow(3px 3px 6px #0009);height:100%;transition:opacity .3s;position:absolute;top:0}.captcha-loading{z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.captcha-spinner{border:3px solid #ffffff1a;border-top-color:#f59e0b;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite captchaSpin}@keyframes captchaSpin{to{transform:rotate(360deg)}}.captcha-status-overlay{z-index:10;justify-content:center;align-items:center;animation:.35s cubic-bezier(.34,1.56,.64,1) captchaStatusPop;display:flex;position:absolute;inset:0}@keyframes captchaStatusPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.captcha-success-overlay{background:#22c55e1f}.captcha-fail-overlay{background:#ef44441f;animation:.4s ease-out captchaShake}@keyframes captchaShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.captcha-slider-container{cursor:pointer;background:#2a2a3a;border-radius:22px;height:44px;margin:16px 20px 0;position:relative;overflow:hidden}.captcha-slider-fill{border-radius:22px;height:100%;transition:background .3s;position:absolute;top:0;left:0}.captcha-slider-thumb{color:#fff;cursor:grab;z-index:5;background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:20px;justify-content:center;align-items:center;width:48px;height:40px;transition:box-shadow .2s,transform .15s;display:flex;position:absolute;top:2px;box-shadow:0 2px 8px #f59e0b66,0 0 #f59e0b00}.captcha-slider-thumb:hover{box-shadow:0 4px 16px #f59e0b80,0 0 0 4px #f59e0b1f}.captcha-slider-thumb.dragging{cursor:grabbing;transform:scale(1.06);box-shadow:0 6px 24px #f59e0b8c,0 0 0 6px #f59e0b26}.captcha-slider-thumb.success{cursor:default;background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 16px #22c55e80}.captcha-slider-thumb.fail{background:linear-gradient(135deg,#ef4444,#dc2626);animation:.5s ease-out captchaThumbShake;box-shadow:0 4px 16px #ef444480}@keyframes captchaThumbShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(6px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.captcha-slider-hint{text-align:center;color:#ffffff59;pointer-events:none;letter-spacing:.02em;width:100%;font-size:13px;font-weight:500;line-height:44px;position:absolute}.captcha-status-content{flex-direction:column;align-items:center;gap:8px;display:flex}.captcha-accuracy{letter-spacing:.02em;text-shadow:0 1px 4px #0006;font-size:14px;font-weight:600;animation:.4s ease-out .2s both captchaAccFadeIn}@keyframes captchaAccFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.captcha-accuracy-success{color:#4ade80}.captcha-accuracy-fail{color:#fca5a5}.captcha-time-text{color:#ffffffd9;letter-spacing:.01em;text-shadow:0 1px 4px #0006;font-size:13px;font-weight:500;animation:.4s ease-out .3s both captchaAccFadeIn}.captcha-footer{justify-content:space-between;align-items:center;padding:12px 20px 16px;display:flex}.captcha-footer-actions{gap:8px;display:flex}.captcha-action-btn{color:#ffffff73;cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.captcha-action-btn:hover{color:#fffc;background:#ffffff1f;transform:translateY(-1px)}.captcha-action-btn:active{transform:translateY(0)}.captcha-accuracy-badge{letter-spacing:.03em;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;animation:.3s ease-out captchaAccFadeIn;display:flex}.captcha-accuracy-badge.badge-success{color:#4ade80;background:#22c55e26;border:1px solid #22c55e40}.captcha-accuracy-badge.badge-fail{color:#fca5a5;background:#ef444426;border:1px solid #ef444440}body:not(.nightmode) .captcha-modal{background:#fff;box-shadow:0 24px 80px #0000002e,0 0 0 1px #0000000f}body:not(.nightmode) .captcha-title{color:#1e293b}body:not(.nightmode) .captcha-puzzle-area{background:#f1f5f9}body:not(.nightmode) .captcha-slider-container{background:#e2e8f0}body:not(.nightmode) .captcha-slider-hint{color:#00000059}body:not(.nightmode) .captcha-action-btn{color:#0006;background:#0000000d}body:not(.nightmode) .captcha-action-btn:hover{color:#000000b3;background:#0000001a}body:not(.nightmode) .captcha-accuracy-success{color:#16a34a}body:not(.nightmode) .captcha-accuracy-fail{color:#dc2626}body:not(.nightmode) .captcha-accuracy-badge.badge-success{color:#16a34a;background:#22c55e1a;border-color:#22c55e33}body:not(.nightmode) .captcha-accuracy-badge.badge-fail{color:#dc2626;background:#ef44441a;border-color:#ef444433}body:not(.nightmode) .captcha-time-text{color:#64748b}@media (max-width:400px){.captcha-modal{border-radius:12px}.captcha-puzzle-area{margin:0 14px}.captcha-slider-container{margin:14px 14px 0}.captcha-footer{padding:10px 14px 14px}.captcha-title{font-size:14px}.captcha-accuracy{font-size:12px}.captcha-accuracy-badge{padding:3px 8px;font-size:11px}}.captcha-time-badge{letter-spacing:.03em;color:#4ade80;background:#22c55e26;border:1px solid #22c55e40;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;animation:.3s ease-out captchaAccFadeIn;display:flex}body:not(.nightmode) .captcha-time-badge{color:#16a34a;background:#22c55e1a;border-color:#22c55e33}.captcha-error-banner{color:#fca5a5;text-align:center;background:#ef44441f;border:1px solid #ef444440;border-radius:8px;justify-content:center;align-items:center;margin:12px 20px 0;padding:8px 12px;font-size:12px;font-weight:600;animation:.3s ease-out captchaAccFadeIn;display:flex}body:not(.nightmode) .captcha-error-banner{color:#dc2626;background:#ef444414;border-color:#ef44442e}
