.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0;overflow-y:auto}.modal-overlay.open{display:flex}.auth-modal{background:var(--dark2);width:440px;max-width:100%;max-height:calc(100dvh - 40px);animation:modalIn .25s var(--ease);border:1px solid #ffffff14;border-radius:16px;position:relative;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.auth-header{text-align:center;padding:26px 32px 0}.auth-logo{font-family:var(--font-display);color:var(--gold);margin-bottom:14px;font-size:22px;font-weight:900}.auth-tabs{border:1px solid #ffffff14;border-radius:6px;margin-bottom:20px;display:flex;overflow:hidden}.auth-tab{font-family:var(--font-body);color:var(--grey);cursor:pointer;background:0 0;border:none;flex:1;padding:11px;font-size:14px;font-weight:500;transition:all .2s}.auth-tab.active{background:var(--gold);color:var(--dark);font-weight:700}.auth-body{flex-direction:column;gap:12px;padding:0 32px 26px;display:flex}.auth-input{background:var(--dark3);width:100%;color:var(--light);font-family:var(--font-body);border:1.5px solid #ffffff14;border-radius:6px;outline:none;padding:13px 16px;font-size:15px;transition:border-color .2s}.auth-input:focus{border-color:var(--gold)}.auth-input::placeholder{color:#9a9a9a}.auth-password-wrap{width:100%;position:relative}.auth-input-password{padding-right:46px}.auth-password-toggle{color:var(--grey);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--gold)}.auth-error,.auth-notice{text-align:center;border-radius:8px;margin:0 36px 16px;padding:11px 14px;font-size:13.5px;line-height:1.45}.auth-error{color:#ff6b6b;background:#ff00001f;border:1px solid #ff6b6b40}.auth-notice{color:var(--gold);background:#ffd24c1a;border:1px solid #ffd24c38}.auth-link-btn{font:inherit;color:var(--gold);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.auth-link-btn:disabled{opacity:.6;cursor:default}.auth-submit{background:var(--gold);width:100%;color:var(--dark);letter-spacing:.04em;border:none;border-radius:6px;padding:14px;font-size:15px;font-weight:700;transition:all .2s}.auth-submit:hover{background:#ffe066}.auth-divider{color:var(--grey);align-items:center;gap:12px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#ffffff12;flex:1;height:1px}.auth-social-row{gap:10px;display:flex}.auth-social{color:var(--light);font-family:var(--font-body);background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.auth-social:hover{background:#ffffff12;border-color:#ffffff26}.auth-small{color:var(--grey);text-align:center;font-size:12px;line-height:1.5}.auth-small a{color:var(--gold);cursor:pointer;text-decoration:underline}.auth-close{width:32px;height:32px;color:var(--grey);cursor:pointer;background:#ffffff0f;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.auth-close:hover{color:var(--light);background:#ffffff1f}.auth-payment-title{color:var(--light);margin-bottom:4px;font-size:16px;font-weight:600}.auth-payment-step{gap:18px}.auth-balance{color:var(--grey,#9a9a9a);margin-top:2px;font-size:13px}.auth-balance strong{color:var(--gold)}.payment-summary{background:#f5c5180f;border:1px solid #f5c51826;border-radius:10px;padding:16px 18px}.payment-summary-row{color:var(--light);justify-content:space-between;align-items:center;font-size:15px;font-weight:600;display:flex}.payment-amount{font-family:var(--font-display);color:var(--gold);font-size:20px;font-weight:800}.payment-summary-joke{color:var(--grey);margin-top:8px;font-size:12px;font-style:italic;line-height:1.4}.payment-error{color:#ff6b6b;background:#ff00001a;border-radius:8px;padding:10px 14px;font-size:13px}.auth-pay-btn{letter-spacing:.02em;margin-top:4px;padding:16px;font-size:16px}.payment-secure-badge{color:var(--grey);justify-content:center;align-items:center;gap:6px;padding-top:4px;font-size:12px;display:flex}.auth-payment-loading{color:var(--grey);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 36px;font-size:14px;display:flex}.payment-spinner{border:3px solid #f5c51833;border-top-color:var(--gold);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-consents{text-align:left;flex-direction:column;gap:8px;margin:2px 0 4px;display:flex}.auth-consent{color:#ffffffb3;cursor:pointer;align-items:flex-start;gap:8px;font-size:12px;line-height:1.4;display:flex}.auth-consent input[type=checkbox]{accent-color:#7c5cff;flex-shrink:0;width:15px;height:15px;margin-top:2px}.auth-consent a{color:#a58bff;text-decoration:underline}.auth-field{flex-direction:column;gap:5px;display:flex}.auth-input.invalid,.auth-field.invalid .auth-input{border-color:#f87171}.auth-field-error{color:#f87171;text-align:left;font-size:12px;line-height:1.35}.auth-field-note{color:var(--grey);text-align:left;font-size:12px}.auth-input.locked{opacity:.75;cursor:not-allowed}.auth-req{color:#f87171;font-weight:700}.auth-req-legend{color:var(--grey);font-size:11px}.auth-consent.missing{color:#fca5a5}.auth-consent.missing input[type=checkbox]{outline-offset:2px;border-radius:3px;outline:2px solid #f87171}.auth-choose{gap:14px;padding-top:6px}.auth-signup-form{gap:10px}.auth-signup-form .auth-input{padding:10px 14px;font-size:14px}.auth-signup-form .auth-submit{padding:12px}.auth-signup-form .auth-small{line-height:1.4}.auth-header .auth-logo{margin-bottom:10px}.auth-tabs{margin-bottom:16px}.auth-tab{padding:9px}.auth-header{padding-top:22px}.auth-signup-form{padding-bottom:20px}.auth-signup-form .auth-consents{gap:6px}
