.modal{z-index:10000;overscroll-behavior:contain;-webkit-backdrop-filter:blur(10px);background:#111e4294;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:15px;display:none;position:fixed;inset:0;overflow:hidden}.modal.active{display:flex}.modal[aria-hidden=true]{display:none}body.modal-open{overflow:hidden}.login-modal-content{background:#fffffffa;border:1px solid #ffffffd6;border-radius:26px;width:100%;max-width:440px;max-height:calc(100dvh - 40px);padding:32px 28px;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #111e4259}.register-modal-content{flex-direction:column;max-width:480px;padding:0;display:flex}.register-modal-content .auth-header{margin-bottom:24px;padding:32px 28px 0}.register-modal-content .auth-feedback{margin-left:28px;margin-right:28px}.register-modal-content .register-form{scrollbar-color:#6f9de0b8 transparent;scrollbar-gutter:stable;width:100%;padding:1px 28px 28px}.register-modal-content .register-form::-webkit-scrollbar{width:5px}.register-modal-content .register-form::-webkit-scrollbar-track{background:0 0}.register-modal-content .register-form::-webkit-scrollbar-thumb{background:#6f9de0b8;border-radius:999px}.auth-close-btn{z-index:10;color:#77839c;cursor:pointer;background:#f8faffeb;border:1px solid #e3e9f3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:color .2s,background .2s,transform .2s;display:flex;position:absolute;top:20px;right:20px;box-shadow:inset 0 1px 1px #fffc,0 2px 7px #111e420f}.auth-close-btn:hover{color:#fff;background:#ec4899;border-color:#0000;transform:rotate(90deg)}.auth-header{text-align:center;flex:none;margin-bottom:24px}.auth-icon-box{color:#d83e8b;background:linear-gradient(135deg,#fff0f7,#edf4ff);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:inline-flex;box-shadow:0 18px 36px #d83e8b24}.auth-icon-box i{color:inherit;font-size:28px}.auth-header h2{color:#15203b;letter-spacing:-.025em;margin:0 0 8px;font-family:inherit;font-size:22px;font-weight:700;line-height:1.25}.auth-header p{color:#75819c;margin:0;font-size:14px}.login-form{overscroll-behavior-y:contain;scrollbar-width:thin;flex-direction:column;flex:auto;gap:16px;min-height:0;max-height:calc(100dvh - 210px);padding:1px 2px 2px;display:flex;overflow:hidden auto}.login-form>*{flex-shrink:0}.auth-google-divider{color:#9aa5ba;letter-spacing:.04em;align-items:center;gap:12px;margin:0;font-size:11px;font-weight:600;display:flex}.auth-google-divider:before,.auth-google-divider:after{content:"";background:#e4e9f2;flex:auto;height:1px}.auth-google-divider span{flex:none}.auth-google-login{border-radius:11px;justify-content:center;align-items:center;min-height:44px;display:flex;overflow:hidden}.auth-google-login[aria-busy=true]{opacity:.55;pointer-events:none}.auth-google-preview{color:#3c4043;opacity:1;cursor:pointer;background:#fff;border:1px solid #d6dce8;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:46px;padding:0 48px;font-family:inherit;font-size:14px;font-weight:600;line-height:1;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;position:relative}.auth-google-logo{width:20px;height:20px;position:absolute;left:16px}.auth-google-preview:hover{background:#f8faff;border-color:#b8c4d8;box-shadow:0 3px 10px #2563eb17}.auth-google-preview:focus-visible{outline-offset:2px;outline:3px solid #4285f433}.login-form [hidden],.auth-field-status[hidden]{display:none!important}.form-group{flex-direction:column;gap:8px;display:flex;position:relative}.form-group label{color:#26324d;align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:flex}.form-group label i{color:#8491aa;font-size:14px}.auth-required{color:#dc2626;white-space:nowrap;font-size:10px;font-weight:600}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group input[type=number],.form-group input[type=tel]{box-sizing:border-box;color:#17213b;width:100%;min-height:48px;font:inherit;background:#fbfcfff0;border:1px solid #dbe3f0;border-radius:12px;outline:0;padding:13px 16px;font-size:14.5px;transition:border-color .18s,box-shadow .18s,background .18s;box-shadow:0 4px 14px #0f172a08}.form-group input:hover{border-color:#b9c6da}.form-group input:focus{background:#fff;border-color:#ec4899;box-shadow:0 0 0 4px #ec48991c}.form-group input::placeholder{color:#a0abc0}.form-group input[type=number]{-moz-appearance:textfield;appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.auth-password-field{align-items:center;display:flex;position:relative}.auth-password-field input{padding-right:50px!important}.auth-password-field input::-ms-reveal,.auth-password-field input::-ms-clear{display:none}.auth-toggle-password-btn{color:#8491aa;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.auth-toggle-password-btn:hover,.auth-toggle-password-btn:focus-visible{color:#d83e8b;background:#fff0f7;outline:0}.auth-slug-row{background:#f2f5fb;border:1px solid #dbe3f0;border-radius:12px;align-items:stretch;min-width:0;display:flex;overflow:hidden}.auth-slug-row:focus-within{border-color:#ec4899;box-shadow:0 0 0 4px #ec48991c}.auth-slug-prefix{color:#7d89a2;white-space:nowrap;user-select:none;flex:none;align-items:center;padding-left:13px;font-size:12px;display:flex}.auth-slug-prefix>span{opacity:.72}.auth-slug-prefix>b{color:#64748b;margin:0 3px 0 1px;font-weight:700}.form-group .auth-slug-row input{width:0;min-width:70px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:90px;padding-left:2px}.auth-field-status,.form-hint{color:#8491aa;align-items:center;gap:5px;font-size:12px;line-height:1.4;display:flex}.auth-field-status.is-checking:before{content:"…"}.auth-field-status.is-available{color:#059669}.auth-field-status.is-available:before{content:"✓";font-weight:800}.auth-field-status.is-unavailable{color:#dc2626}.auth-field-status.is-unavailable:before{content:"!";font-weight:800}.register-form input.auth-field-valid{border-color:#10b981}.register-form input.auth-field-invalid{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.auth-password-rules small{color:#dc2626;font-size:12px;font-weight:600;line-height:1.4}.auth-feedback{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:11px;margin:-8px 0 16px;padding:11px 13px;font-size:12.5px;line-height:1.45}.auth-feedback.is-success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.auth-admin-contact{color:#68748d;text-align:center;background:#f7f4fb;border:1px solid #dbe3f0;border-radius:14px;flex-direction:column;align-items:center;gap:9px;padding:20px 18px;display:flex}.auth-admin-contact>i{color:#d83e8b;font-size:28px}.auth-admin-contact strong{color:#27324a;font-size:15px}.auth-admin-contact p{margin:0;font-size:13px;line-height:1.55}.auth-admin-contact-link{margin-top:0;text-decoration:none}.auth-admin-contact-link:focus-visible{outline-offset:3px;outline:3px solid #3b82f63d}.auth-captcha-row{align-items:stretch;gap:10px;display:flex}.auth-captcha-question{color:#d83e8b;background:#f7f4fb;border:1px solid #dbe3f0;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:9px;min-width:116px;padding:0 14px;font-size:16px;font-weight:800;display:flex}.auth-captcha-refresh{color:#8491aa;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:3px;display:inline-flex}.auth-captcha-refresh:hover{color:#d83e8b}.form-group .auth-captcha-input{text-align:center;flex:1 1 0;min-width:0;font-size:18px;font-weight:700}.auth-captcha-widget-wrap{justify-content:center;align-items:center;min-height:78px;display:flex;overflow-x:auto}.auth-captcha-config-error{color:#b91c1c;background:#ef444414;border:1px solid #ef444440;border-radius:12px;align-items:center;gap:8px;width:100%;padding:14px 16px;font-size:13px;font-weight:600;display:flex}.remember-me-row{justify-content:space-between;align-items:center;margin:4px 0 8px;display:flex}.remember-me-label{color:#68748d;cursor:pointer;user-select:none;align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:inline-flex}.remember-me-label input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.remember-me-checkbox{background:#f8faff;border:2px solid #d2dae8;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.remember-me-checkbox i{color:#fff;opacity:0;font-size:11px;transition:all .2s;transform:scale(.5)}.remember-me-label input:focus-visible+.remember-me-checkbox{outline:3px solid #ec48992e}.remember-me-label input:checked+.remember-me-checkbox{background:linear-gradient(135deg,#ec4899,#5a86f7);border-color:#0000}.remember-me-label input:checked+.remember-me-checkbox i{opacity:1;transform:scale(1)}.auth-text-button{color:#d83e8b;font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 2px;font-size:13px;font-weight:700}.auth-text-button:hover,.auth-text-button:focus-visible{color:#2563eb;text-decoration:underline}.auth-text-button:disabled{opacity:.55;cursor:wait}.auth-inline-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;margin-top:2px;display:flex}.auth-password-help{color:#75819c;font-size:12px;line-height:1.5}#verificationCode{text-align:center;letter-spacing:.35em;font-size:20px;font-weight:800}.auth-manual-verification{text-align:center}.auth-manual-verification[hidden],[data-verification-email][hidden]{display:none!important}.auth-manual-verification strong{color:#27324a;letter-spacing:.22em;text-indent:.22em;margin:0 auto 12px;font-size:clamp(30px,8vw,42px);line-height:1.2;display:block}.auth-manual-verification .auth-text-button{margin-top:12px}.login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ec4899 0%,#7c75ee 48%,#3b82f6 100%);border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:50px;margin-top:8px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex;box-shadow:0 12px 25px #995bd347,inset 0 1px #ffffff40}.login-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px #995bd357,inset 0 1px #ffffff4d}.login-btn:disabled{opacity:.58;cursor:wait;transform:none}.login-footer{text-align:center;flex-shrink:0;margin-top:8px}.login-footer p{color:#75819c;margin:8px 0 0;font-size:14px}.login-footer a{color:#d83e8b;border-radius:5px;padding:4px 7px;font-weight:700;text-decoration:none}.login-footer a:hover{background:#fff0f7}.auth-terms{color:#8491aa;text-align:center;margin:0 8px;font-size:11px;line-height:1.5}@media (width<=480px){.modal{padding:max(10px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.login-modal-content,.register-modal-content{border-radius:20px;max-width:calc(100% - 4px);max-height:calc(100dvh - 20px);padding:24px 20px}.register-modal-content{padding:0}.register-modal-content .auth-header{margin-bottom:18px;padding:24px 20px 0}.register-modal-content .auth-feedback{margin-left:20px;margin-right:20px}.register-modal-content .register-form{padding:1px 20px 24px}.login-form{max-height:calc(100dvh - 180px)}.auth-icon-box{width:56px;height:56px;margin-bottom:12px}.auth-icon-box i{font-size:24px}.auth-header{margin-bottom:18px}.auth-header h2{font-size:20px}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group input[type=number]{padding:13px 14px;font-size:16px}.auth-slug-prefix{padding-left:12px;font-size:11.5px}.auth-captcha-row{gap:8px}.auth-captcha-question{min-width:102px;padding:0 10px}}@media (prefers-reduced-motion:reduce){.auth-close-btn,.login-btn,.auth-toggle-password-btn{transition:none}}