.alert{position:relative;z-index:1;padding:12px 14px;border-radius:12px;font-size:.82rem;font-weight:700;margin-bottom:16px;display:flex;align-items:flex-start;gap:8px;line-height:1.45;animation:shakeIn .45s ease both}.alert-error{background:var(--red-soft);border:1px solid rgba(239,68,68,.35);color:var(--red)}.alert-success{background:var(--green-soft);border:1px solid rgba(16,185,129,.35);color:var(--green)}.hidden{display:none!important}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none;filter:none}.step-dot{color:var(--muted)}.step-line{background:var(--border-strong)}.mobile-wrapper{display:flex;align-items:stretch;background:var(--input-bg);border:1px solid var(--input-border);border-radius:13px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.mobile-wrapper:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.country-code{display:flex;align-items:center;gap:5px;background:var(--card-bg-2);padding:0 14px;font-weight:800;font-size:.88rem;color:var(--text);border-right:1px solid var(--input-border);user-select:none;letter-spacing:.3px}.country-code .flag{font-size:1.05rem}.register-card .mobile-wrapper input{flex:1;min-width:0;width:100%;padding:13px 14px 13px 42px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:13px;font-size:.9rem;font-weight:600;color:var(--text);outline:none;font-family:inherit;letter-spacing:.3px}.register-card .mobile-wrapper input:focus{box-shadow:none}.input-wrap{position:relative}.input-wrap .field-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:.95rem;opacity:.7;pointer-events:none;z-index:1}.register-card input[type=password],.register-card input.pw{width:100%;padding:13px 42px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:13px;font-size:.9rem;font-weight:600;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;letter-spacing:.3px}.eye-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:6px 8px;font-size:1rem;color:var(--muted);transition:color .2s;border-radius:8px;font-family:inherit}.eye-btn:hover{color:var(--green)}.otp-input{padding:13px 14px!important;font-size:1.25rem!important;letter-spacing:10px!important;font-weight:800!important}.login-card input.pw{width:100%;padding:14px 46px 14px 42px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:13px;font-size:.92rem;font-weight:600;color:var(--text);outline:none;font-family:inherit;letter-spacing:.3px}.login-card input.pw:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.login-card .otp-input,.login-card input[type=text]{width:100%;padding:14px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:13px;font-size:.92rem;font-weight:600;color:var(--text);outline:none;font-family:inherit;text-align:center}.login-card .otp-input:focus,.login-card input[type=text]:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.login-card .btn-outline{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text);padding:12px 18px;border-radius:12px;font-weight:800;font-size:.84rem;cursor:pointer;transition:all .2s;width:100%;text-align:center;margin-top:10px;letter-spacing:.3px;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px}.login-card .btn-outline:hover:not(:disabled){border-color:var(--green);color:var(--green)}.login-card .btn-outline:disabled{opacity:.55;cursor:not-allowed}.login-card .timer-text{text-align:center;color:var(--yellow);font-weight:800;font-size:.82rem;margin:0 auto 4px;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.28);border-radius:10px;width:fit-content;letter-spacing:.4px;font-variant-numeric:tabular-nums;position:relative;z-index:1}.login-card .otp-hint{color:var(--muted);font-size:.84rem;line-height:1.5;text-align:center;margin-bottom:16px;position:relative;z-index:1}.login-card .otp-hint strong{color:var(--green);font-weight:800;letter-spacing:.5px}@media screen and (max-width:420px){.logo{font-size:1.2rem!important;letter-spacing:1.2px!important}.logo-wrap{padding:0 30px}}.invite-hint{font-size:.74rem;font-weight:700;margin-top:6px;min-height:0}.invite-hint.ok{color:var(--green)}.invite-hint.bad{color:var(--red)}.register-card input#invite{padding-left:42px}
